This is a set of python modules based on the OpenStructure framework and mainly aimed at performing various analyses of molecular dynamics simulations but also offers some functions for sequences and molecular structures.
The functions are roughly clustered into modules, which are rather strongly interdependent. These modules provide functions for classical analyses of MD trajectories such as principal components analysis, correlations (covariance, mutual information), helper functions to make nice movies, but also more advanced analysis tools notably for simulations of lipidic systems. For example there are functions to align frames from a simulation of complex lipidic assemblies and calculate the local curvatures of the membrane (see ref. [2] and [3]), or to extract the elastic moduli of the membrane from the simulation (ref. [4], [5] and [6]).
Several modules from this set have already been moved into OpenStructure, as for example for calculating alpha helical kink angles (mol.alg.helix_kinks), hbonds (mol.alg.hbond) or basic functions for structure and trajectory analysis (mol.alg.structure_analysis and mol.alg.trajectory_analysis). Some of the modules or functions in the modules presented here might also migrate into OpenStructure in the future.
Be aware that these modules depend on OpenStructure and on several standard scientific python packages. Help on installation and basic usage can be found here.
Some functions to work on sequences and alignments (e.g. search for motifs)
If you use any of this code, please cite ref. [1] for the use of OpenStructure. Moreover if you use this code to align trajectories using the densities, please cite ref. [2], for calculations of curvature please cite ref. [3] and for calulations of lipid elastic properties please cite ref. [4]. The theory behind the calculation of elastic properties and some applications can be found in refs. [5] and [6].
Moreover some of these modules also depend on other python libraries, notably numpy, scipy and matplotlib. If you use any function from this library in your work, please cite numpy (for example ref. [7]). If you use any plots generated by these modules please cite matplotlib (ref. [8]). Finally if you use these modules to align trajectories, calculate membrane elastic properties or for clustering please cite scipy (ref. [9]). Other appropriate citations for these tools can be found on the scipy website
[1] | Marco Biasini, T. Schmidt, S. Bienert, V. Mariani, G. Studer, J. Haas, N. Johner, A.D. Schenk, A. Philippsen and T. Schwede, “OpenStructure: an integrated software framework for computational structural biology”, Acta Cryst., 2013 |
[2] | (1, 2) George Khelashvili, P. Blecua Carrillo Albornoz, N. Johner, S. Mondal, M. Caffrey, and H. Weinstein. “Why GPCRs Behave Differently in Cubic and Lamellar Lipidic Mesophases.”, Journal of the American Chemical Society 134, no. 38 (September 26, 2012): 15858–68. |
[3] | (1, 2) Niklaus Johner, S. Mondal, G. Morra, M. Caffrey, H. Weinstein, and G. Khelashvili. “Protein and Lipid Interactions Driving Molecular Mechanisms of in Meso Crystallization.” Journal of the American Chemical Society 136, no. 8 (February 26, 2014): 3271–84. |
[4] | (1, 2) Niklaus Johner, D. Harries and G. Khelashvili, “Implementation of a methodology for determining elastic properties of lipid assemblies from molecular dynamics simulations”, submitted to BMC Bioinformatics (2015) |
[5] | (1, 2) George Khelashvili, N. Johner, G. Zhao, D. Harries, and H. L. Scott. “Molecular Origins of Bending Rigidity in Lipids with Isolated and Conjugated Double Bonds: The Effect of Cholesterol.” Chemistry and Physics of Lipids 178 (February 2014): 18–26. |
[6] | (1, 2) Niklaus Johner, D. Harries, and G. Khelashvili. “Curvature and Lipid Packing Modulate the Elastic Properties of Lipid Assemblies: Comparing HII and Lamellar Phases.” The Journal of Physical Chemistry Letters 5, no. 23 (December 4, 2014): 4201–6. |
[7] | Stéfan van der Walt, S. C. Colbert and G. Varoquaux. “The NumPy Array: A Structure for Efficient Numerical Computation”, Computing in Science & Engineering, 13, 22-30 (2011) |
[8] | John D. Hunter. Matplotlib: A 2D Graphics Environment, Computing in Science & Engineering, 9, 90-95 (2007) |
[9] | Jones E, Oliphant E, Peterson P, et al. “SciPy: Open Source Scientific Tools for Python”, 2001, http://www.scipy.org/ |