Opened 2 years ago
Last modified 2 years ago
#9249 assigned defect
SEQCROW: session save: 'OrbitalGrid' object has no attribute 'data'
| Reported by: | Owned by: | Tony Schaefer | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Third Party | Version: | |
| Keywords: | Cc: | Greg Couch, Tom Goddard | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.22000
ChimeraX Version: 1.6.1 (2023-05-09 17:57:07 UTC)
Description
Error when saving a ChimeraX session after opening ORCA output and rendering HOMO-LUMO with the Quantum Chemistry feature
Log:
You can double click a model's Name or ID in the model panel to edit those
fields
UCSF ChimeraX version: 1.6.1 (2023-05-09)
© 2016-2023 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
Updating list of available bundles failed: Internal Server Error
> toolshed show
> ui tool show Updates
> open "C:/Users/henri/OneDrive -
> id.uff.br/Academic/Calculations/UFRGS/RDB_NTIL/a/SP/NTILa.out"
Opened NTILa.out as an ORCA output file
> select /a:1@Br1
1 atom, 1 residue, 1 model selected
> style sel ball
Changed 1 atom style
> select clear
> select
63 atoms, 63 bonds, 1 residue, 1 model selected
> style sel stick
Changed 63 atom styles
> interfaces select & ~solvent
Missing or invalid "atoms" argument: invalid atoms specifier
> preset "overall look" "publication 1 (silhouettes)"
Using preset: Overall Look / Publication 1 (Silhouettes)
Preset expands to these ChimeraX commands:
set bg white
graphics silhouettes t
lighting depthCue f
> preset seqcrow ball-stick-endcap
Using preset: SEQCROW / Ball-Stick-Endcap
Preset implemented in Python; no expansion to individual ChimeraX commands
available.
> select clear
> lighting full
> lighting soft
> lighting simple
> preset seqcrow "ball-stick-endcap 2"
Using preset: SEQCROW / Ball-Stick-Endcap 2
Preset implemented in Python; no expansion to individual ChimeraX commands
available.
> preset seqcrow ball-stick-endcap
Using preset: SEQCROW / Ball-Stick-Endcap
Preset implemented in Python; no expansion to individual ChimeraX commands
available.
> ui tool show "Orbital Viewer"
Opened MO alpha 129 as #1.1, grid size 174,158,130, pixel 0.1,0.101,0.1, shown
at level -0.05,0.05, step 1, values float32
> hide #1.1
Opened MO alpha 130 as #1.2, grid size 174,158,130, pixel 0.1,0.101,0.1, shown
at level -0.05,0.05, step 1, values float32
> transparency 20
> show #1.2
> volume #1.2 level -0.050 level 0.050 color #ff007f80 color #ffff0080
> show #!1.1 models
> show #1.1.1 models
> show #1.1.2 models
> transparency 20
> transparency 30
> transparency 20
> transparency 30
> save "C:/Users/henri/OneDrive -
> id.uff.br/Academic/Calculations/UFRGS/RDB_NTIL/a/SP/HOMO-LUMO.cxs"
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 285, in process
data = sm.take_snapshot(obj, session, self.state_flags)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 200, in take_snapshot
data = state_from_grid_data(self.grid_data, session_path =
session.session_file_path,
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 310, in state_from_grid_data
bytes = dt.matrix().tobytes()
File "C:\Users\henri\AppData\Local\UCSF\ChimeraX\1.6\site-
packages\SEQCROW\tools\mo_viewer.py", line 83, in matrix
ijk_size = self.data.shape
AttributeError: 'OrbitalGrid' object has no attribute 'data'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 262, in discovery
self.processed[key] = self.process(obj, parents)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 290, in process
raise RuntimeError(msg) from e
RuntimeError: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201A93832B0>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 899, in save
session.save(output, version=version, include_maps=include_maps)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 625, in save
mgr.discovery(self._state_containers)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
ValueError: error processing: 'models' -> <chimerax.core.models.Models object
at 0x00000201EDCEC4F0> -> <chimerax.map.volume.VolumeSurface object at
0x00000201AC999670> 'surface' -> <chimerax.map.volume.Volume object at
0x00000201A93661F0> 'MO alpha 130' -> <chimerax.map.session.GridDataState
object at 0x00000201A93832B0>: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201A93832B0>
ValueError: error processing: 'models' -> -> 'surface' -> 'MO alpha 130' -> :
Error while saving session data for 'models' -> -> 'surface' -> 'MO alpha 130'
->
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 285, in process
data = sm.take_snapshot(obj, session, self.state_flags)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 200, in take_snapshot
data = state_from_grid_data(self.grid_data, session_path =
session.session_file_path,
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 310, in state_from_grid_data
bytes = dt.matrix().tobytes()
File "C:\Users\henri\AppData\Local\UCSF\ChimeraX\1.6\site-
packages\SEQCROW\tools\mo_viewer.py", line 83, in matrix
ijk_size = self.data.shape
AttributeError: 'OrbitalGrid' object has no attribute 'data'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 262, in discovery
self.processed[key] = self.process(obj, parents)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 290, in process
raise RuntimeError(msg) from e
RuntimeError: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201A93832B0>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\dialog.py", line 116, in <lambda>
lambda *args, ses=session: show_save_file_dialog(ses), tool_tip="Save output
file",
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\dialog.py", line 127, in show_save_file_dialog
_dlg.display(session, **kw)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\dialog.py", line 51, in display
run(session, cmd)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\run.py", line 38, in run
results = command.run(text, log=log, return_json=return_json)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\cmd.py", line 75, in cmd_save
Command(session, registry=registry).run(provider_cmd_text, log=log)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\cmd.py", line 90, in provider_save
saver_info.save(session, path, **provider_kw)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core_formats\\__init__.py", line 84, in save
return cxs_save(session, path, **kw)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 899, in save
session.save(output, version=version, include_maps=include_maps)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 625, in save
mgr.discovery(self._state_containers)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
ValueError: error processing: 'models' -> <chimerax.core.models.Models object
at 0x00000201EDCEC4F0> -> <chimerax.map.volume.VolumeSurface object at
0x00000201AC999670> 'surface' -> <chimerax.map.volume.Volume object at
0x00000201A93661F0> 'MO alpha 130' -> <chimerax.map.session.GridDataState
object at 0x00000201A93832B0>: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201A93832B0>
ValueError: error processing: 'models' -> -> 'surface' -> 'MO alpha 130' -> :
Error while saving session data for 'models' -> -> 'surface' -> 'MO alpha 130'
->
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
See log for complete Python traceback.
> save C:/Users/henri/NTILa_HL.cxs includeMaps true
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 285, in process
data = sm.take_snapshot(obj, session, self.state_flags)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 200, in take_snapshot
data = state_from_grid_data(self.grid_data, session_path =
session.session_file_path,
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 310, in state_from_grid_data
bytes = dt.matrix().tobytes()
File "C:\Users\henri\AppData\Local\UCSF\ChimeraX\1.6\site-
packages\SEQCROW\tools\mo_viewer.py", line 83, in matrix
ijk_size = self.data.shape
AttributeError: 'OrbitalGrid' object has no attribute 'data'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 262, in discovery
self.processed[key] = self.process(obj, parents)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 290, in process
raise RuntimeError(msg) from e
RuntimeError: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201B6933550>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 899, in save
session.save(output, version=version, include_maps=include_maps)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 625, in save
mgr.discovery(self._state_containers)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
ValueError: error processing: 'models' -> <chimerax.core.models.Models object
at 0x00000201EDCEC4F0> -> <chimerax.map.volume.VolumeSurface object at
0x00000201AC999670> 'surface' -> <chimerax.map.volume.Volume object at
0x00000201A93661F0> 'MO alpha 130' -> <chimerax.map.session.GridDataState
object at 0x00000201B6933550>: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201B6933550>
ValueError: error processing: 'models' -> -> 'surface' -> 'MO alpha 130' -> :
Error while saving session data for 'models' -> -> 'surface' -> 'MO alpha 130'
->
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 285, in process
data = sm.take_snapshot(obj, session, self.state_flags)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 200, in take_snapshot
data = state_from_grid_data(self.grid_data, session_path =
session.session_file_path,
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 310, in state_from_grid_data
bytes = dt.matrix().tobytes()
File "C:\Users\henri\AppData\Local\UCSF\ChimeraX\1.6\site-
packages\SEQCROW\tools\mo_viewer.py", line 83, in matrix
ijk_size = self.data.shape
AttributeError: 'OrbitalGrid' object has no attribute 'data'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 262, in discovery
self.processed[key] = self.process(obj, parents)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 290, in process
raise RuntimeError(msg) from e
RuntimeError: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201B6933550>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\dialog.py", line 116, in <lambda>
lambda *args, ses=session: show_save_file_dialog(ses), tool_tip="Save output
file",
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\dialog.py", line 127, in show_save_file_dialog
_dlg.display(session, **kw)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\dialog.py", line 51, in display
run(session, cmd)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\run.py", line 38, in run
results = command.run(text, log=log, return_json=return_json)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\cmd.py", line 75, in cmd_save
Command(session, registry=registry).run(provider_cmd_text, log=log)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run
result = ci.function(session, **kw_args)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\save_command\cmd.py", line 90, in provider_save
saver_info.save(session, path, **provider_kw)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core_formats\\__init__.py", line 84, in save
return cxs_save(session, path, **kw)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 899, in save
session.save(output, version=version, include_maps=include_maps)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 625, in save
mgr.discovery(self._state_containers)
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
ValueError: error processing: 'models' -> <chimerax.core.models.Models object
at 0x00000201EDCEC4F0> -> <chimerax.map.volume.VolumeSurface object at
0x00000201AC999670> 'surface' -> <chimerax.map.volume.Volume object at
0x00000201A93661F0> 'MO alpha 130' -> <chimerax.map.session.GridDataState
object at 0x00000201B6933550>: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x00000201EDCEC4F0> ->
<chimerax.map.volume.VolumeSurface object at 0x00000201AC999670> 'surface' ->
<chimerax.map.volume.Volume object at 0x00000201A93661F0> 'MO alpha 130' ->
<chimerax.map.session.GridDataState object at 0x00000201B6933550>
ValueError: error processing: 'models' -> -> 'surface' -> 'MO alpha 130' -> :
Error while saving session data for 'models' -> -> 'surface' -> 'MO alpha 130'
->
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\session.py", line 266, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))
See log for complete Python traceback.
OpenGL version: 3.3.14830 Core Profile Forward-Compatible Context 22.6.1 27.20.20913.2000
OpenGL renderer: AMD Radeon R7 M440
OpenGL vendor: ATI Technologies Inc.
Python: 3.9.11
Locale: en_US.cp1252
Qt version: PyQt6 6.4.2, Qt 6.4.2
Qt runtime version: 6.4.3
Qt platform: windows
Manufacturer: Dell Inc.
Model: Inspiron 5567
OS: Microsoft Windows 11 Pro (Build 22000)
Memory: 17,016,274,944
MaxProcessMemory: 137,438,953,344
CPU: 4 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
OSLanguage: en-US
Installed Packages:
alabaster: 0.7.13
appdirs: 1.4.4
argcomplete: 3.0.5
asttokens: 2.2.1
attrs: 22.2.0
Babel: 2.12.1
backcall: 0.2.0
basis-set-exchange: 0.9
beautifulsoup4: 4.11.2
blockdiag: 3.0.0
build: 0.10.0
certifi: 2023.5.7
cftime: 1.6.2
charset-normalizer: 3.1.0
ChimeraX-AddCharge: 1.5.9.1
ChimeraX-AddH: 2.2.5
ChimeraX-AlignmentAlgorithms: 2.0.1
ChimeraX-AlignmentHdrs: 3.3.1
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.9.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.3
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.43.10
ChimeraX-AtomicLibrary: 10.0.6
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.3.2
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.2
ChimeraX-BondRot: 2.0.1
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.8
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2.2
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.3.2
ChimeraX-ChangeChains: 1.0.2
ChimeraX-CheckWaters: 1.3.1
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.2.4
ChimeraX-Clipper: 0.21.0
ChimeraX-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.3
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.6.1
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.4.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.3
ChimeraX-Dicom: 1.2
ChimeraX-DistMonitor: 1.4
ChimeraX-DockPrep: 1.1.1
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1.1
ChimeraX-Hbonds: 2.4
ChimeraX-Help: 1.2.1
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ISOLDE: 1.6.0
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-Label: 1.1.7
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.2
ChimeraX-Map: 1.1.4
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0.1
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.2
ChimeraX-MatchMaker: 2.0.12
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.2
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.12
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.9
ChimeraX-ModelPanel: 1.3.7
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.0
ChimeraX-NIHPresets: 1.1.9
ChimeraX-NRRD: 1.0
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.10.1
ChimeraX-PDB: 2.7.2
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.1
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 3.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.1
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.8.3
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.1
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.10.3
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.1.2
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.2.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Topography: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.28.4
ChimeraX-uniprot: 2.2.2
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.2
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.1
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.1.3
comtypes: 1.1.14
contourpy: 1.0.7
cxservices: 1.2.2
cycler: 0.11.0
Cython: 0.29.33
debugpy: 1.6.7
decorator: 5.1.1
docutils: 0.19
executing: 1.2.0
filelock: 3.9.0
fonttools: 4.39.3
funcparserlib: 1.0.1
grako: 3.16.5
h5py: 3.8.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.35
imagecodecs: 2022.9.26
imagesize: 1.4.1
importlib-metadata: 6.6.0
ipykernel: 6.21.1
ipython: 8.10.0
ipython-genutils: 0.2.0
ipywidgets: 8.0.6
jedi: 0.18.2
Jinja2: 3.1.2
jsonschema: 4.17.3
jupyter-client: 8.0.2
jupyter-core: 5.3.0
jupyterlab-widgets: 3.0.7
kiwisolver: 1.4.4
line-profiler: 4.0.2
lxml: 4.9.2
lz4: 4.3.2
MarkupSafe: 2.1.2
matplotlib: 3.6.3
matplotlib-inline: 0.1.6
msgpack: 1.0.4
nest-asyncio: 1.5.6
netCDF4: 1.6.2
networkx: 2.8.8
nibabel: 5.0.1
nptyping: 2.5.0
numexpr: 2.8.4
numpy: 1.23.5
openvr: 1.23.701
packaging: 23.1
ParmEd: 3.4.3
parso: 0.8.3
pep517: 0.13.0
pickleshare: 0.7.5
Pillow: 9.3.0
pip: 23.0
pkginfo: 1.9.6
platformdirs: 3.5.0
prompt-toolkit: 3.0.38
psutil: 5.9.4
pure-eval: 0.2.2
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.14.0
pynrrd: 1.0.0
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.9
pyproject-hooks: 1.0.0
PyQt6-commercial: 6.4.2
PyQt6-Qt6: 6.4.3
PyQt6-sip: 13.4.1
PyQt6-WebEngine-commercial: 6.4.0
PyQt6-WebEngine-Qt6: 6.4.3
pyrsistent: 0.19.3
python-dateutil: 2.8.2
pytz: 2023.3
pywin32: 305
pyzmq: 25.0.2
qtconsole: 5.4.0
QtPy: 2.3.1
RandomWords: 0.4.0
regex: 2023.3.23
requests: 2.28.2
scipy: 1.9.3
Send2Trash: 1.8.0
SEQCROW: 1.6.5
setuptools: 67.4.0
sfftk-rw: 0.7.3
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.4.1
sphinx: 6.1.3
sphinx-autodoc-typehints: 1.22
sphinxcontrib-applehelp: 1.0.4
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.1
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
stack-data: 0.6.2
tables: 3.7.0
tcia-utils: 1.2.0
tifffile: 2022.10.10
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.3.1
traitlets: 5.9.0
typing-extensions: 4.5.0
tzdata: 2023.3
urllib3: 1.26.15
wcwidth: 0.2.6
webcolors: 1.12
wheel: 0.38.4
wheel-filename: 1.4.1
widgetsnbextension: 4.0.7
WMI: 1.5.1
zipp: 3.15.0
Change History (8)
comment:1 by , 2 years ago
| Component: | Unassigned → Third Party |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → SEQCROW: session save: 'OrbitalGrid' object has no attribute 'data' |
comment:2 by , 2 years ago
Henrique, Thanks for reporting this. I'm working on a fix, but it might take some time. I can get orbitals that have been drawn to save and load from session files, but I'm having issues storing the MO data, so you wouldn't be able to look at other orbitals or their energies. Eric (or any other dev), is there a way to get more details about why an object can't be saved to a session? Right now, I can just see warnings in the log, like "Unable to save X -> Y -> <Z object>. Session might not restore properly.". All the <Z objects> it lists are things I've added to my BundleAPI's `get_class`, but maybe there's some attribute of those objects causing issues? Thanks, Tony On Mon, Jun 26, 2023 at 12:26 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: > > > >
comment:3 by , 2 years ago
| Cc: | added |
|---|
Hi Tony,
The error output is kind of verbose, but I think the "real" problem is in the first error/traceback:
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\session.py", line 310, in state_from_grid_data
bytes = dt.matrix().tobytes()
File "C:\Users\henri\AppData\Local\UCSF\ChimeraX\1.6\site-
packages\SEQCROW\tools\mo_viewer.py", line 83, in matrix
ijk_size = self.data.shape
AttributeError: 'OrbitalGrid' object has no attribute 'data'
--Eric
comment:4 by , 2 years ago
Eric, Yes, I've fixed that error, but now I'm noticing other issues with saving sessions. A lot of data in other classes for things like calculating molecular orbitals or showing normal vibrational nodes. If this data can't be stored in a session file, I think it limits the use of saving session files with SEQCROW files. As an example, it looks like Henrique was looking at the HOMO and the LUMO. If Henrique saved the session and wanted to go back to look at the HOMO-LUMO gap, that data would not be in the session file - nor the data necessary to calculate other orbitals/electron density. The bug reported above affects saving the volume/surface data for the orbitals, but I'd like to save the object SEQCROW uses to store all the MO data. Here's an example of the warning I'm seeing now that I can save sessions "without error" (only warnings) in my development version of SEQCROW: Unable to save 'attribute registration' -> <chimerax.core.attributes.RegAttrManager object at 0x000002412D2FC8D0> -> <chimerax.atomic.structure.AtomicStructure object at 0x00000241772E7D50> 'sulfonamide-orbits' -> <AaronTools.orbitals.Orbitals object at 0x00000241732FB250>". Session might not restore properly. I'd like to figure out why the Orbitals object can't be stored. Thanks, Tony On Tue, Jun 27, 2023 at 11:02 AM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: > > > > > >
comment:5 by , 2 years ago
Hi Tony,
The ChimeraX session saving code only inherently knows how to save simple builtin Python types (int, string, etc.) and numpy types. For classes to save in sessions, they need to inherit from core.state.State and implement take_snapshot and restore_snapshot. That makes saving these AaronTools classes, like Orbitals, ugly.
I see two possible solutions. One is to import the AaronTools classes as a base class and deriving classes that also inherit from State, e.g.:
from AaronTools.orbitals import Orbitals as _Orbitals
class Orbitals(_Orbitals, State):
def take_snapshot(...):
...
def restore_snapshot(...):
...
This approach only works if the SEQCROW code is the only code creating the AaronTools classes. If AaronTools code also creates those classes then this method will run aground.
The other method is to use a "proxy" class that can save and restore the AaronTools class state, and inform the session-saving code about the classes. You make a dictionary that maps from classes that need saving to the classes that save them, and call
session.register_snapshot_methods(mapping_dict)
From the doc string for that method:
For session saving objects that do not have a State base class. Methods is a dictionary matching the class to be saved in sessions to another class with static methods take_snapshot(instance, session, flags) and restore_snapshot(session, data). There are examples of this approach in chimerax.graphics.gsession.
Both approaches will be a bit of work.
--Eric
comment:6 by , 2 years ago
Eric, Thanks for the help. The second approach isn't as bad as it could be. AaronTools can already cache many types of objects to a json file, so I'm able to just dump/load most things to a json string when taking/restoring a snapshot. I still have a bit more work to do, but I've made some progress. Thanks, Tony On Tue, Jun 27, 2023 at 12:43 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: > > > > > > > >
comment:8 by , 2 years ago
Henrique, The new SEQCROW version on the toolshed should be able to save session files. To update: * go to Tools -> More Tools... on the ChimeraX menu * go the the SEQCROW page and click the update button * restart ChimeraX Best, Tony On Mon, Jun 26, 2023 at 12:26 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: > > > >
Reported by Dr. Henrique de Castro