partycls
partycls is a Python package for cluster analysis of systems of interacting particles. By grouping particles that share similar structural or dynamical properties, partycls enables rapid and unsupervised exploration of the system’s relevant features. It provides descriptors suitable for applications in condensed matter physics, such as structural analysis of disordered or partially ordered materials, and integrates the necessary tools of unsupervised learning into a streamlined workflow.
You can find a more detailed presentation in our open-access article: “partycls: A Python package for structural clustering” .
Main features
Trajectory formats
partycls accepts several trajectory formats (including custom ones) either through its built-in trajectory reader or via third-party packages, such as MDTraj and atooms. The code is currently optimized for small and medium system sizes (of order \(10^4\) particles). Multiple trajectory frames can be analyzed to extend the structural dataset.
Structural descriptors
partycls implements various structural descriptors:
On top of these native descriptors, partycls supports additional structural descriptors via DScribe.
Unsupervised machine-learning
partycls performs feature scaling, dimensionality reduction and cluster analysis using the scikit-learn package and additional built-in algorithms.
Documentation
Check the tutorials to see various examples and detailed instructions on how to run the code, as well as an in-depth presentation of the built-in structural descriptors.
For a more detailed documentation, you can check the API.