Opened 7 years ago
Closed 6 years ago
#1855 closed defect (fixed)
Can't set 'vertices' attribute on Drawing
Reported by: | Owned by: | Conrad Huang | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Tool Shed | Version: | |
Keywords: | Cc: | Tom Goddard, Tristan Croll | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-3.10.0-957.10.1.el7.x86_64-x86_64-with-centos-7.6.1810-Core ChimeraX Version: 0.8 (2018-12-17) Description load ISOLDE Log: Startup Messages --- warning | 'clip' is a prefix of an existing command 'clipper' note | available bundle cache has not been initialized yet UCSF ChimeraX version: 0.8 (2018-12-17) How to cite UCSF ChimeraX > toolshed show ISOLDE Traceback (most recent call last): File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/toolshed/info.py", line 579, in start_tool ti = api._api_caller.start_tool(api, session, self, tool_info) File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/toolshed/__init__.py", line 1188, in start_tool return cls._get_func(api, "start_tool")(session, ti.name) File "/home/CICBIOGUNE/sconnell/.local/share/ChimeraX/0.8/site- packages/chimerax/isolde/__init__.py", line 29, in start_tool return tools.get_singleton(session, ISOLDE_ToolUI, 'ISOLDE', create=True) File "/opt/UCSF/ChimeraX/lib/python3.6/site-packages/chimerax/core/tools.py", line 214, in get_singleton tinst = tool_class(session, tool_name, **kw) File "/home/CICBIOGUNE/sconnell/.local/share/ChimeraX/0.8/site- packages/chimerax/isolde/tool.py", line 166, in __init__ self.isolde = isolde.Isolde(self) File "/home/CICBIOGUNE/sconnell/.local/share/ChimeraX/0.8/site- packages/chimerax/isolde/isolde.py", line 310, in __init__ self.omega_validator = validation.OmegaValidator(self._annotations) File "/home/CICBIOGUNE/sconnell/.local/share/ChimeraX/0.8/site- packages/chimerax/isolde/validation.py", line 687, in __init__ self._initialize_drawings() File "/home/CICBIOGUNE/sconnell/.local/share/ChimeraX/0.8/site- packages/chimerax/isolde/validation.py", line 708, in _initialize_drawings d.vertices = numpy.zeros([0,3],numpy.float32) File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/graphics/drawing.py", line 228, in __setattr__ super(Drawing, self).__setattr__(key, value) AttributeError: can't set attribute During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/UCSF/ChimeraX/lib/python3.6/site-packages/chimerax/ui/gui.py", line 941, in <lambda> run(ses, "toolshed show %s" % quote_if_necessary(tool_name))) File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/commands/run.py", line 31, in run results = command.run(text, log=log) File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/commands/cli.py", line 2587, in run result = ci.function(session, **kw_args) File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/commands/toolshed.py", line 337, in toolshed_show bi.start_tool(session, tool_name) File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/toolshed/info.py", line 585, 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: can't set attribute chimerax.core.toolshed.ToolshedError: start_tool() failed for tool ISOLDE in bundle ChimeraX-ISOLDE: can't set attribute File "/opt/UCSF/ChimeraX/lib/python3.6/site- packages/chimerax/core/toolshed/info.py", line 585, 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.56 OpenGL renderer: Quadro K4000/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation
Change History (7)
comment:1 by , 7 years ago
Cc: | added |
---|---|
Component: | Unassigned → Third Party |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Can't set 'vertices' attribute on Drawing |
comment:2 by , 7 years ago
follow-up: 3 comment:3 by , 7 years ago
I’m not sure what’s happening here - I think the ToolShed may have fed the user the wrong version of ISOLDE? This error doesn’t occur in the 1.0b2 release. In any case, I’ve given him the links to my latest dev builds, and those are working fine.
comment:4 by , 6 years ago
Cc: | added |
---|---|
Component: | Third Party → Tool Shed |
Owner: | changed from | to
Looking at the ToolShed download statistics for the last few weeks, it appears this is arising from the changes introduced by #1787. The ToolShed now shows two download/install links for each platform: the last "number only" version, and the last version with a non-numeric string in its ID. This means that in ChimeraX 0.8, the first "Install" button the user now sees for ISOLDE points to version 0.9.24, which dates all the way back to ChimeraX 0.5 (around last February). About half of all downloads since that change was made have been 0.9.24, with the remainder being 1.0b2. The only thing I could do to remedy this from my end would be to make an official 1.0 release, but I'm not going to be in a position to do that for quite some time yet.
comment:5 by , 6 years ago
I'm not clear what you want users to do. When should any user download 0.9.24? If the answer is never, then I suggest rebranding the current 1.0b2 as 0.9.25 and move forward with the next beta of 1.0b3. If the answer is not "never", then shouldn't it be displayed the way it is now?
follow-up: 6 comment:6 by , 6 years ago
Users should never be downloading 0.9.24 any more. I guess rebranding 1.0b2 as 0.9.25 is a possible solution, but that’s (a) going to be somewhat confusing to existing users, and (b) not something I think I’m able to do - I believe the ToolShed only allows me to upload a new wheel if it has a version number higher than the last. Until we can get this sorted out, would it be feasible to roll back to the old ToolShed scheme with a single install/download link for each platform?
comment:7 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
All the old versions of ISOLDE/Clipper have been removed and the latest toolshed code should select the correct one for the user's platform.
Tristan needs to use Drawing.set_geometry(vertices, normals, triangles) in ISOLDE, not drawing.vertices = v. This was a change in ChimeraX made about 6 months ago. The reason is that the vertices, normals and triangles have to be all consistent with each other. By setting only the vertices it is very easy to make them inconsistent, for instance, where the triangle array points beyond the end of the new vertex array. In the rare case where you really just want to move the vertices and keep the triangles the same, you would call d.set_geometry(vertices, normals, d.triangles).