Opened 3 years ago
Closed 3 years ago
#8045 closed defect (fixed)
Bad symmetry table entries
| Reported by: | Eric Pettersen | Owned by: | Tom Goddard |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Higher-Order Structure | Version: | |
| Keywords: | Cc: | kristen.browne@…, Greg Couch | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
Click on entry 1 of the symmetry table for the attached file works okay. Entries 2 and 3 produce "Tried to get the position of deleted drawing "2fae-assembly-1.cif"". Didn't try the others.
Attachments (1)
Change History (4)
by , 3 years ago
| Attachment: | 2fae-assembly-1.cif added |
|---|
comment:1 by , 3 years ago
comment:2 by , 3 years ago
The error unsurprisingly is because the mmCIF file contains bad data. Specifically assembly 2 only contains chains B,I,L,N, but the structure has only chain A. That results in an empty structure for assembly 2 and it is auto-deleted when all its atoms are deleted, and then gives the error when trying to add it to the session.
I've added a check for this (daily build, not in 1.5) and it issues a warning
sym #1 assembly 2 Assembly chain ids B,I,L,N are not present in structure 2fae-assembly-1.cif #1
comment:3 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
sym #1 assembly 2 Traceback (most recent call last): File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 320, in interceptRequest self._callback(info) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 93, in _intercept return interceptor(request_info, *args) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/log/tool.py", line 206, in link_intercept chimerax_intercept(request_info, *args, session=self.session, view=self, **kw) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 455, in chimerax_intercept session.ui.thread_safe(defer, session, qurl.url(no_formatting), from_dir) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/ui/gui.py", line 364, in thread_safe func(*args, **kw) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 446, in defer cxcmd(session, topic) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 464, in cxcmd run(session, cmd) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/core/commands/run.py", line 38, in run results = command.run(text, log=log, return_json=return_json) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/core/commands/cli.py", line 2897, in run result = ci.function(session, **kw_args) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/std_commands/sym.py", line 125, in sym a.show_copies(m, surface_only, resolution, grid_spacing, session) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/std_commands/sym.py", line 413, in show_copies g = session.models.add_group(mlist) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/core/models.py", line 890, in add_group self.add([group], parent=parent) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/core/models.py", line 721, in add m.added_to_session(session) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/atomic/structure.py", line 1246, in added_to_session super().added_to_session(session) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/atomic/structure.py", line 179, in added_to_session if not self.scene_position.is_identity(): File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 508, in _get_scene_position return product([d.position for d in self.drawing_lineage]) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 508, in <listcomp> return product([d.position for d in self.drawing_lineage]) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 491, in _drawing_get_position raise RuntimeError('Tried to get the position of deleted drawing "%s"' % self.name) RuntimeError: Tried to get the position of deleted drawing "2fae-assembly-1.cif" RuntimeError: Tried to get the position of deleted drawing "2fae-assembly-1.cif" File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 491, in _drawing_get_position raise RuntimeError('Tried to get the position of deleted drawing "%s"' % self.name) See log for complete Python traceback. An error occurred in drawing the scene. Redrawing graphics is now stopped to avoid a continuous stream of error messages. To restart graphics use the command "graphics restart" after changing the settings that caused the error. object of type 'NoneType' has no len() Traceback (most recent call last): File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/core/updateloop.py", line 73, in draw_new_frame view.draw(check_for_changes = False) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/view.py", line 177, in draw self._draw_scene(camera, drawings) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/view.py", line 201, in _draw_scene highlight_drawings, on_top_drawings) = self._drawings_by_pass(mdraw) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/view.py", line 272, in _drawings_by_pass d.drawings_for_each_pass(pass_drawings) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 755, in drawings_for_each_pass d.drawings_for_each_pass(pass_drawings) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 755, in drawings_for_each_pass d.drawings_for_each_pass(pass_drawings) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 733, in drawings_for_each_pass if not self.display: File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax/graphics/drawing.py", line 377, in get_display return self._any_displayed_positions and len(self._positions) > 0 TypeError: object of type 'NoneType' has no len()