Opened 6 years ago

Closed 6 years ago

#3057 closed defect (fixed)

pseudobond's atoms pb_scene_coord is None(?)

Reported by: Tristan Croll Owned by: Tom Goddard
Priority: normal Milestone:
Component: Depiction Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-3.10.0-1062.9.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
ChimeraX Version: 0.93 (2020-04-03)
Description
Running 'hbonds' on a model initialised in ISOLDE.

Log:
UCSF ChimeraX version: 0.93 (2020-04-03)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 6yla_refine_12.pdb

Summary of feedback from opening 6yla_refine_12.pdb  
---  
warnings | Ignored bad PDB record found on line 1  
REMARK Date 2020-04-16 Time 14:03:37 BST +0100 (1587042217.07 s)  
  
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 :
/run/media/tic20/storage/structure_dump/covid-19/6yla/6yla.mtz  
  
49 messages similar to the above omitted  
  
Chain information for 6yla_refine_12.pdb #1  
---  
Chain | Description  
A | No description available  
B | No description available  
C L | No description available  
E | No description available  
H | No description available  
  

> isolde start

> set selectionWidth 4

Chain information for 6yla_refine_12.pdb  
---  
Chain | Description  
1.2/A | No description available  
1.2/B | No description available  
1.2/C 1.2/L | No description available  
1.2/E | No description available  
1.2/H | No description available  
  
Done loading forcefield  

QWidget::repaint: Recursive repaint detected  

WARNING: found multiple possible R-free arrays:  
(dataset) R-free-flags,  
(dataset) R-free-flags-1  
Automatically choosing "(dataset) R-free-flags". If this is incorrect, please
either provide a file with a single flag array, or load the file again using
the free_flag_label argument.  

Reflection data provided as intensities. Performing French & Wilson scaling to
convert to amplitudes...  

> view /A:454

> set bgColor white

> open2
> /run/media/tic20/storage/structure_dump/covid-19/6yla/Refine_13/6yla_refine_13.pdb

Summary of feedback from opening <_io.textiowrapper
name="/run/media/tic20/storage/structure_dump/covid-19/6yla/Refine_13/6yla_refine_13.pdb"
mode="rt" encoding="utf-8">  
---  
warnings | Ignored bad PDB record found on line 1  
REMARK Date 2020-04-16 Time 16:08:52 BST +0100 (1587049732.54 s)  
  
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 :
/run/media/tic20/storage/structure_dump/covid-19/6yla/6yla.mtz  
  
54 messages similar to the above omitted  
  
Chain information for 6yla_refine_13.pdb #2  
---  
Chain | Description  
A | No description available  
B | No description available  
C L | No description available  
E | No description available  
H | No description available  
  

> select #2

10128 atoms, 10234 bonds, 6 pseudobonds, 2 models selected  

> style sel stick

Changed 10128 atom styles  

> hide #!1 models

> rama #2

Chain information for 6yla_refine_13.pdb  
---  
Chain | Description  
2.2/A | No description available  
2.2/B | No description available  
2.2/C 2.2/L | No description available  
2.2/E | No description available  
2.2/H | No description available  
  

> show #!1 models

> hide #!2 models

> show #!2 models

> hide #!2.2 models

> view /S:8

> addh

Summary of feedback from adding hydrogens to multiple structures  
---  
notes | No usable SEQRES records for 6yla_refine_12.pdb (#1.2) chain A;
guessing termini instead  
No usable SEQRES records for 6yla_refine_12.pdb (#1.2) chain B; guessing
termini instead  
No usable SEQRES records for 6yla_refine_12.pdb (#1.2) chain C; guessing
termini instead  
No usable SEQRES records for 6yla_refine_12.pdb (#1.2) chain E; guessing
termini instead  
No usable SEQRES records for 6yla_refine_12.pdb (#1.2) chain H; guessing
termini instead  
1 messages similar to the above omitted  
Chain-initial residues that are actual N termini: 6yla_refine_12.pdb #1.2/A
ILE 332, 6yla_refine_12.pdb #1.2/B THR 0, 6yla_refine_12.pdb #1.2/C ASP 1,
6yla_refine_12.pdb #1.2/E GLU 327, 6yla_refine_12.pdb #1.2/H THR 0,
6yla_refine_12.pdb #1.2/L ASP 1  
Chain-initial residues that are not actual N termini: 6yla_refine_12.pdb
#1.2/A ASN 448, 6yla_refine_12.pdb #1.2/B GLY 137, 6yla_refine_12.pdb #1.2/H
GLY 137  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: 6yla_refine_12.pdb #1.2/A
ASN 532, 6yla_refine_12.pdb #1.2/A VAL 445, 6yla_refine_12.pdb #1.2/B CYS 220,
6yla_refine_12.pdb #1.2/B SER 132, 6yla_refine_12.pdb #1.2/C GLU 219,
6yla_refine_12.pdb #1.2/E LYS 529, 6yla_refine_12.pdb #1.2/H SER 219,
6yla_refine_12.pdb #1.2/H SER 132, 6yla_refine_12.pdb #1.2/L GLU 219  
1594 hydrogen bonds  
Adding 'H' to 6yla_refine_12.pdb #1.2/A ASN 448  
Adding 'H' to 6yla_refine_12.pdb #1.2/B GLY 137  
Adding 'H' to 6yla_refine_12.pdb #1.2/H GLY 137  
6yla_refine_12.pdb #1.2/A ASN 532 is not terminus, removing H atom from 'C'  
6yla_refine_12.pdb #1.2/A VAL 445 is not terminus, removing H atom from 'C'  
6yla_refine_12.pdb #1.2/B CYS 220 is not terminus, removing H atom from 'C'  
6yla_refine_12.pdb #1.2/B SER 132 is not terminus, removing H atom from 'C'  
6yla_refine_12.pdb #1.2/C GLU 219 is not terminus, removing H atom from 'C'  
4 messages similar to the above omitted  
No usable SEQRES records for 6yla_refine_13.pdb (#2.2) chain A; guessing
termini instead  
No usable SEQRES records for 6yla_refine_13.pdb (#2.2) chain B; guessing
termini instead  
No usable SEQRES records for 6yla_refine_13.pdb (#2.2) chain C; guessing
termini instead  
No usable SEQRES records for 6yla_refine_13.pdb (#2.2) chain E; guessing
termini instead  
No usable SEQRES records for 6yla_refine_13.pdb (#2.2) chain H; guessing
termini instead  
1 messages similar to the above omitted  
Chain-initial residues that are actual N termini: 6yla_refine_13.pdb #2.2/A
ILE 332, 6yla_refine_13.pdb #2.2/B THR 0, 6yla_refine_13.pdb #2.2/C ASP 1,
6yla_refine_13.pdb #2.2/E GLU 327, 6yla_refine_13.pdb #2.2/H THR 0,
6yla_refine_13.pdb #2.2/L ASP 1  
Chain-initial residues that are not actual N termini: 6yla_refine_13.pdb
#2.2/A ASN 448, 6yla_refine_13.pdb #2.2/B GLY 137, 6yla_refine_13.pdb #2.2/H
GLY 137  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: 6yla_refine_13.pdb #2.2/A
ASN 532, 6yla_refine_13.pdb #2.2/A VAL 445, 6yla_refine_13.pdb #2.2/B CYS 220,
6yla_refine_13.pdb #2.2/B SER 132, 6yla_refine_13.pdb #2.2/C GLU 219,
6yla_refine_13.pdb #2.2/E LYS 529, 6yla_refine_13.pdb #2.2/H SER 219,
6yla_refine_13.pdb #2.2/H SER 132, 6yla_refine_13.pdb #2.2/L GLU 219  
1560 hydrogen bonds  
Adding 'H' to 6yla_refine_13.pdb #2.2/A ASN 448  
Adding 'H' to 6yla_refine_13.pdb #2.2/B GLY 137  
Adding 'H' to 6yla_refine_13.pdb #2.2/H GLY 137  
6yla_refine_13.pdb #2.2/A ASN 532 is not terminus, removing H atom from 'C'  
6yla_refine_13.pdb #2.2/A VAL 445 is not terminus, removing H atom from 'C'  
6yla_refine_13.pdb #2.2/B CYS 220 is not terminus, removing H atom from 'C'  
6yla_refine_13.pdb #2.2/B SER 132 is not terminus, removing H atom from 'C'  
6yla_refine_13.pdb #2.2/C GLU 219 is not terminus, removing H atom from 'C'  
4 messages similar to the above omitted  
19986 hydrogens added  
  
Loading residue template for DMS from internal database  
Loading residue template for PG0 from internal database  

> select clear

Updating bulk solvent parameters...  

> hide HC

> hbonds #1

4021 hydrogen bonds found  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/pbgroup.py", line 63, in pbg_update  
self._update_graphics()  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/pbgroup.py", line 218, in _update_graphics  
d.positions = self._update_positions(pbonds, bond_atoms)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/pbgroup.py", line 231, in _update_positions  
axyz0, axyz1 = to_pbg*ba1.pb_scene_coords, to_pbg*ba2.pb_scene_coords  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/molarray.py", line 749, in pb_scene_coords  
v[i] = a.pb_scene_coord  
File "cymol.pyx", line 242, in
chimerax.atomic.cymol.CyAtom.pb_scene_coord.__get__  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/geometry/place.py", line 122, in __mul__  
raise TypeError('Cannot multiply Place times "%s"' % str(p))  
TypeError: Cannot multiply Place times "None"  
  
Error processing trigger "changes":  
TypeError: Cannot multiply Place times "None"  
  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/geometry/place.py", line 122, in __mul__  
raise TypeError('Cannot multiply Place times "%s"' % str(p))  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/pbgroup.py", line 185, in _update_graphics_if_needed  
self._update_graphics(gc)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/pbgroup.py", line 218, in _update_graphics  
d.positions = self._update_positions(pbonds, bond_atoms)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/pbgroup.py", line 231, in _update_positions  
axyz0, axyz1 = to_pbg*ba1.pb_scene_coords, to_pbg*ba2.pb_scene_coords  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/atomic/molarray.py", line 749, in pb_scene_coords  
v[i] = a.pb_scene_coord  
File "cymol.pyx", line 242, in
chimerax.atomic.cymol.CyAtom.pb_scene_coord.__get__  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/geometry/place.py", line 122, in __mul__  
raise TypeError('Cannot multiply Place times "%s"' % str(p))  
TypeError: Cannot multiply Place times "None"  
  
Error processing trigger "graphics update":  
TypeError: Cannot multiply Place times "None"  
  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/geometry/place.py", line 122, in __mul__  
raise TypeError('Cannot multiply Place times "%s"' % str(p))  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 440.33.01
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: Precision T5600
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Cache Size: 20480 KB
Graphics:
	03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)
	Subsystem: NVIDIA Corporation Device [10de:11df]
	Kernel driver in use: nvidia

Change History (4)

in reply to:  1 ; comment:1 by Tristan Croll, 6 years ago

... but if I run hbonds on the model first, *then* prepare it for ISOLDE, everything works fine.
 

 


comment:2 by pett, 6 years ago

Cc: pett added
Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionpseudobond's atoms pb_scene_coord is None(?)

comment:3 by pett, 6 years ago

Component: GraphicsDepiction

comment:4 by Tom Goddard, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

I changed Atom.ribbon_coord to return None instead of throwing a KeyError (what sense does KeyError make?) maybe a month ago. But one of the try / except KeyError places I fixed was in cymol.pyx which it turns out was an autogenerated file so my fix was never saved. Fixed now.

The problem was relatively rare because it required a pseudobond (e.g. hbond) to a residue that has a hidden atom and ribbon displayed and yet the hidden atom is not a standard backbone atom (for which we draw the pseudobond to the position projected onto the ribbon). I guess ISOLDE hid some other atom that had an hbond going to it.

Note: See TracTickets for help on using tickets.