Skip to main content

MDANSE Core package - Molecular Dynamics trajectory handling and analysis code

Project description

MDANSE

MDANSE Python Module

This is the module containing the command-line utilities and libraries of the Molecular Dynamics Analysis for Neutron Scattering Experiments (MDANSE) software package.

If you would like to use a graphical user interface, you will need to install also the MDANSE_GUI package.

Molecular Dynamics Analysis for Neutron Scattering Experiments

MDANSE is a Python package designed for analysing molecular dynamics (MD) trajectories. One of its functions is calculating the expected results of neutron scattering experiments. The results can be directly compared with neutron scattering experiment results, particularly inelastic and quasi-elastic neutron scattering spectroscopies.

MDANSE contains a family of converters which can be used to transform MD trajectory files into HDF5 files (.MDT format). These are then used as input for MDANSE analysis runs. The analysis results can be saved as HDF5 files, or in text format.

While the MDANSE package is sufficient to perform the analysis, we recommend to install the MDANSE_GUI package as well, which makes it easier to create analysis scripts with valid input parameters, and can visualise both the trajectory and the analysis results.

This project is built on the development published previously:
G. Goret, B. Aoun, E. Pellegrini, "MDANSE: An Interactive Analysis Environment for Molecular Dynamics Simulations", J Chem Inf Model. 57(1):1-5 (2017).

Version information

This is the first release of MDANSE 2.0.0.

[!NOTE] Considering the large number of different MD engines and analysis types, it is still possible that some conversion or analysis runs will not produce the expected results. Please report any problems you experience while using MDANSE by adding them to the GitHub issue tracker. You can also send a message to MDANSE-help@stfc.ac.uk to get in touch with MDANSE developers.

Quick start: installation

We recommend that you install MDANSE in a Python virtual environment. You can create a virtual environment named mdanse_env by typing

python3 -m venv mdanse_env

To activate your virtual environment, type

source mdanse_env/bin/activate

in a bash console, or

mdanse_end\Scripts\activate.bat

if you are using cmd.exe on Windows.

While your virtual environment is active, you can install MDANSE:

pip install MDANSE

which will allow you to execute MDANSE scripts, as long as your virtual environment is active. (This means that you will have to activate it when you start a new shell.)

If you are using a virtual environment in which you had installed MDANSE in the past, you can upgrade MDANSE to the current version by typing:

pip install --upgrade MDANSE

If you experience problems with the installation, you may want to upgrade pip

pip install --upgrade pip

and try again.

Optional dependencies

Most users prefer to install MDANSE_GUI alongside MDANSE, and use the GUI to convert, analyse and view trajectories and to visualise results.

Users who prefer running MDANSE scripts in the command line can include optional dependencies by installing MDANSE with

pip install mdanse[cli]

This will install tqdm, which will then be used to display a progress bar when an MDANSE script is running in the shell.

Quick start: workflow

The typical workflow of MDANSE:

  1. Convert a trajectory from the file format generated by an MD simulation software into the MDANSE trajectory format,
  2. Load the converted trajectory into MDANSE,
  3. Perform an analysis,
  4. Check the results with the plotter.

The most complete user documentation of MDANSE can be found on our Read the Docs page.

Other information, including tutorials, can be found in the MDANSE-Examples repository.

What can MDANSE do?

Firstly, MDANSE can read the output of MD simulation software. It does this by providing converters for different file formats into an .MDT file (HDF format), which is then used for all calculations. General-purpose converters are implemented using external libraries:

  • ASE,
  • MDAnalysis,
  • MDTraj,

which means that if your trajectories have worked with any of these libraries, then you can expect them to work with MDANSE too. Additionally, the following converters for specific MD packages are supported:

  • CASTEP
  • CHARMM
  • CP2K
  • DCD
  • DFTB
  • DL_POLY
  • Forcite
  • Gromacs
  • LAMMPS
  • NAMD
  • VASP
  • XPLOR

The converted trajectory can then be loaded into MDANSE, where it can be visualised via the Molecular Viewer and animated. Then, various properties can be calculated, which can be compared with neutron (or, for some analysis types, with X-ray) experimental data, or used as a prediction of results of a potential experiment. The following properties can be computed:

Dynamics
  • Density of States
  • Mean Square Displacement
  • Position Correlation Function
  • Position Power Spectrum
  • Reorientational Time Correlation Function
  • Root Mean Square Deviation
  • Root Mean Square Fluctuation
  • van Hove function (self)
  • van Hove function (distinct)
  • Velocity Correlation Function
Infrared
  • Dipole Autocorrelation Function
  • Infrared
Scattering
  • Current Correlation Function
  • Dynamic Coherent Structure Factor
  • Dynamic Incoherent Structure Factor
  • Elastic Incoherent Structure Factor
  • Gaussian Dynamic Incoherent Structure Factor
  • Neutron Dynamic Total Structure Factor
  • Scattering Length Density Profile
  • Static Structure Factor
  • Structure Factor from Scattering Function
  • X-Ray Static Structure Factor
Structure
  • Area Per Molecule
  • Coordination Number
  • Eccentricity
  • Molecular Trace
  • Pair Distribution Function
  • Radius of Gyration
  • Solvent Accessible Surface
  • Voronoi (volume per atom)
Thermodynamics
  • Density
  • Temperature
Trajectory
  • Average Structure
  • Center of Masses Trajectory
  • Trajectory Editor
  • Trajectory Filter

Each of these analyses can be controlled using a number of parameters. For example, the user can select a subset of trajectory frames or a subset of atoms on which to perform the calculation, or specified atoms can be substituted with different elements/isotopes. Finally, their results can be saved in an MDA file (HDF5 format), or a set of DAT files (text format), and those can then be plotted directly in MDANSE.

More detailed information on how MDANSE works, what it can do, and the science can all be found on our Read the Docs page.

Citing MDANSE

If you used MDANSE in your research, please cite it according to the CITATION.cff file in the MDANSE GitHub repository. On GitHub, you can use the "cite this repository" link to generate the citation.

License

MDANSE is licensed under GPL-3.0. See LICENSE for more information.

Acknowledgements

MDANSE started as a fork of version 3 of the nMOLDYN program. nMOLDYN was originally developed by Gerald Kneller in 1995 and subsequently also by Konrad Hinsen, Tomasz Rog, Krzysztof Murzyn, Slawomir Stachura, and Eric Pellegrini. MDANSE includes most of the code of nMOLDYN3, and also code from the libraries MMTK, ScientificPython and MDTraj.

For more information see:

nMoldyn 3: Using task farming for a parallel spectroscopy-oriented analysis of molecular dynamics simulations. K. Hinsen, E. Pellegrini, S. Stachura, G.R. Kneller J. Comput. Chem. (2012) 33:2043-2048 [https://doi.org/10.1002/jcc.23035][https://doi.org/10.1002/jcc.23035].

We are grateful to all the people who have helped in some way or another to improve nMOLDYN and/or MDANSE along those years. Apart from the main developers mentioned above, we would like to acknowledge explicitly the contributions done in the past by Bachir Aoun, Vania Calandrini, Paolo Calligari, Gael Goret, Remi Perenon and Rastislav Turanyi.

The MDANSE project is supported by ISIS Neutron and Muon Source, Science and Technology Facilities Council, UKRI. In the past, it was supported by Ada Lovelace Centre and the Institut Laue-Langevin (Grenoble, France). Past financial support from the French Agence Nationale de la Recherche (ANR) through contracts No. ANR-2010-COSI-001-01 and ANR-06-CIS6-012-01, and the Horizon 2020 Framework Programme of the European Union under project number 654000 is also acknowledged.

Joining the project

MDANSE is currently maintained and developed by software developers from ISIS and ILL, but we are fully open to new collaborators who would like to contribute code, documentation, tutorials or usage examples. If you want to join the project contact:

Dr. Sanghamitra Mukhopadhyay (sanghamitra.mukhopadhyay@stfc.ac.uk)
ISIS Neutron and Muon Source
Rutherford Appleton Laboratory
Didcot, UK

Software Inquiries

You are welcome to use the issue tracker to submit ideas for extending the MDANSE code or to report problems you encountered. However, if you prefer to contact the MDANSE developers directly, you can send us a message:

MDANSE Help (MDANSE-help@stfc.ac.uk)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdanse-2.0.0.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mdanse-2.0.0-py3-none-any.whl (522.5 kB view details)

Uploaded Python 3

File details

Details for the file mdanse-2.0.0.tar.gz.

File metadata

  • Download URL: mdanse-2.0.0.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for mdanse-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1d71811f1079afedd7c7ff555bcc11ee681d6e0f355e2d15f45a622832156bc1
MD5 b6b4213c9f6648491d08acde7c2dca7f
BLAKE2b-256 21ca05de779f1abd31526abd482b720d5ff2b313d0c250770efa85aaeed83ac9

See more details on using hashes here.

File details

Details for the file mdanse-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: mdanse-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 522.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for mdanse-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7df28834a53a45315f9b17cdbd5b7e0a27ce645bbeed0a68d63db7a0f18229a
MD5 1ebc36c5ebecd28e0d0a06e04f6fdee4
BLAKE2b-256 9792a27f048c59da3190006030ae1dec9eb89a3c6d9ae73b7e03c32b8dac5ec3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page