Opened 6 years ago

Closed 5 years ago

#2672 closed defect (fixed)

Toolshed down

Reported by: j.r.lewandowski@… Owned by: Conrad Huang
Priority: normal Milestone:
Component: Tool Shed Version:
Keywords: Cc: chimera-programmers, Tristan Croll
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.17763
ChimeraX Version: 0.91 (2019-12-10)
Description
Hi Tom,

Thanks for implementing ISOLDE tugging in VR. This is going to be a really awesome feature. I think at the moment I am happy with the rotations being performed while ISOLDE is paused but it would indeed be great if there was solution for this that would work during ISOLDE simulation.
However, when I replaced the isolde.py and tugging.py I get an error message, which you can find in the log. And then ISOLDE is not fully loading.
I think I may have dev 6 of ISOLDE, instead of dev 8 that you have used for editing the files. I tried to update to dev 8 but I cannot connect to the toolshed page withing the ChimeraX browser because the certificate expired. I downloaded the whl file separately but I am not sure how to install it in ChimeraX from command line. I have uodated CHimeraX to the daily build.
Hopefully, the error will disappear when I update to ISOLDE 1.0b3.dev8 but I thought I let you know in case the problem is not related to that.

Thanks. Best,
Józef

Log:
UCSF ChimeraX version: 0.91 (2019-12-10)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open d:\data\Projects\TycACOM\TycACOM-TycC1CK9D-ISOLDE.pdb format PDB

Summary of feedback from opening d:\data\Projects\TycACOM\TycACOM-
TycC1CK9D-ISOLDE.pdb  
---  
warnings | Ignored bad PDB record found on line 1  
REMARK FILENAME="complex_5w.pdb0"  
  
Ignored bad PDB record found on line 2  
REMARK ===============================================================  
  
Ignored bad PDB record found on line 3  
REMARK HADDOCK run for complex  
  
Ignored bad PDB record found on line 4  
REMARK initial structure: complex_5.pdb  
  
Ignored bad PDB record found on line 5  
REMARK final NOE weights: unambig 50 amb: 50  
  
31 messages similar to the above omitted  
  
Chain information for TycACOM-TycC1CK9D-ISOLDE.pdb #1  
---  
Chain | Description  
A | No description available  
B | No description available  
  

> toolshed show ISOLDE

> set selectionWidth 4

Traceback (most recent call last):  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 627, in start_tool  
ti = api._api_caller.start_tool(api, session, self, tool_info)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1612, in start_tool  
return cls._get_func(api, "start_tool")(session, ti.name)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\isolde\\__init__.py", line 48, in start_tool  
return tools.get_singleton(session, ISOLDE_ToolUI, 'ISOLDE', create=True)  
File "D:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\core\tools.py",
line 214, in get_singleton  
tinst = tool_class(session, tool_name, **kw)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\isolde\tool.py", line 168, in __init__  
self.isolde = isolde.Isolde(self)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\isolde\isolde.py", line 253, in __init__  
self._start_gui(gui)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\isolde\isolde.py", line 375, in _start_gui  
self._populate_menus_and_update_params()  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\isolde\isolde.py", line 436, in
_populate_menus_and_update_params  
from .tutorials import populate_tutorial_combo_box  
ModuleNotFoundError: No module named 'chimerax.isolde.tutorials'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "D:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\ui\gui.py",
line 1315, in <lambda>  
run(ses, "toolshed show %s" % StringArg.unparse(tool_name)))  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\run.py", line 31, in run  
results = command.run(text, log=log)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2837, in run  
result = ci.function(session, **kw_args)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\toolshed.py", line 339, in toolshed_show  
bi.start_tool(session, name)  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 633, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool ISOLDE in
bundle ChimeraX-ISOLDE:  
No module named 'chimerax.isolde.tutorials'  
  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool ISOLDE in
bundle ChimeraX-ISOLDE:  
No module named 'chimerax.isolde.tutorials'  
  
File "D:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 633, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 418.91
OpenGL renderer: GeForce RTX 2080 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Change History (29)

comment:1 by pett, 6 years ago

Cc: chimera-programmers added
Component: UnassignedTool Shed
Owner: set to Conrad Huang
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionToolshed down

Reported by Jozef Lewandowski

comment:2 by Tom Goddard, 6 years ago

Cc: Tristan Croll added

The error traceback that it cannot find module chimerax.isolde.tutorials is no doubt caused by the new isolde.py file I gave you trying to import a tutorials file that did not exist in your older copy of ISOLDE.

Did you keep the older isolde.py and tugging.py files so you can revert to a working ISOLDE (without VR)?

Unfortunately the toolshed is down because we let our https certificate expire for that web site and now we are slowly going through UCSF IT to try to get that certificate renewed. I'm not sure when that will happen, hopefully within a day or two.

If you get the ISOLDE and Clipper *.whl files from https://cxtoolshed.rbvi.ucsf.edu by allowing your web browser to ignore the expired certificate you can possibly install them but there are a lot of pitfalls -- I have done this before, but it might be better to wait for toolshed to start working. If you want to try you install from a windows command prompt or cygwin shell

chimerax/bin/ChimeraX.exe -m pip install clipperxxx.whl
chimerax/bin/ChimeraX.exe -m pip install isoldexxx.whl

That will need write permission on the chimerax install. Also if you already installed ISOLDE via toolshed with "just for me" then it was put in a place (/Users/yourusername/AppData/Local/UCSF/ChimeraX/0.91) that will take precedence over the one installed above from the command line. So you'd have to move that one so ChimeraX does not find it. You may then need to run command "toolshed reload" within ChimeraX to get it to locate the new ISOLDE -- I'm not sure.

I'll be making a new bug report that there has to be an easier backup way to install tools from .whl files when the toolshed web site is down.

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

Will get Tom’s changes integrated tomorrow, and put some updated builds on my Google Drive for now.
 

 


in reply to:  4 ; comment:4 by Tristan Croll, 6 years ago

Fresh Windows builds are at:

https://drive.google.com/open?id=1QxiBHpHLhWG8YppWYY5O0GSQ22yiufL_
and
https://drive.google.com/open?id=1kYg3PZBOMKkyBInihC0XTqI6MuLByNxw

Easiest way to install these is to start ChimeraX, then open the shell 
(Tools/General/Shell) and navigate to their directory (using Unix syntax 
- e.g. "cd ~/Downloads").

Then, on the command line (under the main GUI window, *not* in the 
shell):

toolshed install ChimeraX_Clipper-0.10.0-cp37-cp37m-win_amd64.whl
toolshed install ChimeraX_ISOLDE-1.0b4-cp37-cp37m-win_amd64.whl

You'll need to restart ChimeraX before the new ISOLDE is usable. As well 
as Tom's add VR methods, you'll also get the first sneak peek at 
ISOLDE's new integration with session save/restore - saving and 
restoring a ChimeraX session should now bring back the model and all its 
restraints. Just don't try to restore a session while a simulation is 
running - I haven't accounted for that particular eventuality yet.

On 2019-12-10 20:14, Tristan Croll wrote:

in reply to:  5 ; comment:5 by goddard@…, 6 years ago

Hi Tristan,  Thanks for making the new builds.  You can change the current directory in ChimeraX with the cd command at the normal ChimeraX command line

https://www.rbvi.ucsf.edu/chimerax/docs/user/commands/cd.html

You do not need to use the shell for that.

   Tom

in reply to:  6 ; comment:6 by J.R.Lewandowski@…, 6 years ago

Epic. Thank you. When it works it is like magic. I was literally giddy.
Quick question: any idea why sometimes ISOLDE does not want to run? I seem to be getting errors related to Isolde_ignore attribute.
With one file I got the following error messages (I actually just checked and the pdb that was working before gives me an error now as well).  I can get the simulations running only if I delete the ChimeraX Cache before I open ChimeraX.

File "C:\Users\msskan\AppData\Local\UCSF\ChimeraX\0.91\site-packages\chimerax\isolde\isolde.py", line 2673, in _start_sim_or_toggle_pause
    self.start_sim()
  File "C:\Users\msskan\AppData\Local\UCSF\ChimeraX\0.91\site-packages\chimerax\isolde\isolde.py", line 2693, in start_sim
    self.params, self.sim_params, excluded_residues = self.ignored_residues)
  File "C:\Users\msskan\AppData\Local\UCSF\ChimeraX\0.91\site-packages\chimerax\isolde\isolde.py", line 344, in ignored_residues
    return Residues([r for r in m.residues if r.isolde_ignore])
  File "C:\Users\msskan\AppData\Local\UCSF\ChimeraX\0.91\site-packages\chimerax\isolde\isolde.py", line 344, in <listcomp>
    return Residues([r for r in m.residues if r.isolde_ignore])
  File "D:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\atomic\attr_registration.py", line 39, in _getattr_
    return look_in_class._attr_registration.get_attr(attr_name)
  File "D:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\atomic\attr_registration.py", line 67, in get_attr
    raise AttributeError("'%s' object has no attribute '%s'" % (self.class_.__name__, attr_name)) from None
AttributeError: 'Residue' object has no attribute 'isolde_ignore'

AttributeError: 'Residue' object has no attribute 'isolde_ignore'

File "D:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\atomic\attr_registration.py", line 67, in get_attr
raise AttributeError("'%s' object has no attribute '%s'" % (self.class_.__name__, attr_name)) from None

Thanks,
Józef

On 11/12/2019, 16:58, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2672: Toolshed down
    ----------------------------------------+--------------------------
              Reporter:  j.r.lewandowski@…  |      Owner:  Conrad Huang
                  Type:  defect             |     Status:  assigned
              Priority:  normal             |  Milestone:
             Component:  Tool Shed          |    Version:
            Resolution:                     |   Keywords:
            Blocked By:                     |   Blocking:
    Notify when closed:                     |   Platform:  all
               Project:  ChimeraX           |
    ----------------------------------------+--------------------------
    
    Comment (by Tristan Croll):
    
     {{{
     Fresh Windows builds are at:
    
     https://drive.google.com/open?id=1QxiBHpHLhWG8YppWYY5O0GSQ22yiufL_
     and
     https://drive.google.com/open?id=1kYg3PZBOMKkyBInihC0XTqI6MuLByNxw
    
     Easiest way to install these is to start ChimeraX, then open the shell
     (Tools/General/Shell) and navigate to their directory (using Unix syntax
     - e.g. "cd ~/Downloads").
    
     Then, on the command line (under the main GUI window, *not* in the
     shell):
    
     toolshed install ChimeraX_Clipper-0.10.0-cp37-cp37m-win_amd64.whl
     toolshed install ChimeraX_ISOLDE-1.0b4-cp37-cp37m-win_amd64.whl
    
     You'll need to restart ChimeraX before the new ISOLDE is usable. As well
     as Tom's add VR methods, you'll also get the first sneak peek at
     ISOLDE's new integration with session save/restore - saving and
     restoring a ChimeraX session should now bring back the model and all its
     restraints. Just don't try to restore a session while a simulation is
     running - I haven't accounted for that particular eventuality yet.
    
     On 2019-12-10 20:14, Tristan Croll wrote:
    
     }}}
    
    --
    Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/2672#comment:4>
    ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
    ChimeraX Issue Tracker
    

in reply to:  7 ; comment:7 by J.R.Lewandowski@…, 6 years ago

Hi Tristan, 

One more comment. You seem to have a similar problem as we have encountered with Tom when he implemented directional bond rotation.
If one accidentally clicks not on the atom in VR (to select it for tugging) ChimeraX returns error and you have to restart VR to be able to do anything.
I guess a similar solution as what Tom did would work (adding a line to return if nothing is clicked).

Best,
Józef

On 11/12/2019, 16:58, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2672: Toolshed down
    ----------------------------------------+--------------------------
              Reporter:  j.r.lewandowski@…  |      Owner:  Conrad Huang
                  Type:  defect             |     Status:  assigned
              Priority:  normal             |  Milestone:
             Component:  Tool Shed          |    Version:
            Resolution:                     |   Keywords:
            Blocked By:                     |   Blocking:
    Notify when closed:                     |   Platform:  all
               Project:  ChimeraX           |
    ----------------------------------------+--------------------------
    
    Comment (by Tristan Croll):
    
     {{{
     Fresh Windows builds are at:
    
     https://drive.google.com/open?id=1QxiBHpHLhWG8YppWYY5O0GSQ22yiufL_
     and
     https://drive.google.com/open?id=1kYg3PZBOMKkyBInihC0XTqI6MuLByNxw
    
     Easiest way to install these is to start ChimeraX, then open the shell
     (Tools/General/Shell) and navigate to their directory (using Unix syntax
     - e.g. "cd ~/Downloads").
    
     Then, on the command line (under the main GUI window, *not* in the
     shell):
    
     toolshed install ChimeraX_Clipper-0.10.0-cp37-cp37m-win_amd64.whl
     toolshed install ChimeraX_ISOLDE-1.0b4-cp37-cp37m-win_amd64.whl
    
     You'll need to restart ChimeraX before the new ISOLDE is usable. As well
     as Tom's add VR methods, you'll also get the first sneak peek at
     ISOLDE's new integration with session save/restore - saving and
     restoring a ChimeraX session should now bring back the model and all its
     restraints. Just don't try to restore a session while a simulation is
     running - I haven't accounted for that particular eventuality yet.
    
     On 2019-12-10 20:14, Tristan Croll wrote:
    
     }}}
    
    --
    Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/2672#comment:4>
    ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
    ChimeraX Issue Tracker
    

in reply to:  8 ; comment:8 by Tristan Croll, 6 years ago

Yes, but the shell tab-completes. ;)
 

 


in reply to:  9 ; comment:9 by Tristan Croll, 6 years ago

‘Isolde_ignore’ is a custom attribute I add to `Residue`. It’s registered by a method in ISOLDE’s bundle initialisation, so it *should* happen first thing on ChimeraX startup. Tom - any ideas? The code is in ISOLDE’s top-level __init__.py.

Will add the fix for when you don’t grab an atom.
 

 


in reply to:  10 ; comment:10 by goddard@…, 6 years ago

I haven't looked at your latest wheels so I don't know what your registration code looks like (would be good if it were on github so I could take a quick look).  I am taking my cat to the vet for a leg problem today so may not have a chance to look.  I don't think registering an attribute actually creates that attribute.  I think it might just assure that the attribute is saved in sessions.

comment:11 by pett, 6 years ago

If you provided a default value when registering the attribute, then it should be found in all residues. If you didn't, then it will raise the error you saw for residues where it hasn't been explicitly set.

in reply to:  12 ; comment:12 by Tristan Croll, 6 years ago

It’s registered as a Boolean with default False. Curious. And I’m working on getting the code out in public. :)
 

 


in reply to:  13 ; comment:13 by Tristan Croll, 6 years ago

Here's the relevant snippet from ISOLDE's __init__.py:

{{{
def register_ignored_residues_attr(session):
     from chimerax.atomic import Residue
     Residue.register_attr(session, 'isolde_ignore',
         'isolde', default_value=False, attr_type=bool)

class _MyAPI(BundleAPI):

     @staticmethod
     def initialize(session, bundle_info):
         initialize_openmm()
         register_ignored_residues_attr(session)

}}}

I've run simulations using the new version in Windows, MacOS and Linux 
without error, so it's not clear to me what could be going wrong here.


On 2019-12-11 18:26, ChimeraX wrote:

comment:14 by pett, 6 years ago

To me, that implies that Jozef doesn't have or isn't executing the same init.py that you are. Also, you might want to move the registration in front of the initialize_openmm() call.

in reply to:  15 ; comment:15 by Tristan Croll, 6 years ago

Two copies of ISOLDE stumbling over each other...? Might be worth 
uninstalling and reinstalling ChimeraX, just to be sure.

On 2019-12-11 18:39, ChimeraX wrote:

in reply to:  16 ; comment:16 by J.R.Lewandowski@…, 6 years ago

That is the first thing I did before reporting the error. I have installed the latest daily build of ChimeraX deleting all the traces of the previous installation (i.e. not only using the uninstall script but also manually deleting whatever was leftover including stuff in AppData). Then I installed the new versions of Clipper and ISOLDE.
Could it be somehow related to me trying to simulate smaller parts of bigger systems? The pdbs in question have more than one model. I simulate a section of the system because the whole thing is too big. 
Note however that when I close ChimeraX, delete the Cache and reopen ChimeraX, ISOLDE works fine on these PDBs. 
Since the trick with the deleting Cache works, I am not too worried. 

I will try to figure out when exactly the error is triggered and let you know if I have some specific diagnosis.

Best,
Józef

On 11/12/2019, 18:44, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2672: Toolshed down
    ----------------------------------------+--------------------------
              Reporter:  j.r.lewandowski@…  |      Owner:  Conrad Huang
                  Type:  defect             |     Status:  assigned
              Priority:  normal             |  Milestone:
             Component:  Tool Shed          |    Version:
            Resolution:                     |   Keywords:
            Blocked By:                     |   Blocking:
    Notify when closed:                     |   Platform:  all
               Project:  ChimeraX           |
    ----------------------------------------+--------------------------
    
    Comment (by Tristan Croll):
    
     {{{
     Two copies of ISOLDE stumbling over each other...? Might be worth
     uninstalling and reinstalling ChimeraX, just to be sure.
    
     On 2019-12-11 18:39, ChimeraX wrote:
    
     }}}
    
    --
    Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/2672#comment:15>
    ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
    ChimeraX Issue Tracker
    

comment:17 by pett, 6 years ago

Can also happen in the weird case where there's two 'atomic' modules and therefore two 'Residue' classes, one of which has the registered attribute and one of which doesn't. I haven't seen that happen for many moons (namely when atomic was moved out of core and in some cases it could still find the old one in core in some installations).

in reply to:  18 ; comment:18 by Tristan Croll, 6 years ago

Are you loading the models from ChimeraX session files, by any chance? Eric: would loading a session that didn’t have the `isolde_ignore` custom attribute on Residue cause this?
 

 


comment:19 by pett, 6 years ago

Loading from a session (or closing a session) would knock out the attribute registration. Until I figure out exactly how I want to handle attribute registration/preservation in this usage scenario (if I don't knock them out, then they will keep accumulating -- might be okay), you should change your code to use getattr(r, 'isolde_ignore', False).

comment:20 by pett, 6 years ago

After thinking about it for 3 seconds, I'm pretty sure I need to stop knocking out the attribute registrations, since plenty of tools may register attributes with default values (e.g. partial charge) that they will depend on "being there" henceforward, regardless of session operations. They motivation for knocking them out was to prevent registration conflicts with attributes that weren't being used anymore, but that's a pretty unlikely scenario really, since it's a conflict only if the attribute has the same name and a different type(!).

I'll try to get this fix in today.

in reply to:  21 ; comment:21 by J.R.Lewandowski@…, 6 years ago

I tried both session restore and loading pdbs directly. I also first thought that maybe it is related to restoring ChimeraX session file (that is how I got the error first time). But I also was able to get the error when loading a pdb fresh without restoring the session.

On 11/12/2019, 19:08, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2672: Toolshed down
    ----------------------------------------+--------------------------
              Reporter:  j.r.lewandowski@…  |      Owner:  Conrad Huang
                  Type:  defect             |     Status:  assigned
              Priority:  normal             |  Milestone:
             Component:  Tool Shed          |    Version:
            Resolution:                     |   Keywords:
            Blocked By:                     |   Blocking:
    Notify when closed:                     |   Platform:  all
               Project:  ChimeraX           |
    ----------------------------------------+--------------------------
    
    Comment (by Tristan Croll):
    
     {{{
     Are you loading the models from ChimeraX session files, by any chance?
     Eric: would loading a session that didn’t have the `isolde_ignore` custom
     attribute on Residue cause this?
    
    
    
    
    
     }}}
    
    --
    Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/2672#comment:18>
    ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
    ChimeraX Issue Tracker
    

comment:22 by pett, 6 years ago

Okay, I have pushed out a fix -- attribute registration now live through session close/restore.

Jozef, it's a little unclear to me if you had earlier restored a session or not. If you had, then the attribute registration would be nuked and opening the PDB file directly later would not work. If the first thing you did was open the PDB directly and that didn't work, then it's a different (and mysterious) problem.

in reply to:  23 ; comment:23 by Tristan Croll, 6 years ago

Just to be sure: was this in a freshly-started ChimeraX instance each time. ISOLDE’s `initialize` method only gets run once on starting ChimeraX (*not* when starting ISOLDE itself), so once something happens to break the custom attribute registration it’ll remain broken until you restart.
 

 


in reply to:  24 ; comment:24 by J.R.Lewandowski@…, 6 years ago

Hi both, 

Sorry, I have tried many things so can't remember exactly. I definitely did the combo: first restore and then load pdb directly. Based on what Eric says that could be the root of problem. 
Tristan is on the right track. I did not start a new instance of ChimeraX when I tried to load another PDB to start a new ISOLDE simulation. Problems occurred always when I tried to load another pdb for another ISOLDE simulation without quitting the ChimeraX. However, if the problem occurred then just restarting ChimeraX is not enough. I have to delete the Cache to be able to start an ISOLDE simulation again. 
I'll revisit it systematically tomorrow noting down the sequence of events in the light of our email exchange.

Thanks for looking at this.

Best,
Józef

On 11/12/2019, 20:47, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2672: Toolshed down
    ----------------------------------------+--------------------------
              Reporter:  j.r.lewandowski@…  |      Owner:  Conrad Huang
                  Type:  defect             |     Status:  assigned
              Priority:  normal             |  Milestone:
             Component:  Tool Shed          |    Version:
            Resolution:                     |   Keywords:
            Blocked By:                     |   Blocking:
    Notify when closed:                     |   Platform:  all
               Project:  ChimeraX           |
    ----------------------------------------+--------------------------
    
    Comment (by Tristan Croll):
    
     {{{
     Just to be sure: was this in a freshly-started ChimeraX instance each
     time. ISOLDE’s `initialize` method only gets run once on starting ChimeraX
     (*not* when starting ISOLDE itself), so once something happens to break
     the custom attribute registration it’ll remain broken until you restart.
    
    
    
    
    
     }}}
    
    --
    Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/2672#comment:23>
    ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
    ChimeraX Issue Tracker
    

comment:25 by pett, 6 years ago

Tristan, it would be mildly better if your attribute registration wasn't in the custom init. If it's there then that attribute will be in every session a user who has installed ISOLDE saves, whether or not they actually used ISOLDE. If you put it in the global scope of some non-init.py file that always gets imported when ISOLDE runs, then it would only be present in sessions where ISOLDE was actually used.

in reply to:  26 ; comment:26 by Tristan Croll, 6 years ago

Ok - can do.
 

 


comment:27 by pett, 6 years ago

Great. I don't know what initialize_openmm() does exactly, but if it's okay to delay it to ISOLDE startup rather than ChimeraX startup then you could move both those calls to the global scope of init.py, remove the custom init and the corresponding bundle_info.xml attribute -- since init.py is only read at ChimeraX startup if there is a custom init.

But just moving the attribute registration is fine too.

in reply to:  28 ; comment:28 by Tristan Croll, 6 years ago

Initialize_openmm() should definitely stay in the bundle’s initialize method. If it’s not called before OpenMM is imported for the first time, then it won’t know how to find it’s OpenCL and CUDA libraries.
 

 


comment:29 by Greg Couch, 5 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.