Fix for ATM centre of mass restraints #471
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In their current form the COM restraints used by the ATM implementation always apply distance restraints that pull the bound ligand to within 0Å (+- some tolerance) of the centre of mass of the protein. This restraint works fine when the binding site is within the tolerance distance of the centre of mass, but completely breaks down beyond that point, as can be seen in #470 .
This PR adds proper calculation of the starting distance between both ligands and the centre of mass of the protein (which can either be automatically calculated or passed as a list of indices by the user).
This functionality has been tested on the system mentioned in #470 . This is what the system looks like after solvation, prior to any min/eq:

and this is what it now looks like after being run through the short minimisation/equilibration pipeline shown in the ATM tutorial:
Closes #470.