Code Monkey home page Code Monkey logo

mdanse's Introduction

MDANSE

Molecular Dynamics Analysis for Neutron Scattering Experiments

MDANSE is a Python application designed for computing neutron observables from molecular dynamics (MD) trajectories. The results can be directly compared with neutron scattering experiments, particularly inelastic and quasi-elastic neutron scattering spectroscopies.

To do this, it interfaces with a variety of MD simulation software such as CASTEP, VASP, DMOL, Gromacs, DL_POLY, CHARMM, LAMMPS, PBD, DFTB etc., and provides both a graphical user interface (GUI) and a command line interface.

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 development version of MDANSE. The main difference compared to the previous version is the transition from Python 2 to Python 3, and from wxWidgets to Qt. The previous version, formerly in the 'develop' branch, can now be found in the legacy branch.

The current version of MDANSE is currently still at the alpha stage. You can help it advance to the beta stage by reporting problems you experience while using MDANSE.

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 MDANSE_GUI

and start the graphical interface by typing

mdanse_gui

Installation: development version

At the moment MDANSE and MDANSE_GUI are undergoing frequent changes. If you would like to try out the latest development version, you can install directly from GitHub using pip:

python3 -m pip install "git+https://github.com/ISISNeutronMuon/MDANSE@protos#egg=MDANSE&subdirectory=MDANSE"
python3 -m pip install "git+https://github.com/ISISNeutronMuon/MDANSE@protos#egg=MDANSE_GUI&subdirectory=MDANSE_GUI"

Quick start: the 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. At the same time, it is still possible to access the original MDANSE User Guide.

Other information including example scripts can be found on the MDANSE website

What can MDANSE do?

Firstly, MDANSE can interface with 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. The following MD packages are supported:

  • CASTEP
  • CHARMM
  • DFTB
  • Discover
  • DL_POLY
  • DMol
  • Forcite
  • Gromacs
  • LAMMPS
  • NAMD
  • PDB
  • VASP
  • XPLOR
  • ASE

The converted trajectory can then be loaded into MDANSE, where it can be visualised via the Molecular Viewer and animated. Various trajectory variables (positions, velocities, and forces) can also be plotted for each particle. 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
  • Angular correlation
  • Density of states
  • Mean Square Displacement
  • Order parameter
  • Position Autocorrelation Function
  • Velocity Autocorrelation 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
Structural
  • Area Per Molecule
  • Coordination Number
  • Density Profile
  • Eccentricity
  • Molecular Trace
  • Pair Distribution Function
  • Root Mean Square Deviation
  • Root Mean Square Fluctuation
  • Radius of Gyration
  • Solvent Accessible Surface
  • Spatial Density
  • Static Structure Factor
  • Voronoi (volume per atom)
  • X-Ray Static Structure Factor
Thermodynamics
  • Density
  • Temperature

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 the following paper:

MDANSE: An Interactive Analysis Environment for Molecular Dynamics Simulations. G. Goret, B. Aoun, E. Pellegrini. J Chem Inf Model. (2017) 57(1):1-5.

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 Ada Lovelace Centre, ISIS Neutron and Muon Source, Science and Technology Facilities Council, UKRI, 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 ([email protected])
ISIS Neutron and Muon Source
Rutherford Appleton Laboratory
Didcot, UK

Software Inquiries

For questions or contributions related to the software, please contact:

Dr. Maciej Bartkowiak ([email protected])
ISIS Neutron and Muon Source
Rutherford Appleton Laboratory
Didcot, UK

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.