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 compared to similar algorithms that saves the same information as single-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.9.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

bitclust-0.0.9-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bitclust-0.0.9.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for bitclust-0.0.9.tar.gz
Algorithm Hash digest
SHA256 c87313704d0c9563f38ce4b6626adc1d9beacfcdf8ca07c5c2de48879674306a
MD5 d1751ef268da16260f2eb3b743171be0
BLAKE2b-256 1af9b89d3b101a6de2d74121ebc423690e4d65798ea75c3dd82f63f6061d36bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bitclust-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for bitclust-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1d15c802488e2d11bb472c624d9551543045e3822c3f4b6746357da274d73f31
MD5 28112c66dcab68e470fef9bdae271e2f
BLAKE2b-256 2a228710a0f5091c3639c72e6c1d6ca307be6b303419a09c3d0e8ff737889157

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