MolAR: memory-safe library for analysis of MD simulations written in Rust
Preprint
Abstract
Transition to the memory safe natively compiled programming languages is a major software development trend in recent years, which eliminates memory-related security exploits, enables a fearless concurrency and parallelization, and drastically improves ergonomics and speed of software development. Modern memory-safe programing languages, such as Rust, are currently not used for developing molecular modeling and simulation software despite such obvious benefits as faster development cycle, better performance and smaller amount of bugs. In this work we present MolAR -the first memory-safe library for analysis of MD simulations written in Rust. MolAR is intended to explore the advantages and challenges of implementing molecular analysis software in the memory-safe natively compiled language and to develop specific memory-safe abstractions for this kind of software. MolAR demonstrates an excellent performance in benchmarks outperforming popular molecular analysis libraries, which makes it attractive for implementing computationally intensive analysis tasks. MolAR is freely available under Artistic License 2.0 at https://github.com/yesint/molar .Keywords
All Related Versions
- Published version: Journal of Computational Chemistry, 46 (1), e27536.
This publication has 11 references indexed in Scilit:
- Rust's Memory Safety Model: An Evaluation of Its Effectiveness in Preventing Common VulnerabilitiesProcedia Computer Science, 2023
- The Meaning of Memory Safety2018
- MDTraj: A Modern Open Library for the Analysis of Molecular Dynamics TrajectoriesBiophysical Journal, 2015
- GROMACS: High performance molecular simulations through multi-level parallelism from laptops to supercomputersSoftwareX, 2015
- Pteros 2.0: Evolution of the fast parallel molecular analysis library for C++ and pythonJournal of Computational Chemistry, 2015
- Pteros: Fast and easy to use open‐source C++ library for molecular analysisJournal of Computational Chemistry, 2012
- Derivatives of molecular surface area and volume: Simple and exact analytical formulasJournal of Computational Chemistry, 2011
- MDAnalysis: A toolkit for the analysis of molecular dynamics simulationsJournal of Computational Chemistry, 2011
- A comparison of common programming languages used in bioinformaticsBMC Bioinformatics, 2008
- VMD: Visual molecular dynamicsJournal of Molecular Graphics, 1996