Opened 5 years ago

Closed 5 years ago

#3280 closed defect (fixed)

Error saving session in Clipper symmetry, CORE_STATE_VERSION gone

Reported by: Tristan Croll Owned by: Tristan Croll
Priority: normal Milestone:
Component: Sessions Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-3.10.0-1062.9.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
ChimeraX Version: 1.0 (2020-05-09)
Description
Looks like API changes have broken ISOLDE/Clipper's session save. I see CORE_STATE_VERSION no longer exists... what's the current guidance? Set my own state version numbering?

Log:
Startup Messages  
---  
warning | 'clip' is a prefix of an existing command 'clipper'  
  
UCSF ChimeraX version: 1.0rc202005090702 (2020-05-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open gprc-dlh1-car.cif

Summary of feedback from opening gprc-dlh1-car.cif  
---  
warnings | Skipping chem_comp category: Missing column 'type' near line 225  
Missing entity information. Treating each chain as a separate entity.  
Atom H1 is not in the residue template for MET #1 in chain ba  
Atom C1 is not in the residue template for GPC #101 in chain ba  
Atom H1 is not in the residue template for MET #1 in chain ab  
Atom H1 is not in the residue template for MET #1 in chain bb  
Atom C1 is not in the residue template for GPC #101 in chain bb  
Atom H1 is not in the residue template for MET #1 in chain ac  
Atom H1 is not in the residue template for MET #1 in chain bc  
Atom C1 is not in the residue template for GPC #101 in chain bc  
Atom H1 is not in the residue template for MET #1 in chain ad  
Atom H1 is not in the residue template for MET #1 in chain bd  
Atom C1 is not in the residue template for GPC #101 in chain bd  
Atom H1 is not in the residue template for MET #1 in chain ae  
Atom H1 is not in the residue template for MET #1 in chain be  
Atom C1 is not in the residue template for GPC #101 in chain be  
Atom H1 is not in the residue template for MET #1 in chain af  
Atom H1 is not in the residue template for MET #1 in chain bf  
Atom C1 is not in the residue template for GPC #101 in chain bf  
Atom H1 is not in the residue template for MET #1 in chain ag  
Atom H1 is not in the residue template for MET #1 in chain bg  
Atom C1 is not in the residue template for GPC #101 in chain bg  
Atom H1 is not in the residue template for MET #1 in chain ah  
Atom H1 is not in the residue template for MET #1 in chain bh  
Atom C1 is not in the residue template for GPC #101 in chain bh  
Atom H1 is not in the residue template for MET #1 in chain ai  
Atom H1 is not in the residue template for MET #1 in chain bi  
Atom H1 is not in the residue template for MET #1 in chain aj  
Atom C1 is not in the residue template for GPC #101 in chain aj  
Atom H1 is not in the residue template for MET #1 in chain bj  
Atom C1 is not in the residue template for GPC #101 in chain bj  
Atom H1 is not in the residue template for MET #1 in chain ak  
Atom H1 is not in the residue template for MET #1 in chain bk  
Atom C1 is not in the residue template for GPC #101 in chain bk  
Atom H1 is not in the residue template for MET #1 in chain al  
Atom H1 is not in the residue template for MET #1 in chain bl  
Atom C1 is not in the residue template for GPC #101 in chain bl  
Atom H1 is not in the residue template for MET #1 in chain am  
Atom H1 is not in the residue template for MET #1 in chain bm  
Atom H1 is not in the residue template for MET #1 in chain an  
Atom C1 is not in the residue template for GPC #101 in chain an  
Atom H1 is not in the residue template for MET #1 in chain bn  
Atom C1 is not in the residue template for GPC #101 in chain bn  
Atom H1 is not in the residue template for MET #1 in chain ao  
Atom H1 is not in the residue template for MET #1 in chain bo  
Atom C1 is not in the residue template for GPC #101 in chain bo  
Atom H1 is not in the residue template for MET #1 in chain ap  
Atom H1 is not in the residue template for MET #1 in chain bp  
Atom C1 is not in the residue template for GPC #101 in chain bp  
Atom H1 is not in the residue template for ALA #1 in chain L  
Atom C1 is not in the residue template for GP1 #701 in chain M  
Atom H1 is not in the residue template for SER #1 in chain H2  
Atom H1 is not in the residue template for MET #1 in chain H1  
Atom CH1 is not in the residue template for TRP #47 in chain H1  
Atom H1 is not in the residue template for MET #3 in chain AA  
Atom H1 is not in the residue template for MET #1 in chain BA  
Atom C1 is not in the residue template for GPC #101 in chain BA  
Atom H1 is not in the residue template for MET #3 in chain AW  
Atom H1 is not in the residue template for MET #1 in chain BW  
Atom C1 is not in the residue template for GPC #101 in chain BW  
Atom H1 is not in the residue template for MET #3 in chain AX  
Atom H1 is not in the residue template for MET #1 in chain BX  
Atom C1 is not in the residue template for GPC #101 in chain BX  
Atom H1 is not in the residue template for MET #3 in chain AV  
Atom C1 is not in the residue template for GPC #101 in chain AV  
Atom H1 is not in the residue template for MET #1 in chain BV  
Atom H1 is not in the residue template for MET #3 in chain AU  
Atom H1 is not in the residue template for MET #1 in chain BU  
Atom C1 is not in the residue template for GPC #101 in chain BU  
Atom H1 is not in the residue template for MET #3 in chain AB  
Atom H1 is not in the residue template for MET #1 in chain BB  
Atom C1 is not in the residue template for GPC #101 in chain BB  
Atom H1 is not in the residue template for MET #3 in chain AC  
Atom H1 is not in the residue template for MET #1 in chain BC  
Atom C1 is not in the residue template for GPC #101 in chain BC  
Atom H1 is not in the residue template for MET #3 in chain AD  
Atom H1 is not in the residue template for MET #1 in chain BD  
Atom C1 is not in the residue template for GPC #101 in chain BD  
Atom H1 is not in the residue template for MET #3 in chain AE  
Atom H1 is not in the residue template for MET #1 in chain BE  
Atom C1 is not in the residue template for GPC #101 in chain BE  
Atom H1 is not in the residue template for MET #3 in chain BF  
Atom H1 is not in the residue template for MET #1 in chain AF  
Atom C1 is not in the residue template for GPC #101 in chain AF  
Atom H1 is not in the residue template for MET #3 in chain BG  
Atom H1 is not in the residue template for MET #1 in chain AG  
Atom C1 is not in the residue template for GPC #101 in chain AG  
Atom H1 is not in the residue template for MET #3 in chain AH  
Atom H1 is not in the residue template for MET #1 in chain BH  
Atom C1 is not in the residue template for GPC #101 in chain BH  
Atom H1 is not in the residue template for MET #3 in chain AI  
Atom H1 is not in the residue template for MET #1 in chain BI  
Atom C1 is not in the residue template for GPC #101 in chain BI  
Atom H1 is not in the residue template for MET #3 in chain AJ  
Atom H1 is not in the residue template for MET #1 in chain BJ  
Atom C1 is not in the residue template for GPC #101 in chain BJ  
Atom H1 is not in the residue template for MET #3 in chain AK  
Atom H1 is not in the residue template for MET #1 in chain BK  
Atom C1 is not in the residue template for GPC #101 in chain BK  
Atom H1 is not in the residue template for MET #3 in chain AL  
Atom H1 is not in the residue template for MET #1 in chain BL  
Atom C1 is not in the residue template for GPC #101 in chain BL  
Atom H1 is not in the residue template for MET #3 in chain AM  
Atom H1 is not in the residue template for MET #1 in chain BM  
Atom C1 is not in the residue template for GPC #101 in chain BM  
Atom H1 is not in the residue template for MET #3 in chain AN  
Atom H1 is not in the residue template for MET #1 in chain BN  
Atom C1 is not in the residue template for GPC #101 in chain BN  
Atom H1 is not in the residue template for MET #3 in chain AO  
Atom H1 is not in the residue template for MET #1 in chain BO  
Atom C1 is not in the residue template for GPC #101 in chain BO  
Atom H1 is not in the residue template for MET #3 in chain AP  
Atom H1 is not in the residue template for MET #1 in chain BP  
Atom C1 is not in the residue template for GPC #101 in chain BP  
Atom H1 is not in the residue template for MET #3 in chain AQ  
Atom H1 is not in the residue template for MET #1 in chain BQ  
Atom C1 is not in the residue template for GPC #101 in chain BQ  
Atom H1 is not in the residue template for MET #3 in chain AR  
Atom H1 is not in the residue template for MET #1 in chain BR  
Atom C1 is not in the residue template for GPC #101 in chain BR  
Atom H1 is not in the residue template for MET #3 in chain AS  
Atom H1 is not in the residue template for MET #1 in chain BS  
Atom C1 is not in the residue template for GPC #101 in chain BS  
Atom H1 is not in the residue template for MET #3 in chain AT  
Atom H1 is not in the residue template for MET #1 in chain BT  
Atom C1 is not in the residue template for GPC #101 in chain BT  
Missing or incomplete entity_poly_seq table. Inferred polymer connectivity.  
Skipping chem_comp category: Missing column 'type' near line 90425  
Skipping chem_comp category: Missing column 'type' near line 90949  
Skipping chem_comp category: Missing column 'type' near line 91841  
Skipping chem_comp category: Missing column 'type' near line 91868  
Skipping chem_comp category: Missing column 'type' near line 92039  
  
Chain information for gprc-dlh1-car.cif #1  
---  
Chain | Description  
AA AB AC AD AE AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX BF BG | No
description available  
AF AG BA BB BC BD BE BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX ba bb
bc bd be bf bg bh bi bj bk bl bm bn bo bp | No description available  
C | No description available  
H1 | No description available  
H2 | No description available  
L | No description available  
M | No description available  
aa | No description available  
ab ac ad ae af ag ah ai aj ak al am an ao ap | No description available  
  

> open
> /run/media/tic20/storage/structure_dump/pu_qian/running/gprclh1-338aleft.mrc

Opened gprclh1-338aleft.mrc, grid size 300,300,300, pixel 1.05, shown at level
0.0201, step 2, values float32  

> clipper associate #2 toModel #1

Chain information for gprc-dlh1-car.cif  
---  
Chain | Description  
1.2/AA 1.2/AB 1.2/AC 1.2/AD 1.2/AE 1.2/AH 1.2/AI 1.2/AJ 1.2/AK 1.2/AL 1.2/AM
1.2/AN 1.2/AO 1.2/AP 1.2/AQ 1.2/AR 1.2/AS 1.2/AT 1.2/AU 1.2/AV 1.2/AW 1.2/AX
1.2/BF 1.2/BG | No description available  
1.2/AF 1.2/AG 1.2/BA 1.2/BB 1.2/BC 1.2/BD 1.2/BE 1.2/BH 1.2/BI 1.2/BJ 1.2/BK
1.2/BL 1.2/BM 1.2/BN 1.2/BO 1.2/BP 1.2/BQ 1.2/BR 1.2/BS 1.2/BT 1.2/BU 1.2/BV
1.2/BW 1.2/BX 1.2/ba 1.2/bb 1.2/bc 1.2/bd 1.2/be 1.2/bf 1.2/bg 1.2/bh 1.2/bi
1.2/bj 1.2/bk 1.2/bl 1.2/bm 1.2/bn 1.2/bo 1.2/bp | No description available  
1.2/C | No description available  
1.2/H1 | No description available  
1.2/H2 | No description available  
1.2/L | No description available  
1.2/M | No description available  
1.2/aa | No description available  
1.2/ab 1.2/ac 1.2/ad 1.2/ae 1.2/af 1.2/ag 1.2/ah 1.2/ai 1.2/aj 1.2/ak 1.2/al
1.2/am 1.2/an 1.2/ao 1.2/ap | No description available  
  

> isolde start

> set selectionWidth 4

Done loading forcefield  

> set bgColor white

> volume gaussian #1 bfactor 50

> clipper associate #2 toModel #1

> select :HEM

292 atoms, 304 bonds, 16 pseudobonds, 2 models selected  

> toolshed show Shell

/opt/UCSF/ChimeraX/lib/python3.7/site-packages/IPython/core/history.py:226:
UserWarning: IPython History requires SQLite, your history will not be saved  
warn("IPython History requires SQLite, your history will not be saved")  

2 atoms were automatically renamed to match the template: O1A->O2A, O2A->O1A  

> select up

77 atoms, 84 bonds, 1 model selected  

> style sel stick

Changed 77 atom styles  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

2 atoms were automatically renamed to match the template: O1A->O2A, O2A->O1A  

> select up

77 atoms, 84 bonds, 1 model selected  

> style sel stick

Changed 77 atom styles  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

2 atoms were automatically renamed to match the template: O1A->O2A, O2A->O1A  

> select up

77 atoms, 84 bonds, 1 model selected  

> style sel stick

Changed 77 atom styles  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

2 atoms were automatically renamed to match the template: O1A->O2A, O2A->O1A  

> select up

77 atoms, 84 bonds, 1 model selected  

> style sel stick

Changed 77 atom styles  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> delete sel

> preset custom "make bond"

> open /home/tic20/chimerax_presets/make_bond.py

executed make_bond.py  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> save hec_corrected.cif #1

Not saving entity_poly_seq for non-authoritative sequences  

> select :BCL

11760 atoms, 12096 bonds, 336 pseudobonds, 2 models selected  

> select up

11760 atoms, 12432 bonds, 336 pseudobonds, 2 models selected  

> style sel stick

Changed 11760 atom styles  

> select clear

> save working.cxs

Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 280, in process  
data = sm.take_snapshot(obj, session, self.state_flags)  
File "/home/tic20/.local/share/ChimeraX/1.0/site-
packages/chimerax/clipper/symmetry.py", line 1120, in take_snapshot  
from chimerax.core.state import CORE_STATE_VERSION  
ImportError: cannot import name 'CORE_STATE_VERSION' from
'chimerax.core.state' (/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/state.py)  
  
The above exception was the direct cause of the following exception:  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 817, in save  
session.save(output, version=version, include_maps=include_maps)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 568, in save  
mgr.discovery(self._state_containers)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 259, in discovery  
self.processed[key] = self.process(obj, parents)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 283, in process  
raise RuntimeError(msg) from e  
RuntimeError: Error while saving session data for 'custom_attr_preserver' ->
<chimerax.atomic.attr_registration.CustomizedInstanceManager object at
0x7f2eb010e550> -> <chimerax.atomic.molobject.Residue object at
0x7f2df802dfa0> 'GPC' -> <chimerax.atomic.structure.AtomicStructure object at
0x7f2e4c178a10> 'gprc-dlh1-car.cif' ->
<chimerax.clipper.symmetry.SymmetryManager object at 0x7f2eb202a190> 'Data
manager (gprc-dlh1-car.cif)'  
  
RuntimeError: Error while saving session data for 'custom_attr_preserver' ->
-> 'GPC' -> 'gprc-dlh1-car.cif' -> 'Data manager (gprc-dlh1-car.cif)'  
  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 283, in process  
raise RuntimeError(msg) from e  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 280, in process  
data = sm.take_snapshot(obj, session, self.state_flags)  
File "/home/tic20/.local/share/ChimeraX/1.0/site-
packages/chimerax/clipper/symmetry.py", line 1120, in take_snapshot  
from chimerax.core.state import CORE_STATE_VERSION  
ImportError: cannot import name 'CORE_STATE_VERSION' from
'chimerax.core.state' (/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/state.py)  
  
The above exception was the direct cause of the following exception:  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py", line 258, in execute  
cmd.run(cmd_text)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2849, in run  
result = ci.function(session, **kw_args)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/save_command/cmd.py", line 66, in cmd_save  
Command(session, registry=registry).run(provider_cmd_text, log=log)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2849, in run  
result = ci.function(session, **kw_args)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/save_command/cmd.py", line 79, in provider_save  
mgr).save(session, path, **provider_kw)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core_formats/__init__.py", line 79, in save  
return cxs_save(session, path, **kw)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 817, in save  
session.save(output, version=version, include_maps=include_maps)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 568, in save  
mgr.discovery(self._state_containers)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 259, in discovery  
self.processed[key] = self.process(obj, parents)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 283, in process  
raise RuntimeError(msg) from e  
RuntimeError: Error while saving session data for 'custom_attr_preserver' ->
<chimerax.atomic.attr_registration.CustomizedInstanceManager object at
0x7f2eb010e550> -> <chimerax.atomic.molobject.Residue object at
0x7f2df802dfa0> 'GPC' -> <chimerax.atomic.structure.AtomicStructure object at
0x7f2e4c178a10> 'gprc-dlh1-car.cif' ->
<chimerax.clipper.symmetry.SymmetryManager object at 0x7f2eb202a190> 'Data
manager (gprc-dlh1-car.cif)'  
  
RuntimeError: Error while saving session data for 'custom_attr_preserver' ->
-> 'GPC' -> 'gprc-dlh1-car.cif' -> 'Data manager (gprc-dlh1-car.cif)'  
  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/session.py", line 283, in process  
raise RuntimeError(msg) from e  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 440.33.01
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: Precision T5600
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Cache Size: 20480 KB
Memory:
	              total        used        free      shared  buff/cache   available
	Mem:            62G        5.0G         47G        313M         10G         56G
	Swap:          4.9G          0B        4.9G

Graphics:
	03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)	
	Subsystem: NVIDIA Corporation Device [10de:11df]	
	Kernel driver in use: nvidia

Change History (3)

comment:1 by Tom Goddard, 5 years ago

Component: UnassignedSessions
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionError saving session in Clipper symmetry, CORE_STATE_VERSION gone

I think Greg remove CORE_STATE_VERSION. You probably copied that code from some other bundle, but that was not right. The version number you should put into the Clipper session save data is the version of the Clipper session info, in other words it is specific to Clipper and you bump it up when you want Clipper session restore to be able to distinguish older versions of its session info. So replace CORE_STATE_VERSION with a CLIPPER_SESSION_VERSION = 1.

in reply to:  2 ; comment:2 by Tristan Croll, 5 years ago

Fair enough. At the time I did it that was a constant in every bundle I 
looked at... assumed it was referring to the version of the core saving 
framework, rather than the version of the bundle.

On 2020-05-22 17:31, ChimeraX wrote:

comment:3 by Tristan Croll, 5 years ago

Resolution: fixed
Status: assignedclosed

All sorted. Saving and restoring happily again.

Note: See TracTickets for help on using tickets.