Opened 6 years ago
Last modified 6 years ago
#2616 assigned defect
Error in handling of multi-crystal MTZ files
Reported by: | Owned by: | Tristan Croll | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Third Party | Version: | |
Keywords: | Cc: | Tom Goddard | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-3.10.0-1062.4.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core ChimeraX Version: 0.91 (2019-11-20) Description trying to add hydrogens Log: Startup Messages --- warning | 'clip' is a prefix of an existing command 'clipper' note | available bundle cache has not been initialized yet UCSF ChimeraX version: 0.91 (2019-11-20) © 2016-2019 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open /home/jamesh/projects/isolde/terified.pdb Summary of feedback from opening /home/jamesh/projects/isolde/terified.pdb --- warnings | Cannot find LINK/SSBOND residue CYS (76 ) Cannot find LINK/SSBOND residue CYS (80 ) Cannot find LINK/SSBOND residue CYS (86 ) Cannot find LINK/SSBOND residue CYS (90 ) Cannot find LINK/SSBOND residue CYS (140 ) 183 messages similar to the above omitted terified.pdb title: \--- [more info...] Chain information for terified.pdb #1 --- Chain | Description A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v | No description available > toolshed show ISOLDE > set selectionWidth 4 terified.pdb title: \--- [more info...] Chain information for terified.pdb --- Chain | Description 1.3/A 1.3/B 1.3/C 1.3/D 1.3/E 1.3/F 1.3/G 1.3/H 1.3/I 1.3/J 1.3/K 1.3/L 1.3/M 1.3/N 1.3/O 1.3/P 1.3/Q 1.3/R 1.3/S 1.3/T 1.3/U 1.3/V 1.3/W 1.3/X 1.3/Y 1.3/Z 1.3/a 1.3/b 1.3/c 1.3/d 1.3/e 1.3/f 1.3/g 1.3/h 1.3/i 1.3/j 1.3/k 1.3/l 1.3/m 1.3/n 1.3/o 1.3/p 1.3/q 1.3/r 1.3/s 1.3/t 1.3/u 1.3/v | No description available Cached rota8000-val data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-leu data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-ile data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-pro data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-phe data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-tyr data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-trp data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-ser data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-thr data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-cys data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-met data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-lys data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-his data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-arg data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-asp data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-asn data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-gln data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rota8000-glu data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rama8000-cispro data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rama8000-transpro data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rama8000-gly-sym data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rama8000-prepro-noGP data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rama8000-ileval-nopreP data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Cached rama8000-general-noGPIVpreP data not found. Regenerating from text file. This is normal if running ISOLDE for the first time Forcefield cache not found or out of date. Regenerating from ffXML files. This is normal if running ISOLDE for the first time, or after upgrading OpenMM. Done loading forcefield Discarding unrecognised/unsupported data array /unknown/unknown080319/FOM W MTZ file either contains multiple crystal datasets or is a mini-MTZ file. Checking... WARNING: This MTZ file contains data from multiple crystals. Only the data from the first crystal will be used. If you wish to use the other data, please split your MTZ file into individual datasets (you can do this using tools from the PHENIX or CCP suites). Bad residue number: match Adding hydrogens Summary of feedback from adding hydrogens to terified.pdb #1.3 --- notes | No usable SEQRES records for terified.pdb (#1.3) chain A; guessing termini instead No usable SEQRES records for terified.pdb (#1.3) chain B; guessing termini instead No usable SEQRES records for terified.pdb (#1.3) chain C; guessing termini instead No usable SEQRES records for terified.pdb (#1.3) chain D; guessing termini instead No usable SEQRES records for terified.pdb (#1.3) chain E; guessing termini instead 43 messages similar to the above omitted Chain-initial residues that are actual N termini: /A VAL 1, /B VAL 65, /C VAL 129, /D VAL 193, /E VAL 257, /F VAL 321, /G VAL 385, /H VAL 449, /I VAL 513, /J VAL 577, /K VAL 641, /L VAL 705, /M VAL 769, /N VAL 833, /O VAL 897, /P VAL 961, /Q VAL 1025, /R VAL 1089, /S VAL 1153, /T VAL 1217, /U VAL 1281, /V VAL 1345, /W VAL 1409, /X VAL 1473, /Y VAL 1537, /Z VAL 1601, /a VAL 1665, /b VAL 1729, /c VAL 1793, /d VAL 1857, /e VAL 1921, /f VAL 1985, /g VAL 2049, /h VAL 2113, /i VAL 2177, /j VAL 2241, /k VAL 2305, /l VAL 2369, /m VAL 2433, /n VAL 2497, /o VAL 2561, /p VAL 2625, /q VAL 2689, /r VAL 2753, /s VAL 2817, /t VAL 2881, /u VAL 2945, /v VAL 3009 Chain-initial residues that are not actual N termini: Chain-final residues that are actual C termini: /A HIS 64, /B HIS 128, /C HIS 192, /D HIS 256, /E HIS 320, /F HIS 384, /G HIS 448, /H HIS 512, /I HIS 576, /J HIS 640, /K HIS 704, /L HIS 768, /M HIS 832, /N HIS 896, /O HIS 960, /P HIS 1024, /Q HIS 1088, /R HIS 1152, /S HIS 1216, /T HIS 1280, /U HIS 1344, /V HIS 1408, /W HIS 1472, /X HIS 1536, /Y HIS 1600, /Z HIS 1664, /a HIS 1728, /b HIS 1792, /c HIS 1856, /d HIS 1920, /e HIS 1984, /f HIS 2048, /g HIS 2112, /h HIS 2176, /i HIS 2240, /j HIS 2304, /k HIS 2368, /l HIS 2432, /m HIS 2496, /n HIS 2560, /o HIS 2624, /p HIS 2688, /q HIS 2752, /r HIS 2816, /s HIS 2880, /t HIS 2944, /u HIS 3008, /v HIS 3072 Chain-final residues that are not actual C termini: 3410 hydrogen bonds 22828 hydrogens added Updating bulk solvent parameters... Traceback (most recent call last): File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/openmm/openmm_interface.py", line 591, in __init__ isolde.forcefield_mgr) File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/openmm/openmm_interface.py", line 1274, in __init__ sim_params, residue_templates) File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/openmm/openmm_interface.py", line 1372, in _create_openmm_system sys = forcefield.createSystem(top, **system_params) File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/simtk/openmm/app/forcefield.py", line 1114, in createSystem raise Exception('User-supplied template %s does not match the residue %d (%s)' % (tname, res.index+1, res.name)) Exception: User-supplied template CYM does not match the residue 19 (CYS) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/isolde.py", line 2650, in _start_sim_or_toggle_pause self.start_sim() File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/isolde.py", line 2670, in start_sim self.params, self.sim_params, excluded_residues = self.ignored_residues) File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/openmm/openmm_interface.py", line 606, in __init__ if self._parse_explicit_template_error(e): File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/openmm/openmm_interface.py", line 646, in _parse_explicit_template_error self.isolde._handle_bad_template(residue) File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/isolde.py", line 2756, in _handle_bad_template self._sim_end_cb() File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/isolde.py", line 2803, in _sim_end_cb xmapset.live_xmap_mgr.bulk_solvent_optimization_needed() AttributeError: 'NoneType' object has no attribute 'bulk_solvent_optimization_needed' AttributeError: 'NoneType' object has no attribute 'bulk_solvent_optimization_needed' File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site- packages/chimerax/isolde/isolde.py", line 2803, in _sim_end_cb xmapset.live_xmap_mgr.bulk_solvent_optimization_needed() See log for complete Python traceback. OpenGL version: 3.3.0 NVIDIA 418.87.01 OpenGL renderer: GeForce RTX 2080/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation
Change History (4)
comment:1 by , 6 years ago
Cc: | added |
---|---|
Component: | Unassigned → Third Party |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → OpenMM: User-supplied template CYM does not match the residue |
follow-up: 2 comment:2 by , 6 years ago
I’m curious about what’s going on here. Any chance you can send me the data (directly, not via the bug tracker) to take a look?
comment:3 by , 6 years ago
OK, things get a little bit complicated here. The root cause of the traceback here actually has nothing directly to do with the cysteines or adding hydrogens - it just happened to be triggered by the addition of hydrogens. The true cause is that the Clipper plugin doesn't yet know how to deal with MTZ files where the data is spread across multiple crystals - there are so many different variations on how people (mis-)use this layout that I've left it in the too-hard basket to date. In your case the MTZ file has only the HKLs and free flags in one "crystal", and the actual data in another. You can see the message in the log:
WARNING: This MTZ file contains data from multiple crystals. Only the data from the first crystal will be used. If you wish to use the other data, please split your MTZ file into individual datasets (you can do this using tools from the PHENIX or CCP suites).
... which in this case means that no experimental data was actually used... but my code is still acting as if it was, and trying to do a bulk solvent optimisation on a non-existent dataset. Will fix that... but in the meantime your best bet would be to split out just the free flags and the F/sigF into a single-crystal MTZ file.
You have another problem with your model that will also need to be dealt with, I'm afraid. When expanding out to multiple copies of your ASU you kept all the copies as chain A but incremented the residue numbering. This would probably work *if* the numbering wasn't continuous from one chain to the next (that is, if it jumped from residue 128 (C-terminus) to residue 130 (N-terminus of the next chain). With the continuous numbering, though, ChimeraX assumes a continuous chain and builds the bonds accordingly - and ISOLDE respects those and tries to minimise them. Everything would work better if all the chains had different IDs, honestly.
comment:4 by , 6 years ago
Summary: | OpenMM: User-supplied template CYM does not match the residue → Error in handling of multi-crystal MTZ files |
---|
Reported by James Holton