/mdanalysis

MDAnalysis is a Python library to analyze molecular dynamics trajectories.

Primary LanguagePythonOtherNOASSERTION

MDAnalysis Repository README

Powered by NumFOCUS Build Status Coverage Status [*]

Documentation (latest release) Documentation (development version) User Google Group Developer Google Group Anaconda My Binder

MDAnalysis is a Python library for the analysis of computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. It is widely used in the scientific community and is written by scientists for scientists.

It works with a a wide range of popular simulation packages including Gromacs, Amber, NAMD, CHARMM, DL_Poly, HooMD, LAMMPS and many other — see the lists of supported trajectory formats and topology formats. MDAnalysis also includes widely used analysis algorithms in the MDAnalysis.analysis module.

The MDAnalysis project uses an open governance model and is fiscally sponsored by NumFOCUS. Consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

NumFOCUS

This project is bound by a Code of Conduct.

Example analysis script

import MDAnalysis as mda

# Load simulation results with a single line
u = mda.Universe('topol.tpr','traj.trr')

# Select atoms
ag = u.select_atoms('name OH')

# Atom data made available as Numpy arrays
ag.positions
ag.velocities
ag.forces

# Iterate through trajectories
for ts in u.trajectory:
    print(ag.center_of_mass())

There are a number of tutorials on the MDAnalysis homepage that explain how to conduct RMSD calculations, Alignment and many more features of MDAnalysis.

Source code

Source code is hosted in a git repository at

https://github.com/MDAnalysis/mdanalysis

and is available under the GNU General Public License, version 2 (see the file LICENSE).

This is the top level of the master repository. It contains

  1. the MDAnalysis toolkit source files in the directory

    package/
    
  2. the unit tests together with any input files required for running those tests in the directory

    testsuite/
    

The directory maintainer contains scripts only needed for maintaining releases and are not generally useful for the user or the typical developer.

(For more details on the directory layout see Issue 87 on the MDAnalysis issue tracker.)

Guide for Developers

To setup a development environment and run the testsuite you can use this guide. If you are a new developer who would like to start contributing to MDAnalysis as a start you can increase our code coverage, the guides explain how to find uncovered code.

[*]build: Unit testing is for the whole package; coverage is shown for the core library modules and the analysis modules.