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.
- Host: GitHub
- URL: https://github.com/glotzerlab/dupin
- Owner: glotzerlab
- License: bsd-3-clause
- Created: 2021-02-16T19:57:25.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-07-08T22:03:26.000Z (11 months ago)
- Last Synced: 2025-07-08T23:20:15.734Z (11 months ago)
- Language: Python
- Size: 10 MB
- Stars: 5
- Watchers: 9
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: changelog.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Authors: AUTHORS.rst
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 `_.