Opened 6 years ago

Closed 6 years ago

#3094 closed defect (fixed)

Ribbon error after deleting atoms

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

Description

The following bug report has been submitted:
Platform:        Darwin-19.4.0-x86_64-i386-64bit
ChimeraX Version: 0.94 (2020-04-16)
Description
Drag select narrow horizontal rectangle and delete selection while ribbon shown (preset / cylinders stubs).  Looks like the ranges argument was N x 3 instead of N x 2 which seems impossible.

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

> open 1cqt format mmCIF fromDatabase pdb

1cqt title:  
Crystal structure of A ternary complex containing an oca-B peptide, the oct-1
pou domain, and an octamer element [more info...]  
  
Chain information for 1cqt #1  
---  
Chain | Description  
A B | pou domain, class 2, transcription factor 1  
I J | pou domain, class 2, associating factor 1  
M O | DNA (5'-D(*TP*GP*TP*ap*TP*GP*CP*ap*ap*ap*TP*ap*ap*GP*G)-3')  
N P | DNA (5'-D(*ap*CP*CP*TP*TP*ap*TP*TP*TP*GP*CP*ap*TP*ap*C)-3')  
  
1cqt mmCIF Assemblies  
---  
1| author_defined_assembly  
2| author_defined_assembly  
  
  

> show cartoons

> style stick

Changed 3649 atom styles  

> select /A:112

8 atoms, 7 bonds, 1 model selected  

> delete sel

> delete /A@CA

Drag select of 8 atoms, 1 residues, 6 bonds  

> delete sel

Drag select of 84 atoms, 68 bonds  

> delete sel

Traceback (most recent call last):  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py", line 258, in execute  
cmd.run(cmd_text)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2848, in run  
result = ci.function(session, **kw_args)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/std_commands/delete.py", line 22, in delete  
delete_atoms(session, atoms, attached_hyds=attached_hyds)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/std_commands/delete.py", line 39, in delete_atoms  
atoms.delete()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/molarray.py", line 726, in delete  
args = [ctypes.c_void_p, ctypes.c_size_t])(self._c_pointers, len(self))  
ValueError: No atom in newly disconnected residue lost any bonds!  
  
ValueError: No atom in newly disconnected residue lost any bonds!  
  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/molarray.py", line 726, in delete  
args = [ctypes.c_void_p, ctypes.c_size_t])(self._c_pointers, len(self))  
  
See log for complete Python traceback.  
  

> close

> open 1cqt format mmCIF fromDatabase pdb

1cqt title:  
Crystal structure of A ternary complex containing an oca-B peptide, the oct-1
pou domain, and an octamer element [more info...]  
  
Chain information for 1cqt #1  
---  
Chain | Description  
A B | pou domain, class 2, transcription factor 1  
I J | pou domain, class 2, associating factor 1  
M O | DNA (5'-D(*TP*GP*TP*ap*TP*GP*CP*ap*ap*ap*TP*ap*ap*GP*G)-3')  
N P | DNA (5'-D(*ap*CP*CP*TP*TP*ap*TP*TP*TP*GP*CP*ap*TP*ap*C)-3')  
  
1cqt mmCIF Assemblies  
---  
1| author_defined_assembly  
2| author_defined_assembly  
  
  

> preset cartoons/nucleotides cylinders/stubs

Changed 3649 atom styles  
Preset expands to these ChimeraX commands:

    
    
    show nucleic
    hide protein|solvent|H
    surf hide
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    cartoon
    cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
    cartoon style ~(nucleic|strand) x round
    cartoon style (nucleic|strand) x rect
    cartoon style protein modeh tube rad 2 sides 24 thick 0.6
    cartoon style nucleic x round width 1.6 thick 1.6
    nucleotides stubs

  

> select /B:642

9 atoms, 8 bonds, 1 model selected  

> delete sel

> select /N:227

21 atoms, 23 bonds, 1 model selected  

> delete sel

Drag select of 71 residues, 2 shapes  

> delete sel

Drag select of 38 residues, 4 shapes  

> delete sel

Traceback (most recent call last):  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 1544, in
_update_graphics_if_needed  
s[i]._update_graphics_if_needed()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 297, in
_update_graphics_if_needed  
self._create_ribbon_graphics()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 550, in _create_ribbon_graphics  
ribbons_drawing.compute_ribbons(self)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/ribbon.py", line 586, in compute_ribbons  
_make_ribbon_graphics(structure, self)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/ribbon.py", line 160, in _make_ribbon_graphics  
_ribbon_geometry(path, display_ranges, len(residues), xs_front, xs_back,
geometry)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/ribbon.py", line 435, in _ribbon_geometry  
num_res, xsf, xsb, geometry._geom_cpp)  
TypeError: Second array dimension must have size 2, got 3  
  
Error processing trigger "graphics update":  
TypeError: Second array dimension must have size 2, got 3  
  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/ribbon.py", line 435, in _ribbon_geometry  
num_res, xsf, xsb, geometry._geom_cpp)  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 ATI-3.8.24
OpenGL renderer: AMD Radeon Pro Vega 20 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.

Change History (2)

comment:1 by Tom Goddard, 6 years ago

Component: UnassignedDepiction
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionRibbon error after deleting atoms

comment:2 by Tom Goddard, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

An empty ribbon residue range caused this error due to a bug in Python to C++ array parsing that turned a list of length 0 into a 0 by 3 array.

Note: See TracTickets for help on using tickets.