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)

2fae-assembly-1.cif (102.8 KB ) - added by Eric Pettersen 3 years ago.

Download all attachments as: .zip

Change History (4)

by Eric Pettersen, 3 years ago

Attachment: 2fae-assembly-1.cif added

comment:1 by Tom Goddard, 3 years ago

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()

comment:2 by Tom Goddard, 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 Tom Goddard, 3 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.