Opened 3 years ago
Last modified 3 years ago
#6870 assigned defect
Premature tool-added trigger
| Reported by: | Tristan Croll | Owned by: | Greg Couch |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | |
| Keywords: | Cc: | chimera-programmers | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Linux-5.13.0-40-generic-x86_64-with-glibc2.31
ChimeraX Version: 1.4rc202205060510 (2022-05-06 05:10:33 UTC)
Description
At the moment the session 'add tool instance' trigger is fired at the end of the base class `ToolInstance.__init__()` method, before all of the derived-class specialisations are applied. So my code to automatically add a few ISOLDE-specific callbacks to the Ramachandran plot tool fails. Of course I can trivially avoid the issue by delaying to the next 'frame drawn' event... but I think it might be more sensible if the `Tools` class were to do that?
Log:
> alias preview_toolshed toolshed url https://cxtoolshed-
> preview.rbvi.ucsf.edu; toolshed reload available
> alias production_toolshed toolshed url https://cxtoolshed.rbvi.ucsf.edu;
> toolshed reload available
> isolde shorthand
Initialising ISOLDE-specific command aliases:
Alias Equivalent full command
-------------------------------------------------
st isolde step {arguments}
aw isolde add water {arguments}
awsf isolde add water {arguments} sim false
al isolde add ligand {arguments}
aa isolde add aa $1 sel {arguments}
ht isolde mod his sel {arguments}
so setattr sel atoms occupancy {arguments}
ab isolde adjust bfactors {arguments}
ss isolde sim start sel
rt isolde release torsions sel {arguments}
rd isolde release distances sel {arguments}
ra rd; rt
pf isolde pepflip sel
cf isolde cisflip sel
cbb color bfactor {arguments}
cbo color byattr occupancy {arguments}
cbc color {arguments} bychain; color {arguments} byhet
cs clipper set contourSensitivity {arguments}
UCSF ChimeraX version: 1.4rc202205060510 (2022-05-06)
© 2016-2022 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> isolde demo crystal_intro
> set selectionWidth 4
before.pdb title:
Crystal structure of etub from clostridium kluyveri [more info...]
Chain information for before.pdb #1
---
Chain | Description | UniProt
A | predicted microcompartment protein | A5N734_CLOK5
before.pdb title:
Crystal structure of etub from clostridium kluyveri [more info...]
Chain information for before.pdb
---
Chain | Description | UniProt
1.2/A | predicted microcompartment protein | A5N734_CLOK5
WARNING: multiple experimental reflection datasets found:
(dataset) FOBS, SIGFOBS,
(dataset) IOBS, SIGIOBS,
(dataset) DANO, SIGDANO,
(dataset) F(+), SIGF(+), F(-), SIGF(-),
(dataset) I(+), SIGI(+), I(-), SIGI(-)
Automatically choosing "(dataset) FOBS, SIGFOBS".
Opened (LIVE) 2mFo-DFc as #1.1.1.2, grid size 36,36,34, pixel 0.723, shown at
level 0.303, step 1, values float32
Opened (LIVE) mFo-DFc as #1.1.1.3, grid size 36,36,34, pixel 0.723, shown at
level -0.0569,0.0569, step 1, values float32
Opened (LIVE) 2mFo-DFc_sharp_29 as #1.1.1.4, grid size 36,36,34, pixel 0.723,
shown at level 0.602, step 1, values float32
Loaded crystallographic demo: PDB ID 3io0
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
ISOLDE: Corrected atom nomenclature of 12 residues in model #1.2 to IUPAC-IUB
standards.
Opened (LIVE) MDFF potential as #1.1.1.5, grid size 36,36,34, pixel 0.723,
shown at level 0.366, step 1, values float32
> ui tool show "Ramachandran Plot"
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/triggerset.py", line 134, in invoke
return self._func(self._name, data)
File "/home/tic20/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/isolde.py", line 2190, in
_register_ramaplot_callbacks
rplot = tool.tool_window
AttributeError: 'Rama_ToolUI' object has no attribute 'tool_window'
Error processing trigger "add tool instance":
AttributeError: 'Rama_ToolUI' object has no attribute 'tool_window'
File "/home/tic20/.local/share/ChimeraX/1.4/site-
packages/chimerax/isolde/isolde.py", line 2190, in
_register_ramaplot_callbacks
rplot = tool.tool_window
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 510.47.03
OpenGL renderer: NVIDIA TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.9.11
Locale: en_GB.UTF-8
Qt version: PyQt6 6.3.0, Qt 6.3.0
Qt runtime version: 6.3.0
Qt platform: xcb
XDG_SESSION_TYPE=x11
DESKTOP_SESSION=ubuntu
XDG_SESSION_DESKTOP=ubuntu
XDG_CURRENT_DESKTOP=ubuntu:GNOME
DISPLAY=:1
Manufacturer: Dell Inc.
Model: Precision T5600
OS: Ubuntu 20.04 focal
Architecture: 64bit ELF
Virtual Machine: none
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: 62Gi 11Gi 45Gi 119Mi 5.9Gi 50Gi
Swap: 4.9Gi 0B 4.9Gi
Graphics:
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)
Subsystem: NVIDIA Corporation GP102 [TITAN Xp] [10de:11df]
Kernel driver in use: nvidia
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.10.1
backcall: 0.2.0
blockdiag: 3.0.0
certifi: 2021.10.8
cftime: 1.6.0
charset-normalizer: 2.0.12
ChimeraX-AddCharge: 1.2.3
ChimeraX-AddH: 2.1.11
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.4.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.39.1
ChimeraX-AtomicLibrary: 7.0
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.1
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.7
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.4
ChimeraX-Clipper: 0.18.0
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.1
ChimeraX-CommandLine: 1.2.3
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.4rc202205060510
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.1
ChimeraX-DistMonitor: 1.1.5
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.2
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-ISOLDE: 1.4.dev0
ChimeraX-ItemsInspection: 1.0
ChimeraX-Label: 1.1.1
ChimeraX-LinuxSupport: 1.0
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
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.6
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.7
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.5.5
ChimeraX-ModelPanel: 1.3.2
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.9
ChimeraX-PDB: 2.6.6
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.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.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.8
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.0.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.1
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.18.2
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.1.2
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.1.0
ChimeraX-Zone: 1.0
colorama: 0.4.4
cxservices: 1.2
cycler: 0.11.0
Cython: 0.29.26
debugpy: 1.6.0
decorator: 5.1.1
distro: 1.6.0
docutils: 0.17.1
entrypoints: 0.4
filelock: 3.4.2
fonttools: 4.33.3
funcparserlib: 1.0.0
grako: 3.16.5
h5py: 3.6.0
html2text: 2020.1.16
idna: 3.3
ihm: 0.27
imagecodecs: 2021.11.20
imagesize: 1.3.0
ipykernel: 6.6.1
ipython: 7.31.1
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.0.3
jupyter-client: 7.1.0
jupyter-core: 4.10.0
kiwisolver: 1.4.2
line-profiler: 3.4.0
lxml: 4.7.1
lz4: 3.1.10
MarkupSafe: 2.1.1
matplotlib: 3.5.1
matplotlib-inline: 0.1.3
msgpack: 1.0.3
nest-asyncio: 1.5.5
netCDF4: 1.5.8
networkx: 2.6.3
numexpr: 2.8.1
numpy: 1.22.1
openvr: 1.16.802
packaging: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 9.0.1
pip: 21.3.1
pkginfo: 1.8.2
prompt-toolkit: 3.0.29
psutil: 5.9.0
ptyprocess: 0.7.0
pycollada: 0.7.2
pydicom: 2.2.2
Pygments: 2.11.2
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.8
PyQt6-commercial: 6.3.0
PyQt6-Qt6: 6.3.0
PyQt6-sip: 13.3.1
PyQt6-WebEngine-commercial: 6.3.0
PyQt6-WebEngine-Qt6: 6.3.0
python-dateutil: 2.8.2
pytz: 2022.1
pyzmq: 22.3.0
qtconsole: 5.3.0
QtPy: 2.1.0
RandomWords: 0.3.0
requests: 2.27.1
scipy: 1.7.3
setuptools: 59.8.0
sfftk-rw: 0.7.2
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 4.3.2
sphinx-autodoc-typehints: 1.15.2
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.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-community: 1.0.0
tables: 3.7.0
tifffile: 2021.11.2
tinyarray: 1.2.4
tornado: 6.1
traitlets: 5.1.1
urllib3: 1.26.9
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.37.1
wheel-filename: 1.3.0
Change History (1)
comment:1 by , 3 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Core |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Premature tool-added trigger |
Note:
See TracTickets
for help on using tickets.
The problem with the suggested fix is that tools can be started while no frames are being drawn (e.g. Rapid Access is showing). Maybe QTimer.singleShot(0, file_trigger) instead?