Skip to main content

Fast and memory-efficient clustering of long Molecular Dynamics

Project description

BitClust: Fast and memory-efficient clustering of long Molecular Dynamics

Home Page

BitClust´s latest documentation is available here

Description

BitClust is a Python command-line interface (CLI) conceived for fast clustering of relatively long Molecular Dynamics trajectories following Daura's algorithm [1]. Retrieved clusters are roughly equivalent to those reported by VMD's internal command measure cluster but they are computed in a much faster way (see benchmark section for more details).

Motivation

Nowadays very long simulations are carried on routinely. Enhanced sampling methods like metadynamics, REMD, and accelerated dynamics allow escaping from potential energy minima, returning trajectories that are conformationally sparsed and where every cluster can be potentially important to detect and analyze. Improvements on software designed to address this task is an important field of research.

BitClust offer is a classical tradeoff; RAM for speed. It can calculate all pairwise distances between frames to run a clustering job and then store them in memory instead of recalculating them whenever a cluster is found. It is worth noting that used memory has been deeply optimized by encoding similarity distances as bits (0 if the distance is less equal than a specified threshold, 1 otherwise). This encoding result in a storage reduction as high as 32X/64X compared to similar algorithms that saves the same information as single-precision/double-precision float values.

Main Dependencies

BitClust is built on the shoulders of two giants:

  • MDTraj software that allows a very fast calculation of RMSD pairwise distances between all frames of trajectories in a parallelized fashion and

  • bitarray third-party python library which offers a memory-efficient data structure of bit-vectors (bit arrays) and a set of bitwise operations that are the very heart of our clustering implementation.

Citation

If you make use of BitClust in your scientific work, BitCool and cite it ;)

Licence

BitClust is licensed under GNU General Public License v3.0.

Reference

[1] Daura, X.; van Gunsteren, W. F.; Jaun, B.; Mark, A. E.; Gademann, K.; Seebach, D. Peptide Folding: When Simulation Meets Experiment. Angew. Chemie Int. Ed. 1999, 38 (1/2), 236–240.

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

bitclust-0.0.12.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

bitclust-0.0.12-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file bitclust-0.0.12.tar.gz.

File metadata

  • Download URL: bitclust-0.0.12.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for bitclust-0.0.12.tar.gz
Algorithm Hash digest
SHA256 1f55ba8b2c6afc39367f8f66c100ec2752b5f9f47ded5a29bb1755c31d1bbd5e
MD5 c8af97616f8a43eef11534b3729cc2a5
BLAKE2b-256 34fa3571e2df58263f6165bdbee63b396c935412d9aa13207364e19f4527b566

See more details on using hashes here.

File details

Details for the file bitclust-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: bitclust-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for bitclust-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 88275907909513abb4dd1c9ef6db4d727ecc6ad1765c96e228ea29ed3bbe9a83
MD5 6d7bb0ecadc8d22b8daa03f991477f27
BLAKE2b-256 171961acf65c8e75fba999002a285eb5fbf459b3df690fc80b54aeb2480a44cb

See more details on using hashes here.

Supported by

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