Opened 6 years ago

Closed 6 years ago

#2288 closed defect (fixed)

traceback interactively moving clip plane after coloring by map value and playing with cap subdiv

Reported by: Elaine Meng Owned by: Tom Goddard
Priority: minor Milestone:
Component: Surface Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-17.7.0-x86_64-i386-64bit
ChimeraX Version: 0.91 (2019-08-03)
Description
I was messing around with right-mouse clip translate/rotate while the cap was colored by map value.  Maybe significant that this traceback occurred after a mouseclick made the molecular surface no longer clipped but subsequent mousing re-clipped it (cap was no longer colored, which I expect... only the traceback was unexpected).  Probably doesn't matter which data, but was 3eeb after deleting chain A and opening attached dx file of ESP for chain B.


Log:
Startup Messages  
---  
warning | 'clip' is a prefix of an existing command 'clipper'  
  
UCSF ChimeraX version: 0.91 (2019-08-03)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 3mhc format mmCIF fromDatabase pdb

3mhc title:  
Crystal structure of human cabonic anhydrase II in adduct with an adamantyl
analogue of acetazolamide in a novel hydrophobic binding pocket [more info...]  
  
Chain information for 3mhc #1  
---  
Chain | Description  
A | Carbonic anhydrase 2  
  
Non-standard residues in 3mhc #1  
---  
ARZ —
(3S,5S,7S)-N-(5-sulfamoyl-1,3,4-thiadiazol-2-yl)tricyclo[3.3.1.1~3,7~]decane-1-carboxamide
(5-(1-adamantylcarboxamido)-1,3,4-thiadiazole-2-sulfonamide)  
ZN — zinc ion  
  
  

> surface

> molmap protein 6

Expected a keyword  

> surface close #1

> toolshed show "Side View"

> color sample #2 map #2

Map values for surface "surface": minimum 0.09594, mean 0.09594, maximum
0.09594  
Map values for surface "cap near": minimum 0.08372, mean 0.2245, maximum
0.6163  

> surface cap subdivision 2

> surface cap subdivision 2.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 3

> surface cap subdivision 3.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 5

> surface cap subdivision 5.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 1

> surface cap subdivision 1.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> hide #!2 models

> surface

> color sample #1 map #2

Map values for surface "3mhc_A SES surface": minimum 0.05977, mean 0.206,
maximum 0.3934  
Map values for surface "cap near": minimum 0.08004, mean 0.3183, maximum
0.6074  

> surface cap subdivision 2

> surface cap subdivision 2.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 4

> surface cap subdivision 4.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 1

> surface cap subdivision 1.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> hide cartoons

> surface cap subdivision 1

Clip caps on, offset 0.01  

> surface cap subdivision 2

> surface cap subdivision 2.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 1

> surface cap subdivision 1.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision .5

> surface cap subdivision 0.5

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 5

> surface cap subdivision 5.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 1

> surface cap subdivision 1.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 2

> surface cap subdivision 2.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface close #1

> surface #1

> color sample #1 map #2 palette lipophilicity

Map values for surface "3mhc_A SES surface": minimum 0.05977, mean 0.206,
maximum 0.3934  
Map values for surface "cap near": minimum 0.07418, mean 0.3598, maximum
0.6423  

> surface cap subdivision 5

> surface cap subdivision 5.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 1

> surface cap subdivision 1.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> close

> open /Users/meng/Desktop/chidata/3eebB.dx

Opened 3eebB.dx, grid size 129,129,129, pixel 0.555,0.529,0.48, shown at level
-45.7,45.7, step 1, values float32  

> open 3eeb

3eeb title:  
Structure of the V. cholerae RTX cysteine protease domain [more info...]  
  
Chain information for 3eeb #2  
---  
Chain | Description  
A B | RTX toxin RtxA  
  
Non-standard residues in 3eeb #2  
---  
IHP — inositol hexakisphosphate  
NA — sodium ion  
  
3eeb mmCIF Assemblies  
---  
1| author_and_software_defined_assembly  
2| author_and_software_defined_assembly  
  
  

> delete /a

> surface

> hide #1

> color sample #2 map #1

Map values for surface "3eeb_B SES surface": minimum -138.4, mean 1.503,
maximum 144.4  
Map values for surface "cap near": minimum -246.1, mean 11.78, maximum 273  

> ui mousemode rightMode "clip rotate"

> color sample #2 map #1

Map values for surface "3eeb_B SES surface": minimum -138.4, mean 1.503,
maximum 144.4  
Map values for surface "cap front": minimum -326.8, mean 5.751, maximum 227.2  

> help color

Missing or invalid "surfaces" argument: invalid surfaces specifier  

> color sample #2 map #1 palette -10,red:0,white:10,blue

Map values for surface "3eeb_B SES surface": minimum -138.4, mean 1.503,
maximum 144.4  
Map values for surface "cap front": minimum -316.8, mean 8.885, maximum 365.9  

> color sample #2 map #1 palette -50,red:0,white:50,blue

Map values for surface "3eeb_B SES surface": minimum -138.4, mean 1.503,
maximum 144.4  
Map values for surface "cap front": minimum -316.8, mean 8.885, maximum 365.9  

> lighting soft

> surface cap subdivision 2

> surface cap subdivision 2.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 1

> surface cap subdivision 1.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 2

> surface cap subdivision 2.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 3

> surface cap subdivision 3.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> surface cap subdivision 5

> surface cap subdivision 5.0

Clip caps on, offset 0.01  
Clip caps on, offset 0.01  

> hide cartoons

> ui mousemode rightMode clip

> ui mousemode rightMode "clip rotate"

> style ligand ball

Changed 36 atom styles  
Traceback (most recent call last):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/mousemodes.py", line 459, in <lambda>  
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/mousemodes.py", line 387, in
_dispatch_mouse_event  
f(MouseEvent(event, modifiers=modifiers))  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/std_modes.py", line 643, in mouse_drag  
self.clip_rotate(axis, angle)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/std_modes.py", line 668, in clip_rotate  
r = rotation(scene_axis, angle, v.center_of_rotation)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 640, in _get_cofr  
cofr = self._compute_center_of_rotation()  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 667, in
_compute_center_of_rotation  
p = self._front_center_cofr()  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 722, in _front_center_cofr  
cr = self._front_center_point() # Can be None  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 728, in _front_center_point  
exclude=lambda d: hasattr(d, 'no_cofr') and d.no_cofr)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 743, in first_intercept  
p = self.first_intercept_on_segment(xyz1, xyz2, exclude=exclude,
beyond=beyond)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 757, in
first_intercept_on_segment  
p = self.drawing.first_intercept(xyz1, xyz2, exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 986, in first_intercept  
p = self.first_intercept_children(self.child_drawings(), mxyz1, mxyz2,
exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1002, in
first_intercept_children  
p = d.first_intercept(cxyz1, cxyz2, exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 1695, in first_intercept  
ppicks = self._position_intercepts(self.positions[pn], mxyz1, mxyz2, exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 1728, in _position_intercepts  
p = d.first_intercept(xyz1, xyz2, exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/molsurf.py", line 456, in first_intercept  
v = self.triangles[t,0]  
IndexError: index 175018 is out of bounds for axis 0 with size 166250  
  
IndexError: index 175018 is out of bounds for axis 0 with size 166250  
  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/molsurf.py", line 456, in first_intercept  
v = self.triangles[t,0]  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/mousemodes.py", line 459, in <lambda>  
gw.mouseMoveEvent = lambda e, s=self: s._dispatch_mouse_event(e, "mouse_drag")  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/mousemodes.py", line 387, in
_dispatch_mouse_event  
f(MouseEvent(event, modifiers=modifiers))  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/std_modes.py", line 643, in mouse_drag  
self.clip_rotate(axis, angle)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/mouse_modes/std_modes.py", line 668, in clip_rotate  
r = rotation(scene_axis, angle, v.center_of_rotation)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 640, in _get_cofr  
cofr = self._compute_center_of_rotation()  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 667, in
_compute_center_of_rotation  
p = self._front_center_cofr()  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 722, in _front_center_cofr  
cr = self._front_center_point() # Can be None  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 728, in _front_center_point  
exclude=lambda d: hasattr(d, 'no_cofr') and d.no_cofr)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 743, in first_intercept  
p = self.first_intercept_on_segment(xyz1, xyz2, exclude=exclude,
beyond=beyond)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 757, in
first_intercept_on_segment  
p = self.drawing.first_intercept(xyz1, xyz2, exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 986, in first_intercept  
p = self.first_intercept_children(self.child_drawings(), mxyz1, mxyz2,
exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1002, in
first_intercept_children  
p = d.first_intercept(cxyz1, cxyz2, exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 1695, in first_intercept  
ppicks = self._position_intercepts(self.positions[pn], mxyz1, mxyz2, exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 1728, in _position_intercepts  
p = d.first_intercept(xyz1, xyz2, exclude=exclude)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/molsurf.py", line 456, in first_intercept  
v = self.triangles[t,0]  
IndexError: index 185459 is out of bounds for axis 0 with size 166250  
  
IndexError: index 185459 is out of bounds for axis 0 with size 166250  
  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/molsurf.py", line 456, in first_intercept  
v = self.triangles[t,0]  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 NVIDIA-10.32.0 355.11.10.10.40.102
OpenGL renderer: NVIDIA GeForce GTX 675MX OpenGL Engine
OpenGL vendor: NVIDIA Corporation
File attachment: 3eebB.dx

3eebB.dx

Attachments (1)

3eebB.dx (29.2 MB ) - added by Elaine Meng 6 years ago.
Added by email2trac

Change History (4)

by Elaine Meng, 6 years ago

Attachment: 3eebB.dx added

Added by email2trac

comment:1 by Elaine Meng, 6 years ago

Component: UnassignedSurface
Owner: set to Tom Goddard
Platform: all
Priority: normalminor
Project: ChimeraX
Status: newassigned

I also saved a session, but after quitting and restoring session, I can use the mouse to translate and rotate the clip plane without generating any more tracebacks. This is probably not worth spending time on.

comment:2 by Elaine Meng, 6 years ago

Summary: ChimeraX bug report submissiontraceback interactively moving clip plane after coloring by map value and playing with cap subdiv

comment:3 by Tom Goddard, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Molecular surface mouse pick was mistakenly think the picked triangle on a clip cap was on the molecular surface. The "pick" in this error was when recomputing the front-center rotation point. Made code properly handle clip cap picks.

Note: See TracTickets for help on using tickets.