Opened 7 years ago

Closed 6 years ago

#1842 closed defect (fixed)

Session save: Unable to restore objects of ImageDrawing class in ChimeraX-Map bundle

Reported by: Elaine Meng Owned by: Tom Goddard
Priority: normal Milestone:
Component: Sessions Version:
Keywords: Cc: Greg Couch
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-17.7.0-x86_64-i386-64bit
ChimeraX Version: 0.9 (2019-04-10)
Description
tried to save solid-rendered volume session 

I don't think the data matters, but it was emdb 1024

Log:
> open /Users/meng/Desktop/startup.cxc

> alias reset view orient; view initial

> open presets.cxc

> alias cardef car style modeh def arrows t arrowshelix f arrowscale 2 wid 2
thick 0.4 sides 12 div 20; car style ~(nucleic|strand) x round; car style
(nucleic|strand) x rect

> alias nospheres style (protein|nucleic|solvent) & @@draw_mode=0 stick

> alias nucrib cardef; car style nucleic x round width 1.6 thick 1.6

> alias cylinders cardef; car style protein modeh tube rad 2 sides 24 thick
0.6

> alias licorice cardef; car style protein modeh default arrows f x round
width 1 thick 1

> alias cartoon1 surf hide; nospheres; cartoon; cardef; nuc tube/slab shape
box

> alias cartoon2 surf hide; nospheres; cartoon; cylinders; car style nucleic x
round width 1.6 thick 1.6; nuc stubs

> alias cartoon3 surf hide; nospheres; cartoon; licorice; car style nucleic x
round width 1.6 thick 1.6; nuc tube/slab shape ellipsoid

> alias surfw nospheres; surface; color white targ s trans 80

> alias surfat nospheres; surface; color fromatoms targ s trans 70

> alias surfc nospheres; surface; color bychain targ s trans 0

> alias surfm nospheres; surface; color bymodel targ s trans 0

> alias pub set bgcolor white silhouettes t

> alias unpub ~set bgcolor; set silhouettes f

executed presets.cxc  
executed startup.cxc  
UCSF ChimeraX version: 0.9 (2019-04-10)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> toolshed show Toolbar

Traceback (most recent call last):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 625, in start_tool  
ti = api._api_caller.start_tool(api, session, self, tool_info)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/__init__.py", line 1476, in start_tool  
return cls._get_func(api, "start_tool")(session, bi, ti)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/toolbar/__init__.py", line 17, in start_tool  
return tool.ToolbarTool(session, ti.name)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/toolbar/tool.py", line 49, in __init__  
run(session, "toolshed hide 'Molecule Display Toolbar'", log=False)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/run.py", line 31, in run  
results = command.run(text, log=log)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2628, in run  
result = ci.function(session, **kw_args)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/toolshed.py", line 357, in toolshed_hide  
toolshed_show(session, tool_name, _show=False)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/toolshed.py", line 344, in toolshed_show  
raise UserError('No running tool named "%s"' % tool_name)  
chimerax.core.errors.UserError: No running tool named "Molecule Display
Toolbar"  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/ui/gui.py", line 1003, in <lambda>  
run(ses, "toolshed show %s" % (quote_if_necessary(fave))))  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/run.py", line 31, in run  
results = command.run(text, log=log)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2628, in run  
result = ci.function(session, **kw_args)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/toolshed.py", line 337, in toolshed_show  
bi.start_tool(session, tool_name)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 631, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Toolbar in
bundle ChimeraX-Toolbar:  
No running tool named "Molecule Display Toolbar"  
  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Toolbar in
bundle ChimeraX-Toolbar:  
No running tool named "Molecule Display Toolbar"  
  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 631, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
  
See log for complete Python traceback.  
  

> open 2gbp format mmCIF fromDatabase pdb

2gbp title:  
Sugar and signal-transducer binding sites of the escherichia coli galactose
chemoreceptor protein [more info...]  
  
Chain information for 2gbp #1  
---  
Chain | Description  
A | D-galactose/D-glucose binding protein  
  
Non-standard residues in 2gbp #1  
---  
BGC — β-D-glucose  
CA — calcium ion  
  
  

> molmap protein 8

> volume selMaps appearance initial

> close

> open mapicon.cxs

opened ChimeraX session  

> set bgColor black

> volume all colormapOnGpu true

Expected an objects specifier or a view name or a keyword  

> view name v1

> volume all dimTransparency false

> volume all dimTransparentVoxels false

> volume all dimTransparentVoxels true

> save blobicon.cxs

Traceback (most recent call last):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py", line 253, in execute  
cmd.run(cmd_text)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2628, in run  
result = ci.function(session, **kw_args)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/save.py", line 61, in save  
fmt.export(session, filename, fmt.nicknames[0], **kw)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/io.py", line 213, in export  
result = self.export_func(session, path, **kw)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 730, in save  
session.save(output, version=version, include_maps=include_maps)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 497, in save  
mgr.discovery(self._state_containers)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 234, in discovery  
self.processed[key] = self.process(obj)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 265, in process  
return copy_state(data, convert=self._add_obj)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 174, in copy_state  
return _copy(data)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 161, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 161, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 161, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 161, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 161, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 161, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py", line 172, in _copy  
return convert(data)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 240, in _add_obj  
uid = _UniqueName.from_obj(self.session, obj)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 142, in from_obj  
(obj_cls.__name__, bundle_info.name))  
RuntimeError: Unable to restore objects of ImageDrawing class in ChimeraX-Map
bundle because the class name is not listed in the name to class table for
session restore  
  
RuntimeError: Unable to restore objects of ImageDrawing class in ChimeraX-Map
bundle because the class name is not listed in the name to class table for
session restore  
  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 142, in from_obj  
(obj_cls.__name__, bundle_info.name))  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 NVIDIA-10.32.0 355.11.10.10.40.102
OpenGL renderer: NVIDIA GeForce GTX 675MX OpenGL Engine
OpenGL vendor: NVIDIA Corporation

Change History (3)

comment:1 by Eric Pettersen, 7 years ago

Cc: Tom Goddard added
Component: UnassignedSessions
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionSession save: Unable to restore objects of ImageDrawing class in ChimeraX-Map bundle

comment:2 by Tom Goddard, 7 years ago

Cc: Greg Couch added; Tom Goddard removed
Owner: changed from Greg Couch to Tom Goddard

The problem is the named view includes the solid rendering submodel of volume, but that submodel is not saved in the session since it is recreated by the volume model. Have to think about how to handle this.

comment:3 by Tom Goddard, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Made image rendering submodel restore itself in sessions so that named views and other tools can save references to this model.

Note: See TracTickets for help on using tickets.