Skip to main content

No project description provided

Project description

MDRestraintsGenerator

GH Actions CI codecov DOI

MDRestraintsGenerator

A framework for generating restraints for MD simulations (from MD simulations).

The code currently only looks at BoreschRestraints, but we aim to extend to:

  • Hardwall restraints
  • Harmonic restraints
  • Attach Pull Restraint style restraints
  • Complex multidimensional restraints

Note: This is non-mature code, a lot is left to do and major changes will happen at any time.

Installation

Installation is currently only possible from source. This can be done in the following manner:

git clone https://github.com/bigginlab/MDRestraintsGenerator.git
cd MDRestraintsGenerator
pip install .

How to use

The code currently only implements a means of deriving Boresch restraints for GROMACS simulations. To achieve this, the following underlying methods are provided:

  1. A function to pick stable points in ligands for restraint attachment (search.find_ligand_atoms).
  2. A class for picking host restraint addition points (search.FindHostAtoms).
  3. A class for analysing a list of possible Boresch restraints over a given MD simulation and finding the most stable choice of restraint atoms (restraints.FindBoreschRestraint).

Boresch restraints are implemented under the BoreschRestraint class. When using restraints.FindBoreschRestraint, once run (using the run() method), the preffered restraint will be stored as such an object under the restraint attribute. The BoreschRestraint class offers three useful methods:

  1. The plot() function which outputs images of the distributions for the each component of the Boresch restraint (one bond, two angles, three dihedrals). In addition to the histograms, indicating both the mean and the picked frame positions, Q Q plots are also given to show how close to normality the distribution is. The latter can be useful when trying to work out if the chosen variable may occupy different binding orientations.
  2. The write() function, which writes out the ClosestRestraint.gro and BoreschRestraint.top files. These are based on the "picked frame", either user supplied or, in most cases, automatically obtained via the FindBoreschRestraint routine as the "frame closest to the mean across all bond/angle/dihedral distributions". This .gro file outputs the system at that frame, and the .top file contains the "intermoecular_interactions" section of a GROMACS .top file. This can then be pasted into an existing .top file to apply the restraint.
  3. The standard_state function, which currently resturns the analytical standard state correction for the restraint addition.

An example use script is provided under scripts.BoreschRestraintGMX.py. Documentation docstrings are provided for all functions and classes. These can be accessed by calling help(function).

Testing

A set of unit tests are provided under MDRestraintsGenerator.tests. To run these you will need to have pytest installed. The tests can be run in the following manner:

pytest -v MDRestraintsGenerator.tests

Dependencies

  • MDAnalysis
  • NumPy
  • SciPy
  • Matplotlib

Copyright

Copyright (c) 2020, Irfan Alibay

Acknowledgements

Project based on the Computational Molecular Science Python Cookiecutter version 1.3.

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

MDRestraintsGenerator-0.2.0.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

MDRestraintsGenerator-0.2.0-py3-none-any.whl (7.6 MB view details)

Uploaded Python 3

File details

Details for the file MDRestraintsGenerator-0.2.0.tar.gz.

File metadata

  • Download URL: MDRestraintsGenerator-0.2.0.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for MDRestraintsGenerator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9158fb33e8fdffd35b8e8b54e71991d4bd690bc4b43b0d8f7b5cb178ad438a1c
MD5 242e0256e063272fb15ffcf25182d367
BLAKE2b-256 f550df7ef3a12a7c9733904aa073a37856752608bb6f33ea11e018c6d01f2547

See more details on using hashes here.

Provenance

File details

Details for the file MDRestraintsGenerator-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for MDRestraintsGenerator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a00dd0dbd2c4aacd1e70b4aec63ec96715dcc48ff25efcc93947a95ac06307b
MD5 f1d514dbad628f47b3e9532bc015c826
BLAKE2b-256 8265ac77e8de9faab0e06f5d3554dd95c0ccf17222a0d5ceaff7310471f7d6d7

See more details on using hashes here.

Provenance

Supported by

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