Skip to content

glotzerlab/dupin

Repository files navigation

dupin

Cite GitHub-Stars

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

Related Tools

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

Example

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)

docs/_static/detect.gif

Credits

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