Opened 5 years ago

Closed 5 years ago

#3659 closed defect (fixed)

Failure to correct ligand when no CCD template available

Reported by: assaf_alon@… 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 pett, 5 years ago

Component: UnassignedThird Party
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionISOLDE: 'PositionRestraintMgr' object has no attribute '_c_pointer'

comment:2 by Tristan Croll, 5 years ago

Resolution: fixed
Status: assignedclosed
Summary: ISOLDE: 'PositionRestraintMgr' object has no attribute '_c_pointer'Failure to correct ligand when no CCD template available

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.

Note: See TracTickets for help on using tickets.