Skip to content
Oliver Beckstein edited this page Apr 2, 2019 · 5 revisions

Applications

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 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.py and related files to facilitate installation with e.g. python setup.py install
  • documentation
  • examples
  • 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:

  1. If the application is hosted on the Python package index then you might be able to simply say pip install APPLICATION-NAME or easy_install APPLICATION-NAME.
  2. 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

Developer information

An "application" is a self-contained Python package 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 repository of that name. You can create a repository under the MDAnalysis org. Typically, you will be only one working on this repository 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
  • setup.py
  • installable scripts (this is how a user would typically make use of the application)
  • documentation
    • usage information and an example
    • data to execute the example
    • citation information (if applicable) a LICENSE file; note that your license must be compatible with GPL v2 (or GPL v3 if you choose to use MDAnalysis under GPL v3).

If you want your application hosted with MDAnalysis then get in touch on the developer mailing list.

Adding the application to the Python Package Index (PyPi) is encouraged.

Clone this wiki locally