Perceive external bonds (necessary for glycam ffxml conversion) #1184
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.
@peastman and I have been working on converting the AMBER glycam forcefield (
GLYCAM_06j-1) into a ffxml for the OpenMM ecosystem -- we have the conversion pipeline working now (after making a number of changes to Parmed, OpenMM, and soon Openmmforcefields), but there is one more ParmEd fix that I had to use for the conversion pipeline that has not been pushed.After generating the ffxml and upon trying to create a system for a glycosylated protein, I was getting errors like :
This was because the ExternalBonds in the ff templates were not correct. In the converted ffxml, for the UYB residue, I was seeing:
But there should be a third line for atomName="O6".
Since Parmed was not writing out all of the atoms with external bonds correctly, I added a fix to
parmed/openmm/parameters.py. This fix involves adding a function called_get_atoms_with_external_bonds()that gets atoms with external bonds.Not sure if this fix should be merged into master as I'm not sure whether it will disrupt the current functionality of
parmed/openmm/parameters.py, but this is necessary for glycam ffxml conversion, so we should brainstorm how to include it in the repo.Tagging @jchodera @peastman @swails for feedback