Skip to content

Harmonize prefixes for AMBER protein force field additions #99

@jchodera

Description

@jchodera

Currently, we have an issue where some converted AMBER protein force field files contain the prefixe protein- while others do not, causing seemingly straightforward operations like bringing in the phosphoaminoacid templates:

from simtk.openmm.app import ForceField
ff = ForceField('amber/protein.ff14SB.xml', 'amber/phosaa10.xml')

to fail:

Traceback (most recent call last):
 File “<stdin>“, line 1, in <module>
 File “/home/brucemah/miniconda3/envs/omm_source/lib/python3.6/site-packages/simtk/openmm/app/forcefield.py”, line 185, in __init__
  self.loadFile(files)
 File “/home/brucemah/miniconda3/envs/omm_source/lib/python3.6/site-packages/simtk/openmm/app/forcefield.py”, line 278, in loadFile
  template.atoms.append(ForceField._TemplateAtomData(atomName, typeName, self._atomTypes[typeName].element, params))
KeyError: ‘N’

We therefore need to decide whether we want to harmonize these by prefixing all protein atom types with protein- so these will be compatible.

We can support this by adding a line to the YAML:

  Prefix: protein

for each file we want to convert and prepend prefixes for atom types.

Questions:

  • Which files should we do this with?
  • Should we also do this with all files in oldff/?
  • How should we augment the tests to catch these incompatibilities

cc: @rafwiewiora @hannahbrucemacdonald @peastman

We should likely include the fixed parameters and information on how to use the small molecule parameters in an upcoming OpenMM release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions