-
Notifications
You must be signed in to change notification settings - Fork 652
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.
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
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-NAME
oreasy_install APPLICATION-NAME
. - 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.
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.
- RotamerConvolveMD: analysis of spin-spin label distances
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.