Opened 6 years ago

Closed 6 years ago

#1942 closed defect (can't reproduce)

matplotlib traceback drawing interfaces diagram

Reported by: Elaine Meng Owned by: Tom Goddard
Priority: normal Milestone:
Component: Graphics 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.9 (2019-05-15)
Description
Traceback from using "interfaces" command, perhaps related to using small overall window to make screenshot figures and causing problems for matplotlib to draw the diagram.  When I'd tried with an even smaller window and more chains (all of 5cd4) I didn't even get a diagram.  Besides small window, salient commands are probably:

open 5cd4
delete /a-l
interfaces selAtoms

Log:
UCSF ChimeraX version: 0.9 (2019-05-15)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 5cd4

5cd4 title:  
The Type IE CRISPR Cascade complex from E. coli, with two assemblies in the
asymmetric unit arranged back-to-back [more info...]  
  
Chain information for 5cd4 #1  
---  
Chain | Description  
A M | CRISPR system Cascade subunit CasE  
B C D E F G N O P Q R S | CRISPR system Cascade subunit CasC  
H T | CRISPR system Cascade subunit CasD  
I U | CRISPR system Cascade subunit CasA  
J K V W | CRISPR system Cascade subunit CasB  
L X | crRNA  
  
Non-standard residues in 5cd4 #1  
---  
23G — guanosine-5'-phosphate-2',3'-cyclic phosphate  
ZN — zinc ion  
  
5cd4 mmCIF Assemblies  
---  
1| author_and_software_defined_assembly  
2| author_and_software_defined_assembly  
  
  

> sym #1 assembly 1

> view

> close #2

> show #!1 models

> select /a-l

27069 atoms, 27696 bonds, 27 pseudobonds, 3 models selected  

> delete sel

> view

> nucleotides ladder

> ribbon nucleic

> color /o red

> interfaces selAtoms

21 buried areas: S T 2156, R S 1930, Q R 1895, Q P 1886, P O 1878, O N 1807, M
X 1503, U T 1376, T X 1324, S X 1287, O X 1219, R X 1158, Q X 1134, P X 1116,
N M 1040, N X 636, U S 620, W V 536, U W 535, R W 493, O V 427  
/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/networkx/drawing/nx_pylab.py:611: MatplotlibDeprecationWarning:
isinstance(..., numbers.Number)  
if cb.is_numlike(alpha):  
/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/axes/_base.py:1551: RuntimeWarning: divide by zero
encountered in double_scalars  
Xsize = ysize / data_ratio  
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/matplotlib/backends/backend_qt5.py", line 519, in _draw_idle  
self.draw()  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/backends/backend_agg.py", line 402, in draw  
self.figure.draw(self.renderer)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/artist.py", line 50, in draw_wrapper  
return draw(artist, renderer, *args, **kwargs)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/figure.py", line 1649, in draw  
renderer, self, artists, self.suppressComposite)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/image.py", line 138, in _draw_list_compositing_images  
a.draw(renderer)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/artist.py", line 50, in draw_wrapper  
return draw(artist, renderer, *args, **kwargs)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/axes/_base.py", line 2575, in draw  
self.apply_aspect()  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/axes/_base.py", line 1592, in apply_aspect  
self.set_xbound((x0, x1))  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/axes/_base.py", line 3097, in set_xbound  
self.set_xlim(lower, upper, auto=None)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/axes/_base.py", line 3227, in set_xlim  
left = self._validate_converted_limits(left, self.convert_xunits)  
File
"/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/matplotlib/axes/_base.py", line 3139, in _validate_converted_limits  
raise ValueError("Axis limits cannot be NaN or Inf")  
ValueError: Axis limits cannot be NaN or Inf  




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

Change History (3)

comment:1 by Elaine Meng, 6 years ago

Platform: all
Project: ChimeraX

Could not reproduce the "no diagram at all" problem.

One user foible is that if they click the Log link to generate an assembly (which makes a new model) and then the icon to run "interfaces" it will also compute all the inter-model interfaces.

comment:2 by Elaine Meng, 6 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Status: newassigned
Summary: ChimeraX bug report submissionmatplotlib traceback drawing interfaces diagram

may not be reproducible (or fixable)

comment:3 by Tom Goddard, 6 years ago

Resolution: can't reproduce
Status: assignedclosed

I am not able to reproduce this error. Will need a reproducible case to figure it out.

It appears to be caused by a divide by zero error in matplotlib. The entire traceback is in matplotlib so it is hard to tell what caused the problem. The divide by zero is caused by an aspect ratio of zero in the matplotlib code. That could happen in a few ways, one being that it thinks the plot height is 0. I tried squeezing the ChimeraX panel to zero height but it did not generate this error.

The interfaces toolbar icon runs on all the displayed or selected models considering them as one assembly. If the models are not one assembly then the result won't make sense.

Note: See TracTickets for help on using tickets.