mdanse

MDANSE: Molecular Dynamics Analysis for Neutron Scattering Experiments

https://github.com/isisneutronmuon/mdanse

Science Score: 65.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization isisneutronmuon has institutional domain (www.isis.stfc.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.2%) to scientific vocabulary

Keywords

data-analysis molecular-dynamics neutron-scattering python qt-gui science
Last synced: 6 months ago · JSON representation ·

Repository

MDANSE: Molecular Dynamics Analysis for Neutron Scattering Experiments

Basic Info
Statistics
  • Stars: 26
  • Watchers: 4
  • Forks: 7
  • Open Issues: 115
  • Releases: 7
Topics
data-analysis molecular-dynamics neutron-scattering python qt-gui science
Created almost 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

MDANSE

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.

The MDANSE_GUI package is provided as well, which makes it easier to create analysis scripts with valid input parameters, and can visualise both the trajectory and the analysis results.

MDANSE project has been published previously in: \ G. Goret, B. Aoun, E. Pellegrini, "MDANSE: An Interactive Analysis Environment for Molecular Dynamics Simulations", J. Chem. Inf. Model. 2017, 57, 1, 15.

Version information

This is the 2.x branch of MDANSE, which consists of two Python packages, MDANSE (the analysis code) and MDANSE_GUI (the graphical user interface). The final version in the 1.5.x series can still be found in the legacy branch, but is not being actively developed or supported.

The current version of MDANSE is currently approaching the first release, as the first release candidate has been created. The set of features it contains will not change by the time the full release has been made. However, there still may be some problems with the code at this stage that need to be identified and corrected. You can help the developers by reporting problems you experience while using MDANSE. The preferred way of reporting problems is 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 mdanseenv by typing ``` python3 -m venv mdanseenv ```

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

Please remember to activate your virtual environment when you start a new shell before you run mdanse_gui.

Installation: development version

Between releases, MDANSE and MDANSEGUI are undergoing frequent changes. If you would like to try out the latest development version, you can install it 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=MDANSEGUI&subdirectory=MDANSE_GUI" ```

Installation: optional dependencies

If you prefer running MDANSE via scripts in the command line instead of using the GUI, you can install MDANSE with additional dependencies for CLI runs. This can be done using the command pip install MDANSE[cli] At the moment, the only additional package that will be added is tqdm, which will then be used to display progress bars for MDANSE scripts running in the shell.

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 (MDT),
  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 example scripts can be found on the MDANSE website while the most recent tutorials are stored 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. The following MD packages are supported:

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

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 Autocorrelation 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 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
  • Scattering Length Density Profile
  • Static Structure Factor
  • Structure Factor from Scattering Function
  • X-Ray Static Structure Factor
Structure
  • Area Per Molecule
  • Average Structure
  • Coordination Number
  • Eccentricity
  • Molecular Trace
  • Pair Distribution Function
  • Radius of Gyration
  • Solvent Accessible Surface
  • Voronoi (volume per atom)
Thermodynamics
  • Density
  • Temperature
Trajectory
  • Center of Masses Trajectory
  • 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 the following paper:

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

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)

Owner

  • Name: UKRI STFC ISIS Neutron and Muon Facility
  • Login: ISISNeutronMuon
  • Kind: organization
  • Location: Oxfordshire, UK

Citation (CITATION.cff)

cff-version: 1.2.0
title: MDANSE
type: software
abstract: >-
  MDANSE Core package - Molecular Dynamics trajectory
  handling and analysis code.
message: >-
  If you have used MDANSE or the MDANSE_GUI in your research, please cite both the MDANSE & MDANSE_GUI software,
  and the article from preferred-citation.
authors:
  - given-names: Raunakk
    family-names: Banerjee
    email: raunakk.banerjee@stfc.ac.uk
    affiliation: STFC
  - given-names: Maciej
    family-names: Bartkowiak
    email: maciej.bartkowiak@stfc.ac.uk
    affiliation: STFC
    orcid: https://orcid.org/0000-0003-1974-1493
  - given-names: Rob
    family-names: Buchanan
    email: rob.buchanan@stfc.ac.uk
    affiliation: STFC
  - given-names: Chi Y.
    family-names: Cheng
    email: chi.cheng@stfc.ac.uk
    affiliation: STFC
    orcid: https://orcid.org/0000-0002-1957-9193
  - given-names: Miguel Angel
    family-names: Gonzales
    affiliation: Institut Laue-Langevin
    orcid: https://orcid.org/0000-0002-3478-0215
  - given-names: Gael
    family-names: Goret
    email: gael.goret@gmail.com
  - given-names: Sanghamitra
    family-names: Mukhopadhyay
    email: sanghamitra.mukhopadhyay@stfc.ac.uk
    affiliation: STFC
    orcid: https://orcid.org/0000-0002-6501-4089
  - given-names: Eric
    family-names: Pellegrini
    affiliation: Institut Laue-Langevin
  - given-names: Remi
    family-names: Perenon
    affiliation: Institut Laue-Langevin
  - given-names: Rastislav
    family-names: Turanyi
    email: rastislav.turanyi@stfc.ac.uk
    affiliation: STFC
  - given-names: Jacob
    family-names: Wilkins
    email: jacob.wilkins@stfc.ac.uk
    affiliation: STFC
    orcid: https://orcid.org/0009-0004-9147-3475

repository-code: 'https://github.com/ISISNeutronMuon/MDANSE'
url: 'https://www.isis.stfc.ac.uk/Pages/MDANSEproject.aspx'
keywords:
  - molecular dynamics
  - science
  - simulation
  - analysis
license: GPL-3.0
version: 2.0.0rc1

preferred-citation:
  type: article
  authors:
    - family-names: Goret
      given-names: G.
    - family-names: Aoun
      given-names: B.
    - family-names: Pellegrini
      given-names: E.
  title: |
    MDANSE: An Interactive Analysis Environment for Molecular Dynamics Simulations
  doi: 10.1021/acs.jcim.6b00571
  journal: "J Chem Inf Model"
  month: 1
  volume: 57
  issue: 1
  year: 2017

references:
  - type: software
    title: nMOLDYN
    repository-code: https://github.com/khinsen/nMOLDYN3
    authors:
      - given-names: Konrad
        family-names: Hinsen
      - given-names: Eric
        family-names: Pellegrini
        affiliation: Institut Laue-Langevin
      - given-names: Gerald
        family-names: Kneller
      - given-names: Bachir
        family-names: Aoun
        affiliation: Fullrmc LLC
        orcid: https://orcid.org/0000-0001-8965-9423
      - given-names: Krzysztof
        family-names: Murzyn
        affiliation: Jagellonian University Kraków
      - given-names: Tomasz
        family-names: Róg

  - type: article
    title: |
      nMOLDYN: A program package for a neutron scattering oriented analysis of Molecular Dynamics simulations
    authors:
       - given-names: Gerald R.
         family-names: Kneller
       - given-names: Volker
         family-names: Keiner
       - given-names: Meinhard
         family-names: Kneller
       - given-names: Matthias
         family-names: Schiller
    journal: Computer Physics Communications
    volume: 91
    number: 1
    pages: 191-214
    year: 1995
    issn: 0010-4655
    identifiers:
      - type: doi
        value: 10.1016/0010-4655(95)00048-K
      - type: url
        value: https://www.sciencedirect.com/science/article/pii/001046559500048K
    keywords:
      - Neutron scattering
      - Molecular dynamics simulation
    abstract: >
      nMOLDYN is a modular program package for the analysis of
      Molecular Dynamics simulations. It is especially designed for
      the computation and decomposition of neutron scattering
      spectra. The structure and dynamics of the simulated systems can
      be characterized in terms of various space and time correlation
      functions. To analyze the dynamics of complex systems,
      rigid-body motions of arbitrarily chosen molecular subunits can
      be studied. All modules use a common input data structure for
      the MD trajectory files which facilitates an efficient
      calculation of time correlation functions by Fast Fourier
      Transform algorithms.

  - type: article
    title: |
      nMoldyn - Interfacing spectroscopic experiments, molecular dynamics simulations and models for time correlation functions
    authors:
      - name: V. Calandrini
      - name: E. Pellegrini
      - name: P. Calligari
      - name: K. Hinsen
      - name: G. R. Kneller
    identifiers:
      - type: doi
        value: 10.1051/sfn/201112010
      - type: url
        value: https://www.neutron-sciences.org/articles/sfn/abs/2011/01/sfn201112010/sfn201112010.html
    journal: JDN
    pages: 201-232
    volume: 12
    year: 2011

  - type: article
    authors:
      - name: T. Róg
      - name: K. Murzyn
      - name: K. Hinsen
      - name: G. R. Kneller
    title: |
      nMoldyn: A program package for a neutron scattering oriented analysis of molecular dynamics simulations
    journal: Journal of Computational Chemistry
    volume: 24
    number: 5
    pages: 657-667
    keywords:
      - Molecular Dynamics
      - neutron scattering
      - memory function
    identifiers:
      - type: doi
        value: 10.1002/jcc.10243
      - type: url
        value: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.10243
    year: 2003

  - type: article
    authors:
      - name: Konrad Hinsen
      - name: Eric Pellegrini
      - name: Sławomir Stachura
      - name: Gerald R. Kneller
    title: |
      nMoldyn 3: Using task farming for a parallel spectroscopy-oriented analysis of molecular dynamics simulations
    journal: Journal of Computational Chemistry
    volume: 33
    number: 25
    pages: 2043-2048
    keywords:
      - parallel computing
      - task farming
      - time series analysis
      - theoretical spectroscopy
      - molecular simulation
    identifiers:
      - type: doi
        value: 10.1002/jcc.23035
      - type: url
        value: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.23035
    year: 2012

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 310
  • Total pull requests: 383
  • Average time to close issues: 4 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 12
  • Total pull request authors: 6
  • Average comments per issue: 0.7
  • Average comments per pull request: 0.81
  • Merged pull requests: 302
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 167
  • Pull requests: 234
  • Average time to close issues: 19 days
  • Average time to close pull requests: 6 days
  • Issue authors: 8
  • Pull request authors: 5
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.9
  • Merged pull requests: 181
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ChiCheng45 (156)
  • MBartkowiakSTFC (91)
  • oerc0122 (38)
  • franzlang (6)
  • RastislavTuranyi (6)
  • eurydice76 (5)
  • pablogila (2)
  • sanghamitra-mukhopadhyay (2)
  • Soulchemist97 (1)
  • perenon (1)
  • arm61 (1)
  • NMPeter (1)
Pull Request Authors
  • MBartkowiakSTFC (177)
  • ChiCheng45 (134)
  • oerc0122 (59)
  • RobBuchananCompPhys (7)
  • ashmeigh (4)
  • raunakkbanerjee (2)
Top Labels
Issue Labels
bug (193) enhancement (142) GUI (47) framework (42) question (17) documentation (13) Technical Debt (12) python 3 (10) dependency (6) CI/CD (5) good first issue (3) Testing (3) python 2 (2) styling (1) help wanted (1)
Pull Request Labels
bug (16) Technical Debt (15) enhancement (13) CI/CD (11) styling (9) GUI (3) Testing (1) framework (1)

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • conda-incubator/setup-miniconda v2 composite
BuildServer/Unix/MacOS/setup.py pypi
BuildServer/Unix/setup.py pypi
BuildServer/setup.py pypi