Opened 11 months ago

Closed 11 months ago

Last modified 11 months ago

#16385 closed defect (fixed)

Attempt to save 3D label for dead pseudobond in session

Reported by: martzeric@… Owned by: pett
Priority: normal Milestone:
Component: Sessions Version:
Keywords: Cc: Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-14.7.1-arm64-arm-64bit
ChimeraX Version: 1.9rc202410290434 (2024-10-29 04:34:53 UTC)
Description
Load 7pmx and 7pmy.
Use MatchMaker to superpose both chains A and B (B is a dipeptide).
morph #1,2 frames 12 wrap true slider true
(play morph, slow to #3, pause)
File, Save ... (crash)
Happy to provide more info or snapshots if you need them.

Log:
Startup Messages  
---  
note | available bundle cache has not been initialized yet  
  
UCSF ChimeraX version: 1.9rc202410290434 (2024-10-29)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open "/Users/emartz/Documents/MolVis/Morphs/peptide transporter 7pmx
> 7pmy/PDB/7pmx.pdb" format pdb

7pmx.pdb title:  
HSPEPT1 bound to ala-phe In the outward facing open conformation [more
info...]  
  
Chain information for 7pmx.pdb #1  
---  
Chain | Description | UniProt  
A | solute carrier family 15 member 1 | S15A1_HUMAN 1-708  
B | ala-phe |   
  

> open 7pmy fromDatabase pdb format mmcif

Summary of feedback from opening 7pmy fetched from pdb  
---  
note | Fetching compressed mmCIF 7pmy from http://files.rcsb.org/download/7pmy.cif  
  
7pmy title:  
HsPepT2 bound to Ala-Phe in the inward facing partially occluded conformation
[more info...]  
  
Chain information for 7pmy #2  
---  
Chain | Description | UniProt  
A | Solute carrier family 15 member 2 | S15A2_HUMAN 1-729  
B | ALA-PHE |   
  

> ui tool show Matchmaker

> matchmaker #2/B#2/A to #1/B#1/A pairing ss

Computing secondary structure  
[Repeated 1 time(s)]  Parameters  
---  
Chain pairing | ss  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7pmx.pdb, chain B (#1) with 7pmy, chain B (#2), sequence alignment
score = 9.4  
Matchmaker 7pmx.pdb, chain A (#1) with 7pmy, chain A (#2), sequence alignment
score = 1898.6  
RMSD between 182 pruned atom pairs is 1.341 angstroms; (across all 633 pairs:
4.805)  
  

> morph #1,2 frames 12 wrap true slider true

Computed 25 frame morph #3  

> coordset #3 1,25

> save /Users/emartz/Desktop/xyz.cxs

Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 322, in process  
data = sm.take_snapshot(obj, session, self.state_flags)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 697, in take_snapshot  
lstate = tuple({attr:getattr(l, attr) for attr in lattrs}  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 697, in <genexpr>  
lstate = tuple({attr:getattr(l, attr) for attr in lattrs}  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 697, in <dictcomp>  
lstate = tuple({attr:getattr(l, attr) for attr in lattrs}  
^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 796, in _get_offset  
return self.default_offset() if self._offset is None else self._offset  
^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 960, in default_offset  
return (0.2+self.pseudobond.radius, 0, 0.5)  
^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/molc.py", line 106, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'Pseudobond' object has no attribute '_c_pointer_ref'  
  
The above exception was the direct cause of the following exception:  
  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 297, in discovery  
self.processed[key] = self.process(obj, parents)  
^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 329, in process  
raise RuntimeError(msg) from e  
RuntimeError: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x1093d6ad0> ->
<chimerax.label.label3d.ObjectLabels object at 0x35b859a90> 'labels'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 1051, in save  
session.save(output, version=version, include_maps=include_maps)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 741, in save  
mgr.discovery(self._state_containers)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 301, in discovery  
raise ValueError(  
ValueError: error processing: 'models' -> <chimerax.core.models.Models object
at 0x1093d6ad0> -> <chimerax.label.label3d.ObjectLabels object at 0x35b859a90>
'labels': Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x1093d6ad0> ->
<chimerax.label.label3d.ObjectLabels object at 0x35b859a90> 'labels'  
  
ValueError: error processing: 'models' -> -> 'labels': Error while saving
session data for 'models' -> -> 'labels'  
  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 301, in discovery  
raise ValueError(  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 322, in process  
data = sm.take_snapshot(obj, session, self.state_flags)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 697, in take_snapshot  
lstate = tuple({attr:getattr(l, attr) for attr in lattrs}  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 697, in <genexpr>  
lstate = tuple({attr:getattr(l, attr) for attr in lattrs}  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 697, in <dictcomp>  
lstate = tuple({attr:getattr(l, attr) for attr in lattrs}  
^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 796, in _get_offset  
return self.default_offset() if self._offset is None else self._offset  
^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/label/label3d.py", line 960, in default_offset  
return (0.2+self.pseudobond.radius, 0, 0.5)  
^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/atomic/molc.py", line 106, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
^^^^^^^^^^^^^^^^^^^  
AttributeError: 'Pseudobond' object has no attribute '_c_pointer_ref'  
  
The above exception was the direct cause of the following exception:  
  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 297, in discovery  
self.processed[key] = self.process(obj, parents)  
^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 329, in process  
raise RuntimeError(msg) from e  
RuntimeError: Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x1093d6ad0> ->
<chimerax.label.label3d.ObjectLabels object at 0x35b859a90> 'labels'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/save_command/dialog.py", line 127, in <lambda>  
lambda *args, ses=session: show_save_file_dialog(ses), tool_tip="Save output
file",  
^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/save_command/dialog.py", line 138, in show_save_file_dialog  
_dlg.display(session, **kw)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/save_command/dialog.py", line 62, in display  
run(session, cmd)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/run.py", line 49, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/save_command/cmd.py", line 86, in cmd_save  
Command(session, registry=registry).run(provider_cmd_text, log=log)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/save_command/cmd.py", line 101, in provider_save  
saver_info.save(session, path, **provider_kw)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core_formats/__init__.py", line 95, in save  
return cxs_save(session, path, **kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 1051, in save  
session.save(output, version=version, include_maps=include_maps)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 741, in save  
mgr.discovery(self._state_containers)  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 301, in discovery  
raise ValueError(  
ValueError: error processing: 'models' -> <chimerax.core.models.Models object
at 0x1093d6ad0> -> <chimerax.label.label3d.ObjectLabels object at 0x35b859a90>
'labels': Error while saving session data for 'models' ->
<chimerax.core.models.Models object at 0x1093d6ad0> ->
<chimerax.label.label3d.ObjectLabels object at 0x35b859a90> 'labels'  
  
ValueError: error processing: 'models' -> -> 'labels': Error while saving
session data for 'models' -> -> 'labels'  
  
File
"/Applications/ChimeraX-1.9-rc2024.10.29.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/session.py", line 301, in discovery  
raise ValueError(  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 Metal - 88.1
OpenGL renderer: Apple M3 Pro
OpenGL vendor: Apple

Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.7.1, Qt 6.7.1
Qt runtime version: 6.7.3
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac15,7
      Model Number: Z1AG0014GLL/A
      Chip: Apple M3 Pro
      Total Number of Cores: 12 (6 performance and 6 efficiency)
      Memory: 36 GB
      System Firmware Version: 11881.41.5
      OS Loader Version: 10151.140.19.700.2

Software:

    System Software Overview:

      System Version: macOS 14.7.1 (23H222)
      Kernel Version: Darwin 23.6.0
      Time since boot: 11 days, 6 hours, 39 minutes

Graphics/Displays:

    Apple M3 Pro:

      Chipset Model: Apple M3 Pro
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 18
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3456 x 2234 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal
        BenQ GW2780:
          Resolution: 1920 x 1080 (1080p FHD - Full High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    alabaster: 1.0.0
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 2.4.1
    auditwheel: 6.1.0
    babel: 2.16.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 2.7.1
    build: 1.2.1
    certifi: 2023.11.17
    cftime: 1.6.4.post1
    charset-normalizer: 3.4.0
    ChimeraX-AddCharge: 1.5.17
    ChimeraX-AddH: 2.2.6
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.5
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.16.1
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.58.7
    ChimeraX-AtomicLibrary: 14.1.11
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.4.7
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.13
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.4.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.4
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.3
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.6
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.9rc202410290434
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.4
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2.5
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.3
    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.4.1
    ChimeraX-Hbonds: 2.5
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.3
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.2
    ChimeraX-Label: 1.1.11
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.3
    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.1.6
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7.1
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14.2
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.17
    ChimeraX-ModelPanel: 1.5
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.2
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.14
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.6
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.2
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.6.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.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.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.2.2
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.14
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.0
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.18.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.3
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.41
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.4.4
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.4
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    contourpy: 1.3.0
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.0.10
    debugpy: 1.8.7
    decorator: 5.1.1
    docutils: 0.21.2
    executing: 2.1.0
    filelock: 3.15.4
    fonttools: 4.54.1
    funcparserlib: 2.0.0a0
    glfw: 2.7.0
    grako: 3.16.5
    h5py: 3.12.1
    html2text: 2024.2.26
    idna: 3.10
    ihm: 1.3
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    ipykernel: 6.29.5
    ipython: 8.26.0
    ipywidgets: 8.1.5
    jedi: 0.19.1
    Jinja2: 3.1.4
    jupyter_client: 8.6.2
    jupyter_core: 5.7.2
    jupyterlab_widgets: 3.0.13
    kiwisolver: 1.4.7
    line_profiler: 4.1.3
    lxml: 5.2.2
    lz4: 4.3.3
    MarkupSafe: 3.0.2
    matplotlib: 3.9.2
    matplotlib-inline: 0.1.7
    msgpack: 1.0.8
    ndindex: 1.9.2
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.10.1
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 23.2
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.4.0
    pip: 24.2
    pkginfo: 1.11.1
    platformdirs: 4.3.6
    prompt_toolkit: 3.0.48
    psutil: 6.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.4.4
    pyelftools: 0.31
    Pygments: 2.18.0
    pynmrstar: 3.3.4
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3401
    pyparsing: 3.2.0
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.7.1
    PyQt6-Qt6: 6.7.3
    PyQt6-WebEngine-commercial: 6.7.0
    PyQt6-WebEngine-Qt6: 6.7.3
    PyQt6-WebEngineSubwheel-Qt6: 6.7.3
    PyQt6_sip: 13.8.0
    python-dateutil: 2.9.0.post0
    pytz: 2024.2
    pyzmq: 26.2.0
    qtconsole: 5.5.2
    QtPy: 2.4.1
    qtshim: 1.0
    RandomWords: 0.4.0
    requests: 2.32.3
    scipy: 1.14.0
    setuptools: 72.1.0
    sfftk-rw: 0.8.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.6
    Sphinx: 8.0.2
    sphinx-autodoc-typehints: 2.2.3
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    stack-data: 0.6.3
    superqt: 0.6.3
    tables: 3.10.1
    tcia_utils: 1.5.1
    tifffile: 2024.7.24
    tinyarray: 1.2.4
    tornado: 6.4.1
    traitlets: 5.14.3
    typing_extensions: 4.12.2
    tzdata: 2024.2
    urllib3: 2.2.3
    wcwidth: 0.2.13
    webcolors: 24.6.0
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.13

Change History (4)

comment:1 by pett, 11 months ago

Cc: pett added
Component: UnassignedSessions
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionAttempt to save 3D label for dead pseudobond in session

Reported by Eric Martz, and reproducible with the recipe he provided.

comment:2 by Tom Goddard, 11 months ago

Cc: Tom Goddard added; pett removed
Owner: changed from Tom Goddard to pett

The error is that the morph structure has a missing segment label that points to a deleted pseudobond. I'd guess the way that came about is that the morph command copies the first structure and then deletes residues that are not in common between the two morphed structures. When it copied the first structure maybe it made labels for all the missing segments. But then deleting residues changed the missing segments and ended up deleting missing segment pseudobonds and creating new ones. The labels on those deleted pseudobonds should automatically get deleted because the ObjectLabels object gets the atomic "changes" trigger and detects all pseudobonds that are deleted and deletes any labels on those. But in the above scenario apparently pseudobonds with labels got deleted with no "changes" trigger so the labels persisted.

I think Eric would know best how the pseudobonds might get deleted when residue deletions change the missing segments and how that could be done without causing a "changes" trigger. So reassigning to Eric.

Slightly simpler steps to reproduce: open 7pmx ; open 7pmy ; mm #2 to #1 ; morph #1,​2 ; save test.cxs.

comment:3 by pett, 11 months ago

Resolution: fixed
Status: assignedclosed

Morph was deleting atoms (and therefore pseudobonds connected to them, and their labels) before the morph structure was opened in the session, which threw off the label code tracking when the labeled atom/pseudobond/etc. got deleted. Fixed in the next daily build and release candidate.

Fix: https://github.com/RBVI/ChimeraX/commit/c2ef41378c5e18d5204540f3cf4374d1a64afcaf

comment:4 by martzeric@…, 11 months ago

 THANK YOU! -Eric, http://martz.molviz.org
    On Monday, December 2, 2024 at 08:17:58 PM EST, ChimeraX <chimerax-bugs-admin@cgl.ucsf.edu> wrote:  
 
 #16385: Attempt to save 3D label for dead pseudobond in session
----------------------------------+--------------------
          Reporter:  martzeric@…  |      Owner:  pett
              Type:  defect      |    Status:  closed
          Priority:  normal      |  Milestone:
        Component:  Sessions    |    Version:
        Resolution:  fixed        |  Keywords:
        Blocked By:              |  Blocking:
Notify when closed:              |  Platform:  all
          Project:  ChimeraX    |
----------------------------------+--------------------
Changes (by pett):

 * resolution:  => fixed
 * status:  assigned => closed

Comment:

 Morph was deleting atoms (and therefore pseudobonds connected to them, and
 their labels) before the morph structure was opened in the session, which
 threw off the label code tracking when the labeled atom/pseudobond/etc.
 got deleted.  Fixed in the next daily build and release candidate.

 Fix:
 https://github.com/RBVI/ChimeraX/commit/c2ef41378c5e18d5204540f3cf4374d1a64afcaf
Note: See TracTickets for help on using tickets.