RESUMO
MOTIVATION: The term clustering designates a comprehensive family of unsupervised learning methods allowing to group similar elements into sets called clusters. Geometrical clustering of molecular dynamics (MD) trajectories is a well-established analysis to gain insights into the conformational behavior of simulated systems. However, popular variants collapse when processing relatively long trajectories because of their quadratic memory or time complexity. From the arsenal of clustering algorithms, HDBSCAN stands out as a hierarchical density-based alternative that provides robust differentiation of intimately related elements from noise data. Although a very efficient implementation of this algorithm is available for programming-skilled users (HDBSCAN*), it cannot treat long trajectories under the de facto molecular similarity metric RMSD. RESULTS: Here, we propose MDSCAN, an HDBSCAN-inspired software specifically conceived for non-programmers users to perform memory-efficient RMSD-based clustering of long MD trajectories. Methodological improvements over the original version include the encoding of trajectories as a particular class of vantage-point tree (decreasing time complexity), and a dual-heap approach to construct a quasi-minimum spanning tree (reducing memory complexity). MDSCAN was able to process a trajectory of 1 million frames using the RMSD metric in about 21 h with <8 GB of RAM, a task that would have taken a similar time but more than 32 TB of RAM with the accelerated HDBSCAN* implementation generally used. AVAILABILITY AND IMPLEMENTATION: The source code and documentation of MDSCAN are free and publicly available on GitHub (https://github.com/LQCT/MDScan.git) and as a PyPI package (https://pypi.org/project/mdscan/). SUPPLEMENTARY INFORMATION: Supplementary data are available at Bioinformatics online.
Assuntos
Simulação de Dinâmica Molecular , Software , Análise por Conglomerados , AlgoritmosRESUMO
The growing computational capacity allows the investigation of large biomolecular systems by increasingly extensive molecular dynamics simulations. The resulting huge trajectories demand efficient partition methods to discern relevant structural dissimilarity. Clustering algorithms are available to address this task, but their implementations still need to be improved to gain in computational speed and to reduce the consumption of random access memory. We propose the BitClust code which, based on a combination of Python and C programming languages, performs fast structural clustering of long molecular trajectories. BitClust takes advantage of bitwise operations applied to a bit-encoded pairwise similarity matrix. Our approach allowed us to process a half-million frame trajectory in 6 h using less than 35 GB, a task that is not affordable with any of the similar alternatives.