Opened 5 years ago
Closed 5 years ago
#3659 closed defect (fixed)
Failure to correct ligand when no CCD template available
| 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: Linux-3.10.0-1062.1.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
ChimeraX Version: 1.0 (2020-06-04 23:15:07 UTC)
Description
Trying to use ISOLDE on a receptor bound to a ligand. I loaded the paraqmater file for the ligand but it still fails
Log:
UCSF ChimeraX version: 1.0 (2020-06-04)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> ui tool show ISOLDE
> set selectionWidth 4
Done loading forcefield
> open /nfs/userdocs/ak/aalon/ISOLDE/Z1241145220/maestro_clean_no_ZNC.pdb
Chain information for maestro_clean_no_ZNC.pdb #1
---
Chain | Description
A | No description available
B | No description available
Chain information for maestro_clean_no_ZNC.pdb
---
Chain | Description
1.2/A | No description available
1.2/B | No description available
(CLIPPER) NOTE: No symmetry information found in model. Using symmetry from
MTZ file.
Reflection data provided as intensities. Performing French & Wilson scaling to
convert to amplitudes...
> isolde sim start #1
Updating bulk solvent parameters...
Fetching CCD LYS_LL_DHZ3 from http://ligand-
expo.rcsb.org/reports/L/LYS_LL_DHZ3/LYS_LL_DHZ3.cif
Fetching CCD LYS_LSN3 from http://ligand-
expo.rcsb.org/reports/L/LYS_LSN3/LYS_LSN3.cif
Fetching CCD LYS_LEO2 from http://ligand-
expo.rcsb.org/reports/L/LYS_LEO2/LYS_LEO2.cif
Fetching CCD LYZ from http://ligand-expo.rcsb.org/reports/L/LYZ/LYZ.cif
Fetching CCD MLZ from http://ligand-expo.rcsb.org/reports/M/MLZ/MLZ.cif
Fetching CCD LYS_LFZW from http://ligand-
expo.rcsb.org/reports/L/LYS_LFZW/LYS_LFZW.cif
Updating bulk solvent parameters...
> select clear
> select up
23 atoms, 22 bonds, 1 model selected
> delete sel
> delete sel
> isolde sim start #1
> open
> /nfs/userdocs/ak/aalon/Phenix/Z1241145220/Refine_26/Z1241145220_refine_26.pdb
Chain information for Z1241145220_refine_26.pdb #2
---
Chain | Description
A | No description available
B | No description available
> close #1
Deleting atomic symmetry model...
Deleting (LIVE) 2mFo-DFc
Deleting (LIVE) mFo-DFc
Deleting (LIVE) MDFF potential
Deleting (LIVE) 2mFo-DFc_smooth_5
Deleting Crystallographic maps (Z1241145220_refine_26.mtz)
Traceback (most recent call last):
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke
return self._func(self._name, data)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1013, in
_sim_end_cb
self._pr_sim_end_cb()
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1070, in
_pr_sim_end_cb
restraints =
self.position_restraint_mgr.get_restraints(self.sim_construct.all_atoms)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/molobject.py", line 2216, in get_restraints
return self._get_restraints(atoms)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/molobject.py", line 2169, in _get_restraints
num = f(self._c_pointer, atoms._c_pointers, create, n, pointer(ret))
AttributeError: 'PositionRestraintMgr' object has no attribute '_c_pointer'
Error processing trigger "sim terminated":
AttributeError: 'PositionRestraintMgr' object has no attribute '_c_pointer'
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/molobject.py", line 2169, in _get_restraints
num = f(self._c_pointer, atoms._c_pointers, create, n, pointer(ret))
See log for complete Python traceback.
Traceback (most recent call last):
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke
return self._func(self._name, data)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/validation/ramaplot.py", line 197, in _sim_end_cb
self._mode_change_cb()
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/validation/ramaplot.py", line 233, in _mode_change_cb
self.selection_mode = mode
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/validation/ramaplot.py", line 288, in selection_mode
self.set_target_residues(self.current_model.residues)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 43, in _getattr_
return base.__getattr__(self, attr_name, look_in_class=base)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 39, in _getattr_
return look_in_class._attr_registration.get_attr(attr_name)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 65, in get_attr
raise AttributeError("Execution of '%s' object's '%s' property raised
AttributeError" % (self.class_.__name__, attr_name)) from None
AttributeError: Execution of 'Structure' object's 'residues' property raised
AttributeError
Error processing trigger "simulation terminated":
AttributeError: Execution of 'Structure' object's 'residues' property raised
AttributeError
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 65, in get_attr
raise AttributeError("Execution of '%s' object's '%s' property raised
AttributeError" % (self.class_.__name__, attr_name)) from None
See log for complete Python traceback.
> ui tool show ISOLDE
> set selectionWidth 4
Chain information for Z1241145220_refine_26.pdb
---
Chain | Description
1.2/A | No description available
1.2/B | No description available
Done loading forcefield
Reflection data provided as intensities. Performing French & Wilson scaling to
convert to amplitudes...
> addh
Summary of feedback from adding hydrogens to Z1241145220_refine_26.pdb #1.2
---
warnings | Not adding hydrogens to /A LYS 125 CB because it is missing heavy-
atom bond partners
Not adding hydrogens to /A HIS 128 CB because it is missing heavy-atom bond
partners
Not adding hydrogens to /A LYS 168 CB because it is missing heavy-atom bond
partners
Not adding hydrogens to /B LYS 168 CB because it is missing heavy-atom bond
partners
notes | No usable SEQRES records for Z1241145220_refine_26.pdb (#1.2) chain A;
guessing termini instead
No usable SEQRES records for Z1241145220_refine_26.pdb (#1.2) chain B;
guessing termini instead
Chain-initial residues that are actual N termini: /A GLY 5, /B GLY 2
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 LYS 168, /B LYS 168
435 hydrogen bonds
/A LYS 168 is not terminus, removing H atom from 'C'
/B LYS 168 is not terminus, removing H atom from 'C'
3205 hydrogens added
Loading residue template for CLR from internal database
Loading residue template for OLC from internal database
Traceback (most recent call last):
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/validation/unparameterised.py", line 134, in
_show_selected_unparameterised_residue
ccd_template, description = get_ccd_template_and_name(self.session, tname)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/isolde/validation/unparameterised.py", line 126, in
get_ccd_template_and_name
tmpl = mmcif.find_template_residue(session, ccd_name)
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/atomic/mmcif/mmcif.py", line 378, in find_template_residue
return _mmcif.find_template_residue(name)
ValueError: No template for residue type ZNC
ValueError: No template for residue type ZNC
File "/programs/x86_64-linux/chimerax/1.0/lib/python3.7/site-
packages/chimerax/atomic/mmcif/mmcif.py", line 378, in find_template_residue
return _mmcif.find_template_residue(name)
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 440.44
OpenGL renderer: Quadro K4000/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Supermicro
Model: X9SRA/X9SRA-3
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
CPU: 12 Intel(R) Core(TM) i7-4960X CPU @ 3.60GHz
Cache Size: 15360 KB
Memory:
total used free shared buff/cache available
Mem: 15G 2.8G 9.7G 76M 3.0G 12G
Swap: 4.0G 0B 4.0G
Graphics:
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK106GL [Quadro K4000] [10de:11fa] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:097c]
Kernel driver in use: nvidia
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8
Change History (2)
comment:1 by , 5 years ago
| Component: | Unassigned → Third Party |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → ISOLDE: 'PositionRestraintMgr' object has no attribute '_c_pointer' |
comment:2 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
| Summary: | ISOLDE: 'PositionRestraintMgr' object has no attribute '_c_pointer' → Failure to correct ligand when no CCD template available |
Note:
See TracTickets
for help on using tickets.
The first traceback here:
AttributeError: 'PositionRestraintMgr' object has no attribute '_c_pointer'... was caused by closing the active model while a simulation was running. I'd strongly advise against doing that - with all the simulation-management callbacks in play, this is a nightmare to handle gracefully and right now ISOLDE doesn't really try.
The second arises when you're trying to correct a ligand which almost matches an MD template, but whose name doesn't appear in the Chemical Components Dictionary. That will be fixed in the next release (today or Monday, depending on progress), although corrections will be limited to adding only atoms that are directly connected to existing ones (i.e. mostly just adding and removing hydrogens). You'll eventually have the option to provide custom coordinate templates for ligands, but not quite yet.