Skip to content

Disulfide Linkages in CHARMM-Drude 2019 #2848

Description

@mrobinson-hub

Hi all,

I'm excited about the update to the 2019 version of the Drude force field that is upcoming in OpenMM 7.5, and to make sure I know my way around these simulations when the 7.5 release comes out, I've been testing with the latest source code. Hopefully this isn't a faux pas - my assumption is that with all issues and work related to the Drude update completed, the issues I've encountered here would be present in the 7.5 release. If this assumption is incorrect, my apologies.

To ensure any issues I've found are relevant, I've repeated all of my testing with the latest version of the code (after pull request #2844 ), which is well after work on the Drude FF implementation has stopped. To try and maintain consistency in my tests, I've used the openmm-setup program to solvate all the proteins tested with a 10A water buffer, and neutralised the charge of the system. Any missing residues or atoms were modelled using openmm-setup. The default parameters from the Drude-2013 implementation were used for the simulation - as the primary focus of these tests was of successful system construction. Initial testing on the 1DKZ crystal structure showed no issues with system construction or running the simulation, but testing on the 3I3Z crystal structure revealed an error relating to an error in the cysteine residue template:

Traceback (most recent call last):
  File "run_openmm_simulation.py", line 45, in <module>
    modeller.addExtraParticles(forcefield)
  File "/opt/anaconda3/envs/openmmDrudeTest/lib/python3.8/site-packages/simtk/openmm/app/modeller.py", line 1051, in addExtraParticles
    templates = forcefield._matchAllResiduesToTemplates(ForceField._SystemData(self.topology), self.topology, {}, False, True, False)
  File "/opt/anaconda3/envs/openmmDrudeTest/lib/python3.8/site-packages/simtk/openmm/app/forcefield.py", line 1391, in _matchAllResiduesToTemplates
    raise ValueError('No template found for residue %d (%s).  %s' % (res.index+1, res.name, _findMatchErrors(self, res)))
ValueError: No template found for residue 6 (CYS).  The set of atoms is similar to CYS, but it is missing 11 atoms.

In my past experience, this error is associated with the system incorrectly applying disulfide linkages. I searched the issues in this project for similar occurrences in the past, and this confirmed the suspicion - in issue #2039 , the same error occurred in the CHARMM36 distribution. The pull request that fixed this issue, #2040 , performed the final testing on the 1BNG crystal structure, which was stated to be added as a test case - so my subsequent testing was performed on this structure. The same error with the application of the disulfide patch occurred with the native 1BNG crystal structure, and so as a test I truncated the protein after the first 100 residues; this removes one of the two cysteine residues involved in the disulfide linkage. Removing the disulfide linkage in this way allowed the protein to complete system building without error. Repeating the simulations using the CHARMM36 force field provided no errors in system building, regardless of the presence of disulfide linkages.

As best as I can tell, the automated detection and application of disulfide linkages is not functioning with Drude2019 - I've attached a .zip file with the processed .pdb files (both the full-length 1BNG and the truncated 1BNG that does not contain a disulfide linkage) as well as the scripts I have been using to run the CHARMM36 and Drude2019 simulations.

Hopefully this is sufficient information (and I'm describing a real issue, not user error)!
Thanks,

1bngDrudeTest.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions