An open API service indexing awesome lists of open source software.

https://github.com/glotzerlab/dupin

Package for detecting rare events in molecular simulations.
https://github.com/glotzerlab/dupin

Last synced: 11 months ago
JSON representation

Package for detecting rare events in molecular simulations.

Awesome Lists containing this project

README

          

=====
dupin
=====

|Cite|
|Github-Stars|

.. |Cite| image:: https://img.shields.io/badge/dupin-cite-yellow
:target: https://dupin.readthedocs.io/en/latest/citing.html
.. |GitHub-Stars| image:: https://img.shields.io/github/stars/glotzerlab/dupin.svg
:target: https://github.com/glotzerlab/dupin

Welcome to ``dupin`` a Python package for detecting rare events in molecular simulations.

Overview
--------

**dupin** is designed to provide an unopinionated Python API for partitioning temporal point cloud data into regions of stability and transition.
Generally such data comes from molecular simulations or experimental imaging techniques.
For example, if a researcher imaged gold nanoparticles nucleating into FCC crystal, **dupin** could help to partition the system into the initial fluid, transition, and crystal regions of the point cloud trajectory.
Though, **dupin** attempts to be general and *unopinionated* we provide sensible defaults and do not sacrifice ease of use for customizability.

Resources
---------
- `Documentation `__: Read our API documentation.
- `Installation Guide `__: Look at our installation guide.
- `GitHub Repository `__: Check out the source code.
- `Issue Tracker `__: File a bug report or pull request.

Related Tools
-------------

- `HOOMD-blue `__: Molecular simulation engine
- `freud `__: Molecular trajectory analysis
- `ruptures `__: Change point decection library
- `kneed `__: Elbow detection library

Example
-------

.. code-block:: python

import dupin as du
import numpy as np
import ruptures as rpt

signal = np.load("signal.npy")
dynp = rpt.Dynp(custom_cost=du.detect.CostLinearFit())
detector = du.detect.SweepDetector(dynp, 8)

chps = detector.fit(signal)

.. image:: docs/_static/detect.gif

Credits
-------

This package was created with `Cookiecutter `_ based on a
modified version of `audreyr/cookiecutter-pypackage `_.