Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
MDAnalysis is a library that facilitates the construction of software tools that can perform novel analysis tasks. Some tools are shipped with MDAnalysis in the MDAnalysis.analysis module and example scripts in the examples directory of the source distribution. There are also self-contained Python packages that depend on MDAnalysis but are installed separately (effectively since MDAnalysis 0.8). We refer to them as applications.
What is a MDAnalysis application?
A MDAnalysis application is a self-contained Python package that makes use of MDAnalysis for some of its core functionality but is distributed independently from the MDAnalysis package itself.
A typical application consists of
- python scripts that run the analysis task
- support library
setup.pyand related files to facilitate installation with e.g.
python setup.py install
- test cases
How to download and install an application?
There are typically multiple ways to obtain and install from source although not all of them might be applicable for all applications:
- If the application is hosted on the Python package index then you might be able to simply say
pip install APPLICATION-NAMEor
- You should always be able to obtain the source. Applications are hosted at https://github.com/MDAnalysis.
If you haven't installed MDAnalysis itself yet then the application will try to do this automatically. If this fails then you should first try to install MDAnalysis yourself and then install the application. Feel free to ask for help on the user mailing list.
Using an application
Each application should come with documentation that explains how to use it after it has been installed. Typically, you will have to run a Python script that was installed into your system.
List of applications
- RotamerConvolveMD: analysis of spin-spin label distances
The applications/ top level directory of the MDAnalysis repository contains self-contained Python packages that make use of MDAnalysis as their primary dependency. Each package should be installable on its own but make use of dependency mechanisms to automatically install MDAnalysis (and other required packages).
The idea is that an interested user can easily install a particular application without having to worry too much about MDAnalysis itself.
As a developer, you should pick a good name and store your complete package in a directory of that name. Typically, you will be only one working on this directory but because of the open source nature of the whole MDAnalysis project, other users might also start contributing. It is up to you to communicate with users on how to coordinate development.
Each application should contain
- code in a Python module or package
- installable scripts (this is how a user would typically make use of the application)
- usage information and an example
- data to execute the example
- citation information (if applicable)
If you want your application hosted with MDAnalysis then get in touch on the developer mailing list.
Source code tarballs and possibly egg archives can be hosted on the download page. Adding the application to the Python Package Index (PyPi) is encouraged.