Skip to main content

a flexible n-ary clustering package for all applications.

Project description

MDANCE (Molecular Dynamics Analysis with N-ary Clustering Ensembles) is a flexible n-ary clustering package that provides a set of tools for clustering Molecular Dynamics trajectories. The package is written in Python and an extension of the n-ary similarity framework. The package is designed to be modular and extensible, allowing for the addition of new clustering algorithms and similarity metrics.

Menu

Installation

$ pip install mdance

To check for proper installation, run the following command:

>>> import mdance
>>> mdance.__version__

Background

Molecular Dynamics (MD) simulations are a powerful tool for studying the dynamics of biomolecules. However, the analysis of MD trajectories is challenging due to the large amount of data generated. Clustering is an unsupervised machine learning approach to group similar frames into clusters. The clustering results can be used to reveal the structure of the data, identify the most representative structures, and to study the dynamics of the system.

Clustering Algorithms

NANI

🪄NANI🪄the first installment of MDANCE

k-Means N-Ary Natural Initiation (NANI) is an algorithm for selecting initial centroids for k-Means clustering. NANI is an extension of the k-Means++ algorithm. NANI stratifies the data to high density region and perform diversity selection on top of the it to select the initial centroids. This is a deterministic algorithm that will always select the same initial centroids for the same dataset and improve on k-means++ by reducing the number of iterations required to converge and improve the clustering quality.

Example Usage:

>>> from mdance.cluster.nani import KmeansNANI
>>> data = np.load('data.npy')
>>> N = 4
>>> mod = KmeansNANI(data, n_clusters=N, metric='MSD', N_atoms=1)
>>> initiators = mod.initiate_kmeans()
>>> initiators = initiators[:N]
>>> kmeans = KMeans(N, init=initiators, n_init=1, random_state=None)
>>> kmeans.fit(data)
Open In Colab

A tutorial is available for NANI here.

For more information on the NANI algorithm, please refer to the NANI paper.

eQual

eQual is a O*(N)* clustering algorithm that use the radial threshold to grow the cluster to maximize similarity between members in a cluster. It is an extension of the Radial Threshold Clustering algorithm (Daura and Oscar Conchillo-Solé). eQual has improved with new seed selection methods and tie-breaking criteria.

A tutorial is available for eQual here.

For more information on the eQual algorithm, please refer to the eQual preprint.

SHINE

Pathway Analysis SHINE!

Sampling Hierarchical Intrinsic N-ary Ensembles (SHINE) is a hierarchical clustering tool for pathway analysis. This can be particularly useful if you want to identical the dominant pathway(s) of your enhanced sampling simulations.

A tutorial is available for SHINE here.

For more information on the SHINE algorithm, please refer to the SHINE preprint.

HELM

HELM is a hierarchical agglomerative clustering algorithm that uses the n-ary similarity to merge clusters at each level. It transformed from the traditional hierarchical clustering algorithm to be more efficient and scalable turning a $O(N^2)$ algorithm to $O(N)$. It specializes in recognizing dominant conformations within an ensemble and is often used alongside NANI to achieve a balance between efficiency and precision.

A tutorial is available for HELM here.

Clustering Postprocessing

PRIME

🪄 Predict Protein Structure with Precision 🪄

Protein Retrieval via Integrative Molecular Ensembles (PRIME) is a novel algorithm that predicts the native structure of a protein from simulation or clustering data. These methods perfectly mapped all the structural motifs in the studied systems and required unprecedented linear scaling.

2k2e
Fig 1. Superposition of the most representative structures found with extended indices (yellow) and experimental native structures (blue) of 2k2e.

A tutorial is available for PRIME here.

For more information on the PRIME algorithm, please refer to the PRIME paper.

Notes

Research contained in this package was supported by the National Institute of General Medical Sciences of the National Institutes of Health under award number R35GM150620.

Collab or Contribute?! Please! Don't hesitate to reach out!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdance-0.3.7.tar.gz (31.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mdance-0.3.7-py3-none-any.whl (31.1 MB view details)

Uploaded Python 3

File details

Details for the file mdance-0.3.7.tar.gz.

File metadata

  • Download URL: mdance-0.3.7.tar.gz
  • Upload date:
  • Size: 31.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for mdance-0.3.7.tar.gz
Algorithm Hash digest
SHA256 c923a9ca9848b0276e2619dd83d7c2cb8759e993d20feb63d811b84b14ce4892
MD5 44fbd092903b9e1567b2edb7a3f92153
BLAKE2b-256 2f40a9224a2a587214bbd2029dcdeaa20bbd4b813fd1929f6d3d3d3b2d7f1ac3

See more details on using hashes here.

File details

Details for the file mdance-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: mdance-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 31.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for mdance-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 75f6e399c4c03acb484d583c533ab5c9c4ce891ad3a1bf6ef1cb9849dc073525
MD5 4a72bdee2d73ec387b882c9ac7c02dcb
BLAKE2b-256 9f4de9d68a5945f34317c2e5fa191678ce3791c38167dac4091363f7da11723a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page