Removes dependency on openmmtools for the currently-default flat-bottom restraints
Re - adds the old two-sided flatbottom restraint along with a sharp-cutoff one-sided restraint as options
Allows specification of the equilibrium distance r0 for manual restraints, allowing for a push/pull - effect if desired
With openmmtools being a rather hefty dependency for only being used for a single restraint, this implements the potential shape used by openmmtools in-code, based on the documented mix-in. It also adds two additional potential shapes to allow for more options especially when manually adding restraints to troublesome systems. Lastly, allowing explicit specification of r0 in the config.yaml allows the creating of pull-effects if so desired.
Tests for all these features have also been implemented.
Also fixes a minor bug in analysis.py that annoyingly gets printed in every result: uncertanty -> uncertainty
Example usage of r0:
restraint4:
k: 9
group1: resname BMI and name C7
group2: protein and name CA
shape: flatbottom-twoside
wellsize: 1.5
r0: 9
Potential shapes implemented:
One-sided soft (openmmtools-like)
Exact same behaviour as the openmmtools - flatbottom.
current default, keys are 'flatbottom', flatbottom-oneside
r0 defines cutoff point
One-sided sharp
One-sided restraint with immediate effect outside the well
Key: flatbottom-oneside-sharp
r0 defines cutoff point
Two-sided sharp
Re-implemetation of the old flatbottom restraint
Allows restraint in both positive and negative directions
Description
openmmtools
for the currently-default flat-bottom restraintsr0
for manual restraints, allowing for a push/pull - effect if desiredWith
openmmtools
being a rather hefty dependency for only being used for a single restraint, this implements the potential shape used byopenmmtools
in-code, based on the documented mix-in. It also adds two additional potential shapes to allow for more options especially when manually adding restraints to troublesome systems. Lastly, allowing explicit specification ofr0
in the config.yaml allows the creating of pull-effects if so desired.Tests for all these features have also been implemented.
Also fixes a minor bug in
analysis.py
that annoyingly gets printed in every result: uncertanty -> uncertaintyExample usage of
r0
:Potential shapes implemented:
One-sided soft (openmmtools-like)
openmmtools
- flatbottom.flatbottom-oneside
r0
defines cutoff pointOne-sided sharp
flatbottom-oneside-sharp
r0
defines cutoff pointTwo-sided sharp
flatbottom-twoside
r0
defines equilibrium distance (well center).wellsize
defines no-effect radius around equilibrium distanceStatus