Opened 3 years ago
Closed 3 years ago
#7025 closed defect (fixed)
Attempt to log command for deleted bond rotation
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Structure Editing | Version: | |
| Keywords: | Cc: | Eric Pettersen | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.25131
ChimeraX Version: 1.3 (2021-12-08 23:08:33 UTC)
Description
(Describe the actions that caused this problem to occur here)
Log:
UCSF ChimeraX version: 1.3 (2021-12-08)
© 2016-2021 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open C:/Users/zhgwa/Desktop/3TX9_ds-12.pdbqt
Summary of feedback from opening C:/Users/zhgwa/Desktop/3TX9_ds-12.pdbqt
---
warnings | Duplicate atom serial number found: 1
Duplicate atom serial number found: 2
Duplicate atom serial number found: 3
Duplicate atom serial number found: 4
Duplicate atom serial number found: 5
15 messages similar to the above omitted
Chain information for 3TX9_ds-12.pdb #1
---
Chain | Description
A | No description available
Opened 3TX9_ds-12.pdbqt containing 1 structures (3948 atoms, 4032 bonds)
> ui mousemode right "bond rotation"
> torsion /d:1@C13,C12,C4,C3 163.09
Must specify exactly 4 atoms for 'torsion' command; you specified 7
> torsion /d:1@C13,C12,C4,C3 163.09
Must specify exactly 4 atoms for 'torsion' command; you specified 7
> torsion /d:1@C13,C12,C4,C3 163.09
Must specify exactly 4 atoms for 'torsion' command; you specified 7
> save C:/ProgramData/ChimeraX/dd.pdb relModel #1
> save C:/Users/zhgwa/Desktop/dd.pdb relModel #1
> torsion /d:1@C13,C12,C4,C3 163.09
Must specify exactly 4 atoms for 'torsion' command; you specified 7
> torsion /d:1@C13,C12,C4,C3 167.09
Must specify exactly 4 atoms for 'torsion' command; you specified 7
> close session
> open C:\Users\zhgwa\Desktop\dd.pdb format pdb
Chain information for dd.pdb #1
---
Chain | Description
A | No description available
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 637, in <lambda>
gw.mousePressEvent = lambda e, s=self: s._dispatch_mouse_event(e,
"mouse_down")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 531, in
_dispatch_mouse_event
lm.mouse_up(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 38, in mouse_up
self._log_command()
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 44, in _log_command
log_torsion_command(br)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 123, in log_torsion_command
fs_atom = bond.other_atom(ms_atom)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\atomic\molobject.py", line 169, in other_atom
o = f(self._c_pointer, atom._c_pointer)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\core\attributes.py", line 57, in _getattr_
return look_in_class._attr_registration.get_attr(attr_name)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\core\attributes.py", line 85, in get_attr
raise AttributeError("'%s' object has no attribute '%s'" %
(self.class_.__name__, attr_name)) from None
AttributeError: 'Bond' object has no attribute '_c_pointer'
AttributeError: 'Bond' object has no attribute '_c_pointer'
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\core\attributes.py", line 85, in get_attr
raise AttributeError("'%s' object has no attribute '%s'" %
(self.class_.__name__, attr_name)) from None
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 638, in <lambda>
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 537, in
_dispatch_mouse_event
f(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 34, in mouse_drag
br.angle += dy
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\bond_rot.py", line 80, in set_angle
moving, fixed = self.moving_side.coord,
self.bond.other_atom(self.moving_side).coord
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
RuntimeError: Atom already deleted
RuntimeError: Atom already deleted
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 638, in <lambda>
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 537, in
_dispatch_mouse_event
f(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 34, in mouse_drag
br.angle += dy
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\bond_rot.py", line 80, in set_angle
moving, fixed = self.moving_side.coord,
self.bond.other_atom(self.moving_side).coord
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
RuntimeError: Atom already deleted
RuntimeError: Atom already deleted
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 638, in <lambda>
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 537, in
_dispatch_mouse_event
f(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 34, in mouse_drag
br.angle += dy
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\bond_rot.py", line 80, in set_angle
moving, fixed = self.moving_side.coord,
self.bond.other_atom(self.moving_side).coord
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
RuntimeError: Atom already deleted
RuntimeError: Atom already deleted
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 638, in <lambda>
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 537, in
_dispatch_mouse_event
f(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 34, in mouse_drag
br.angle += dy
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\bond_rot.py", line 80, in set_angle
moving, fixed = self.moving_side.coord,
self.bond.other_atom(self.moving_side).coord
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
RuntimeError: Atom already deleted
RuntimeError: Atom already deleted
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 638, in <lambda>
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 537, in
_dispatch_mouse_event
f(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 34, in mouse_drag
br.angle += dy
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\bond_rot.py", line 80, in set_angle
moving, fixed = self.moving_side.coord,
self.bond.other_atom(self.moving_side).coord
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
RuntimeError: Atom already deleted
RuntimeError: Atom already deleted
File "atomic_cpp\cymol.pyx", line 219, in
chimerax.atomic.cymol.CyAtom.coord.__get__
See log for complete Python traceback.
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 639, in <lambda>
gw.mouseReleaseEvent = lambda e, s=self: s._dispatch_mouse_event(e,
"mouse_up")
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\mouse_modes\mousemodes.py", line 537, in
_dispatch_mouse_event
f(MouseEvent(event, modifiers=modifiers))
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 38, in mouse_up
self._log_command()
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 44, in _log_command
log_torsion_command(br)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\bond_rot\mouse_rot.py", line 123, in log_torsion_command
fs_atom = bond.other_atom(ms_atom)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\atomic\molobject.py", line 169, in other_atom
o = f(self._c_pointer, atom._c_pointer)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\core\attributes.py", line 57, in _getattr_
return look_in_class._attr_registration.get_attr(attr_name)
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\core\attributes.py", line 85, in get_attr
raise AttributeError("'%s' object has no attribute '%s'" %
(self.class_.__name__, attr_name)) from None
AttributeError: 'Bond' object has no attribute '_c_pointer'
AttributeError: 'Bond' object has no attribute '_c_pointer'
File "C:\Program Files\ChimeraX 1.3\bin\lib\site-
packages\chimerax\core\attributes.py", line 85, in get_attr
raise AttributeError("'%s' object has no attribute '%s'" %
(self.class_.__name__, attr_name)) from None
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 512.20
OpenGL renderer: NVIDIA GeForce GT 1030/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: HP
Model: HP Slim Desktop S01-pF0xxx
OS: Microsoft Windows 11 专业版 Insider Preview (Build 25131)
Memory: 17,071,575,040
MaxProcessMemory: 137,438,953,344
CPU: 6 Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz
OSLanguage: zh-CN
Locale: ('zh_CN', 'cp936')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.9.1
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2021.10.8
cftime: 1.5.1.1
charset-normalizer: 2.0.9
ChimeraX-AddCharge: 1.2.2
ChimeraX-AddH: 2.1.3
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.2.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.31
ChimeraX-AtomicLibrary: 4.2
ChimeraX-AtomSearch: 2.0
ChimeraX-AtomSearchLibrary: 1.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.0
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.6.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.2
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.2
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5
ChimeraX-CommandLine: 1.1.5
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.3
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1.5
ChimeraX-DistUI: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.1
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1
ChimeraX-Hbonds: 2.1.2
ChimeraX-Help: 1.2
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ItemsInspection: 1.0
ChimeraX-Label: 1.1
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.4
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 2.0.4
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.4
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.2.6
ChimeraX-ModelPanel: 1.2.1
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.2
ChimeraX-OpenCommand: 1.7
ChimeraX-PDB: 2.6.5
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.4.6
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.1
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.6.1
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-Struts: 1.0
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1
ChimeraX-ToolshedUtils: 1.2
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.2.1
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.0.1
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0
ChimeraX-WebServices: 1.0
ChimeraX-Zone: 1.0
colorama: 0.4.4
comtypes: 1.1.10
cxservices: 1.1
cycler: 0.11.0
Cython: 0.29.24
decorator: 5.1.0
docutils: 0.17.1
filelock: 3.0.12
funcparserlib: 0.3.6
grako: 3.16.5
h5py: 3.6.0
html2text: 2020.1.16
idna: 3.3
ihm: 0.21
imagecodecs: 2021.4.28
imagesize: 1.3.0
ipykernel: 5.5.5
ipython: 7.23.1
ipython-genutils: 0.2.0
jedi: 0.18.0
Jinja2: 3.0.1
jupyter-client: 6.1.12
jupyter-core: 4.9.1
kiwisolver: 1.3.2
lxml: 4.6.3
lz4: 3.1.3
MarkupSafe: 2.0.1
matplotlib: 3.4.3
matplotlib-inline: 0.1.3
msgpack: 1.0.2
netCDF4: 1.5.7
networkx: 2.6.3
numexpr: 2.8.0
numpy: 1.21.2
openvr: 1.16.801
packaging: 21.3
ParmEd: 3.2.0
parso: 0.8.3
pickleshare: 0.7.5
Pillow: 8.3.2
pip: 21.2.4
pkginfo: 1.7.1
prompt-toolkit: 3.0.23
psutil: 5.8.0
pycollada: 0.7.1
pydicom: 2.1.2
Pygments: 2.10.0
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.6
PyQt5-commercial: 5.15.2
PyQt5-sip: 12.8.1
PyQtWebEngine-commercial: 5.15.2
python-dateutil: 2.8.2
pytz: 2021.3
pywin32: 228
pyzmq: 22.3.0
qtconsole: 5.1.1
QtPy: 1.11.3
RandomWords: 0.3.0
requests: 2.26.0
scipy: 1.7.1
setuptools: 57.5.0
sfftk-rw: 0.7.1
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 4.2.0
sphinx-autodoc-typehints: 1.12.0
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 2.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
suds-jurko: 0.6
tables: 3.6.1
tifffile: 2021.4.8
tinyarray: 1.2.3
tornado: 6.1
traitlets: 5.1.1
urllib3: 1.26.7
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.37.0
wheel-filename: 1.3.0
WMI: 1.5.1
Change History (4)
comment:1 by , 3 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Structure Editing |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Attempt to log command for deleted bond rotation |
comment:3 by , 3 years ago
I would recommend either using str(atom) four times, which isn't as compact, or atom.string(atom_only=True) for only the atom part. Both of those will resort to using the serial number if the atom name isn't unique in the residue.
comment:4 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
The traceback was from closing the session while rotating a bond so the bond was deleted and the rotation mouse mode tried to use it. Before the traceback the logged commands from the bond rotation mouse mode failed because the residue had identically named atoms. I made the command logging smarter so the atom specifier works even in the presence of non-unique atom names.
Eric, the bond rotation mouse mode failed for this user apparently because atoms in the same residue had identical names. So the torsion command that the mouse mode created specified too many atoms. Do you have some magic atom-spec forming code that detects this and does whatever convolutions are needed to specify exactly the 4 Python atoms?