-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement GAFF/AM1-BCC residue template generator for simtk.openmm.app.ForceField #164
Conversation
Note that this feature also currently requires OpenEye (for writing Tripos mol2 files) and ParmEd (for reading GAFF-format mol2 files). |
This nearly works, but we need to fix an issue with |
It looks like we might be able to go either from an OpenMM Topology Both the pre-generation of residue templates: forcefield = ForceField('amber99sb.xml', 'tip3p.xml', 'gaff.xml')
[template, ffxml] = generateResidueTemplate(molecule)
forcefield.registerResidueTemplate(template)
forcefield.loadFile(StringIO(ffxml))
system = forcefield.createSystem(topology) and the residue template generator plugin # Initialize ForceField
forcefield = ForceField('amber99sb.xml', 'tip3p.xml', 'gaff.xml')
from openmoltools.forcefield_generators import gaffTemplateGenerator
forcefield.registerTemplateGenerator(gaffTemplateGenerator)
# Now, when you need to create a new System...
system = forcefield.createSystem(topology) should work. I've also added a convenience function to go from a molecule = generateOEMolFromTopologyResidue(residue) though it only works with residues that are separate molecules and not polymeric molecules connected to other residues.
|
OK, this feature passes tests locally. Merging to run full test suite. |
Implement GAFF/AM1-BCC residue template generator for simtk.openmm.app.ForceField
This is the beginning of the implementation of a GAFF/AM1-BCC residue template generator for small molecules for use with the new
simtk.openmm.app.ForceField
ability to hook in residue template generators.Example usage:
Note that this does not yet work with residues that have external bonds (like unnatural amino acids or covalently-attached ligands), but that feature is coming soon.
There are several hurdles to be overcome:
parmchk2
need to be incorporated