MDRestraintsGenerator

Enabling the use of restraints in alchemical simulations


License
LGPL-3.0
Install
pip install MDRestraintsGenerator==0.2.0

Documentation

MDRestraintsGenerator

Python code for generating (initially Gromacs) restraints for MD simulations (usually based on existing system dynamics).

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

  • Hardwall restraints
  • Harmonic restraints
  • Attach Pull Restraint style restraints
  • Protein channel restraints

Input options

These are the current available input options for BoreschRestraints.py

--gro :: Input .gro structure file (technically can be any gromacs type structure file)

--xtc :: Input .xtc trajectory file

--l1 :: user defined ligand atom 1

--l2 :: user defined ligand atom 2

--l3 :: user defined ligand atom 3

--zeroformat :: assume ligand atom picks are zero formatted as generated by VMD (default: True, alternative 1-formatted)

Example

This examples assumes that:

1) npt_prod1_center.xtc is a centered+imaged .xtc file

2) npt_equil.gro is the .xtc trajectory's associated structure file

3) 4420 4421 4422 are zero formatted ligand atoms selected to apply the Boresch restraint on

The following input is used:

python BoreschRestraints.py --gro np_equil.gro --xtc npt_prod_center.xtc --l1 4420 --l2 4421 --l3 4422

The outputs are:

1) 5 .png files for each of the bond & angles involved in the Boresch restraints.
   The .png images show the selected distributions and associated normality qq plot.
   It is advised to always look at this to make sure that the selected Boresch restraints are from a unimodal distribution.
   
2) BoreschRestraint.top
   This is an auto-generated [intermolecular_interactions] portions of a gromacs .top file for the given Boresch restraint.
   You can just paste it at the bottom of an existing .top file.
   
3) ClosestRestraintFrame.gro
   The structure of the closest frame to the average of each distributions for each chosen bond/angle.
   Note that the actual values for the Boresch restraints are based on the values of this frame and not the average.

Dependencies

  • MDAnalysis
  • NumPy
  • SciPy
  • Matplotlib