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: | Eric Pettersen | |
| 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)
comment:2 by , 6 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Graphics |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → pseudobond's atoms pb_scene_coord is None(?) |
comment:3 by , 6 years ago
| Component: | Graphics → Depiction |
|---|
comment:4 by , 6 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
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.