Opened 5 years ago

Closed 5 years ago

#3728 closed defect (can't reproduce)

Gratuitous re-registration of commands

Reported by: Tristan Croll Owned by: Greg Couch
Priority: normal Milestone:
Component: Command Line Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-3.10.0-1127.19.1.el7.x86_64-x86_64-with-centos-7.8.2003-Core
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
The "Unable to save 'models' bit is my fault (will fix)... but I'm not sure what's happening on the repeat save command - looks like it's re-registering all ISOLDE's commands again?

Log:
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 3fyj structureFactors true

Summary of feedback from opening 3fyj fetched from pdb  
---  
warning | WARNING: multiple experimental reflection datasets found:  
F_meas_au, F_meas_sigma_au,  
phase_calc, fom  
Automatically choosing "F_meas_au, F_meas_sigma_au".  
notes | Resolution: 3.801  
  
3fyj title:  
Crystal structure of an optimzied benzothiophene inhibitor bound to MAPKAP
Kinase-2 (MK-2) [more info...]  
  
Chain information for 3fyj  
---  
Chain | Description  
1.2/X | MAP kinase-activated protein kinase 2  
  
Non-standard residues in 3fyj #1.2  
---  
B97 —
(10R)-10-methyl-3-(6-methylpyridin-3-yl)-9,10,11,12-tetrahydro-8H-[1,4]diazepino[5',6':4,5]thieno[3,2-f]quinolin-8-one  
  
3fyj mmCIF Assemblies  
---  
1| software_defined_assembly  
2| author_defined_assembly  
  

> addh

Summary of feedback from adding hydrogens to 3fyj #1.2  
---  
notes | Termini for 3fyj (#1.2) chain X determined from SEQRES records  
Chain-initial residues that are actual N termini: /X GLN 45  
Chain-initial residues that are not actual N termini: /X LYS 239, /X GLY 282  
Chain-final residues that are actual C termini:  
Chain-final residues that are not actual C termini: /X SER 216, /X SER 265, /X
ARG 364  
189 hydrogen bonds  
Adding 'H' to /X LYS 239  
Adding 'H' to /X GLY 282  
/X ARG 364 is not terminus, removing H atom from 'C'  
2338 hydrogens added  
  

> hide HC

> open
> /run/media/tic20/storage/structure_dump/papers/2020_study_weekend/examples/3fyj_ref_3fhr/3fhr/Refine_1/3fhr_refine_1.pdb

Chain information for 3fhr_refine_1.pdb #2  
---  
Chain | Description  
A | No description available  
  

> matchmaker #2 to #1

Parameters  
---  
Chain pairing | bb  
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 3fyj, chain X (#1.2) with 3fhr_refine_1.pdb, chain A (#2), sequence
alignment score = 966.4  
RMSD between 243 pruned atom pairs is 1.027 angstroms; (across all 266 pairs:
1.297)  
  

> save starting_point.cxs

Unable to save 'models' -> <chimerax.core.models.Models object at
0x7f4d11ba1350> -> <chimerax.clipper.maps.map_handler_base.FastVolumeSurface
object at 0x7f4c6db5a490> 'surface' ->
<chimerax.clipper.maps.xmapset.XmapHandler_Static object at 0x7f4c65362cd0>
'(STATIC) F_calc, phase_calc' ->
<chimerax.clipper.clipper_python.data32.HKL_data_F_phi_float object at
0x7f4c908d9470>". Session might not restore properly.  

> close #1.1.1.5

> save starting_point.cxs

FYI: command is replacing existing command: "isolde start"  
FYI: command is replacing existing command: "isolde set"  
FYI: command is replacing existing command: "isolde sim"  
FYI: command is replacing existing command: "isolde report"  
FYI: command is replacing existing command: "isolde ignore"  
FYI: command is replacing existing command: "isolde ~ignore"  
FYI: command is replacing existing command: "isolde tutorial"  
FYI: command is replacing existing command: "isolde demo"  
FYI: command is replacing existing command: "isolde stepto"  
FYI: command is replacing existing command: "isolde jumpto"  
FYI: command is replacing existing command: "isolde remote xmlrpc"  
FYI: command is replacing existing command: "isolde remote rest start"  
FYI: command is replacing existing command: "isolde remote rest info"  
FYI: command is replacing existing command: "isolde remote rest stop"  
FYI: command is replacing existing command: "isolde restrain distances"  
FYI: command is replacing existing command: "isolde restrain single distance"  
FYI: command is replacing existing command: "isolde release distances"  
FYI: command is replacing existing command: "isolde adjust distances"  
FYI: command is replacing existing command: "isolde restrain ligands"  
FYI: command is replacing existing command: "isolde restrain torsions"  
FYI: command is replacing existing command: "isolde adjust torsions"  
FYI: command is replacing existing command: "isolde release torsions"  
FYI: command is replacing existing command: "isolde pepflip"  
FYI: command is replacing existing command: "isolde cisflip"  
FYI: command is replacing existing command: "isolde replace ligand"  
FYI: command is replacing existing command: "isolde add water"  
FYI: command is replacing existing command: "isolde add ligand"  




OpenGL version: 3.3.0 NVIDIA 450.51.06
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        7.5G         44G        373M         10G         54G
	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
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.1
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.6.1
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.0.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.0
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.0
    ChimeraX-Clipper: 0.15.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.1
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    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.0
    ChimeraX-Hbonds: 2.0
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.0
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-ISOLDE: 1.0.2
    ChimeraX-Label: 1.0
    ChimeraX-LinuxSupport: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-Phenix: 0.1
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.0.4
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.2.3
    ChimeraX-uniprot: 2.0
    ChimeraX-ViewDockX: 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.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.20
    decorator: 4.4.2
    distlib: 0.3.1
    distro: 1.5.0
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    graphviz: 0.14.1
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.18.5
    numpydoc: 1.0.0
    objgraph: 3.4.1
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    ptyprocess: 0.6.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2

Change History (10)

comment:1 by pett, 5 years ago

Component: UnassignedCommand Line
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionGratuitous re-registration of commands

comment:2 by Greg Couch, 5 years ago

It probably an incomplete command registration in ISOLDE or an error in the bundle_info.xml file. Command registration is lazy. The commands are preregistered based on the information in bundle_info.xml. When the command is invoked, then the bundle's register_command function is called. If the command isn't registered, then you'll see errors like you saw. My guess is that the bundle_info.xml lists isolde as a command, but register command only registers the subcommands. In that case, you can remove the plain isolde from the bundle_info.xml file.

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

Yep - that sounds like a pretty fair description of how my 
bundle_info.xml is currently set up. Does this mean I need to list each 
subcommand in bundle_info.xml?

On 2020-09-17 18:18, ChimeraX wrote:

comment:4 by Greg Couch, 5 years ago

Cc: pett added

Well the ui bundle gets away with doing what you do. So I'll have to dig further. And it's unclear to me how a save command would cause other commands to be invoked. Looping Eric in.

comment:5 by pett, 5 years ago

Yeah, a bunch of bundles just put the "umbrella" command in bundle_info.xml and register the subcommands on demand (e.g. ui, build_structure, alignments, etc.) so it would be good to have that continue to work.

As for 'save' causing other commands to be invoked, obviously it is not invoking the 'Isolde' command directly, but for any open/save operation it calls run_provider in the relevant bundle and that method can do anything necessary, including running commands.

comment:6 by pett, 5 years ago

However, since this seems to be a session being saved, it would seem that someone's take_snapshot is directly or indirectly causing the 'isolde' command to be run?

Tristan, can you reproduce this behavior? Can you put a traceback.print_stack() call in your registration code so we can see what code path is causing the second call?

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

Hmm... can't reproduce it in a different session. Will try later to 
reproduce exactly the same circumstances.

On 2020-09-17 19:21, ChimeraX wrote:

comment:8 by pett, 5 years ago

Status: assignedfeedback

Awaiting feedback from Tristan

comment:9 by Tristan Croll, 5 years ago

Went through exactly the same set of steps as in the report... can't reproduce. I guess this can be closed then?

comment:10 by pett, 5 years ago

Resolution: can't reproduce
Status: feedbackclosed

I guess I'm closing it as "can't reproduce", especially since we have zero idea as to what could have caused it.

--Eric

Note: See TracTickets for help on using tickets.