Loos: A Tool for Making New Tools for Analyzing Molecular Simulations

We have developed LOOS (Lightweight Object Oriented Structure-analysis) as a tool for making new tools for analyzing molecular simulations. LOOS is an object-oriented library designed to facilitate the rapid development of new methods for structural analysis. LOOS includes over 120 pre-built tools for common structural analysis tasks, such as assessing the convergence of simulations, hydrogen bonding patterns, and the construction and visualization of 3D histograms as density. LOOS supports reading the native file formats of most common simulation packages, including AMBER, CHARMM, Gromacs, NAMD, and Tinker and can write NAMD formats (PDB and DCD). A dynamic atom selection language, based on the C expression syntax, is included as part of the library and is easily accessible to both the programmer and the end user. LOOS is written in C++ and makes extensive use of Boost and the Standard Template Library. Through modern C++ design, LOOS is both simple to use (requiring knowledge of only 4 core classes and a few utility functions) and easily extensible. A Python interface to the core components of LOOS is also available, further facilitating rapid development of analysis tools and broadening the LOOS community by making it accessible to those who would otherwise be deterred by using C++. LOOS also includes a set of libraries and tools for performing elastic network model calculations that are easily extended to accommodate new methods.