4. Analysis modules
MDAnalysis.analysis module contains code to carry out specific
analysis functionality for MD trajectories.
It is based on the core functionality (i.e. trajectory
I/O, selections etc). The analysis modules can be used as examples for how to
use MDAnalysis but also as working code for research projects; typically all
contributed code has been used by the authors in their own work.
An analysis using the available modules
usually follows the same structure
Import the desired module, since analysis modules are not imported by default.
Initialize the analysis class instance from the previously imported module.
Run the analysis, optionally for specific trajectory slices.
Access the analysis from the
from MDAnalysis.analysis import ExampleAnalysisModule # (e.g. RMSD) analysis_obj = ExampleAnalysisModule.AnalysisClass(universe, ...) analysis_obj.run(start=start_frame, stop=stop_frame, step=step) print(analysis_obj.results)
Please see the individual module documentation for any specific caveats and also read and cite the reference papers associated with these algorithms.
Some of the modules in
MDAnalysis.analysis require additional Python
packages to enable full functionality. For example,
MDAnalysis.analysis.encore provides more options if scikit-learn is
installed. If you installed MDAnalysis with
pip (see Installing MDAnalysis)
these packages are not automatically installed.
Although, one can add the
[analysis] tag to the
pip command to force their installation. If you installed
MDAnalysis with conda then a
full set of dependencies is automatically installed.
Other modules require external programs. For instance, the
MDAnalysis.analysis.hole2.hole module requires an installation of the
HOLE suite of programs. You will need to install these external dependencies
by following their installation instructions before you can use the
corresponding MDAnalysis module.
4.1. Building blocks for Analysis
The building block for the analysis modules is
To build your own analysis class start by reading the documentation.
4.2. Distances and contacts
- 4.2.1. Coordinate fitting and alignment —
- 4.2.2. Native contacts analysis —
- 4.2.3. Distance analysis —
- 4.2.4. Simple atomic distance analysis —
- 4.2.5. Calculating root mean square quantities —
- 4.2.6. Calculating path similarity —
- 4.2.7. ENCORE Ensemble Similarity Calculations —
- 4.2.8. Bond-Angle-Torsion coordinates analysis —
4.3. Hydrogen bonding
4.4. Membranes and membrane proteins
4.5. Nucleic acids
4.8. Volumetric analysis
4.9. Dimensionality Reduction
4.10. Legacy analysis modules
MDAnalysis.analysis.legacy module contains code that for a
range of reasons is not as well maintained and tested as the other
analysis modules. Use with care.