Opened 6 years ago
Closed 3 years ago
#2905 closed defect (fixed)
OpenMM: Multiple matching templates found for residue
Reported by: | Owned by: | Tristan Croll | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Third Party | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Windows-10-10.0.18362 ChimeraX Version: 0.91 (2019-12-23) Description (Describe the actions that caused this problem to occur here) Log: Startup Messages --- warning | 'clip' is a prefix of an existing command 'clipper' UCSF ChimeraX version: 0.91 (2019-12-23) © 2016-2019 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open "C:\Users\Lenye\Dropbox\thil > article-2020\Thiaminemonophosphatekinase_refine_44_dimer.pdb" Summary of feedback from opening C:\Users\Lenye\Dropbox\thil article-2020\Thiaminemonophosphatekinase_refine_44_dimer.pdb --- warnings | Ignored bad PDB record found on line 1 REMARK Date 2019-03-12 Time 15:04:44 South Africa Standard Time +0200 (155239588 Ignored bad PDB record found on line 2 REMARK PHENIX refinement Ignored bad PDB record found on line 4 REMARK ****************** INPUT FILES AND LABELS ****************************** Ignored bad PDB record found on line 5 REMARK Reflections: Ignored bad PDB record found on line 6 REMARK file name : C:\Users\Lenye\Desktop\ThiL Molecular Replacement\over 29 messages similar to the above omitted Chain information for Thiaminemonophosphatekinase_refine_44_dimer.pdb #1 --- Chain | Description A B | No description available > isolde start > set selectionWidth 4 Chain information for Thiaminemonophosphatekinase_refine_44_dimer.pdb --- Chain | Description 1.1/A 1.1/B | No description available Done loading forcefield QWidget::repaint: Recursive repaint detected > addh Summary of feedback from adding hydrogens to Thiaminemonophosphatekinase_refine_44_dimer.pdb #1.1 --- notes | No usable SEQRES records for Thiaminemonophosphatekinase_refine_44_dimer.pdb (#1.1) chain A; guessing termini instead No usable SEQRES records for Thiaminemonophosphatekinase_refine_44_dimer.pdb (#1.1) chain B; guessing termini instead Chain-initial residues that are actual N termini: /A LEU 59, /B LEU 59 Chain-initial residues that are not actual N termini: Chain-final residues that are actual C termini: Chain-final residues that are not actual C termini: /A TYR 337, /B TYR 337 1210 hydrogen bonds /A TYR 337 is not terminus, removing H atom from 'C' /B TYR 337 is not terminus, removing H atom from 'C' 4490 hydrogens added > toolshed show ISOLDE > select 8790 atoms, 8574 bonds, 41 models selected Loading residue template for SO4 from internal database Traceback (most recent call last): File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2676, in _start_sim_or_toggle_pause self.start_sim() File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2696, in start_sim self.params, self.sim_params, excluded_residues = self.ignored_residues) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 609, in __init__ raise e File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 591, in __init__ isolde.forcefield_mgr) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1313, in __init__ sim_params, residue_templates) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1409, in _create_openmm_system sys = forcefield.createSystem(top, **system_params) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 1117, in createSystem [template, matches] = self._getResidueTemplateMatches(res, bondedToAtom, ignoreExternalBonds=ignoreExternalBonds) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) See log for complete Python traceback. Traceback (most recent call last): File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2676, in _start_sim_or_toggle_pause self.start_sim() File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2696, in start_sim self.params, self.sim_params, excluded_residues = self.ignored_residues) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 609, in __init__ raise e File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 591, in __init__ isolde.forcefield_mgr) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1313, in __init__ sim_params, residue_templates) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1409, in _create_openmm_system sys = forcefield.createSystem(top, **system_params) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 1117, in createSystem [template, matches] = self._getResidueTemplateMatches(res, bondedToAtom, ignoreExternalBonds=ignoreExternalBonds) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) See log for complete Python traceback. Traceback (most recent call last): File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2676, in _start_sim_or_toggle_pause self.start_sim() File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2696, in start_sim self.params, self.sim_params, excluded_residues = self.ignored_residues) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 609, in __init__ raise e File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 591, in __init__ isolde.forcefield_mgr) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1313, in __init__ sim_params, residue_templates) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1409, in _create_openmm_system sys = forcefield.createSystem(top, **system_params) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 1117, in createSystem [template, matches] = self._getResidueTemplateMatches(res, bondedToAtom, ignoreExternalBonds=ignoreExternalBonds) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) See log for complete Python traceback. > select :HOH 860 atoms, 572 bonds, 1 model selected > select :HOH 860 atoms, 572 bonds, 1 model selected > hide sel atoms > select :MG 4 atoms, 1 model selected > hide sel atoms > select :SO4 10 atoms, 8 bonds, 1 model selected > select clear > toolshed show ISOLDE > set selectionWidth 4 Done loading forcefield > select 8790 atoms, 8574 bonds, 47 models selected > select 8790 atoms, 8574 bonds, 47 models selected Loading residue template for SO4 from internal database Traceback (most recent call last): File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2676, in _start_sim_or_toggle_pause self.start_sim() File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\isolde.py", line 2696, in start_sim self.params, self.sim_params, excluded_residues = self.ignored_residues) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 609, in __init__ raise e File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 591, in __init__ isolde.forcefield_mgr) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1313, in __init__ sim_params, residue_templates) File "C:\Users\Lenye\AppData\Local\UCSF\ChimeraX\0.91\site- packages\chimerax\isolde\openmm\openmm_interface.py", line 1409, in _create_openmm_system sys = forcefield.createSystem(top, **system_params) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 1117, in createSystem [template, matches] = self._getResidueTemplateMatches(res, bondedToAtom, ignoreExternalBonds=ignoreExternalBonds) File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. Exception: Multiple matching templates found for residue 568 (HOH): OHE, GLYCAM_ROH. File "C:\Users\Lenye\ChimeraX\bin\lib\site- packages\simtk\openmm\app\forcefield.py", line 893, in _getResidueTemplateMatches raise Exception('Multiple matching templates found for residue %d (%s): %s.' % (res.index+1, res.name, ', '.join(match[0].name for match in allMatches))) See log for complete Python traceback. OpenGL version: 3.3.13542 Core Profile Forward-Compatible Context 25.20.14012.0 OpenGL renderer: AMD Radeon(TM) R2 Graphics OpenGL vendor: ATI Technologies Inc.
Change History (5)
comment:1 by , 6 years ago
Component: | Unassigned → Third Party |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Reporter: | changed from | to
Status: | new → assigned |
Summary: | ChimeraX bug report submission → OpenMM: Multiple matching templates found for residue |
comment:2 by , 6 years ago
My best guess at what has happened here: a water was very close to a metal ion, so AddH
only added one hydrogen to it. There's no template for a free hydroxide ion, but there are two templates for pendant OH groups in the AMBER forcefield: a 5' OH for nucleic acids, and one in the GLYCAM forcefield for capping sugar chains. OpenMM recognises that its topology looks like these, and throws up its hands because it hasn't been told which to use. Dealing properly with cases like this is a long-term challenge, but for now I'll see about adding some code to point the user to the offending residue rather than just raising the traceback.
comment:3 by , 6 years ago
It would have to be a pretty unusual situation for AddH to strip a proton from a water due to metal proximity. AddH will normally simply orient one of the oxygen lone pairs towards the metal (and have the protons point away). It would have to be a terrifically sterically challenged local environment for the end result to be stripping the water proton.
follow-up: 4 comment:4 by , 6 years ago
I *have* seen it happen exactly once before. Can't remember the model, though. On 2020-03-10 17:49, ChimeraX wrote:
comment:5 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
While I do occasionally see cases where a tightly-constrained environment causes AddH
to only add one hydrogen to a water, these days ISOLDE now catches things like that and helps the user fix them.
Original email address invalid, so replaced it with my own