Opened 5 years ago

Closed 5 years ago

#3621 closed defect (fixed)

many labels == problems

Reported by: Tristan Croll 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:        Linux-3.10.0-1127.13.1.el7.x86_64-x86_64-with-centos-7.8.2003-Core
ChimeraX Version: 1.0 (2020-06-04 23:15:07 UTC)
Description
Trying to label all nucleotide residues in a ribosome kills the graphics.

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

> open 4bna

4bna title:  
Reversible bending and helix geometry In A B-DNA dodecamer: cgcgaattbrcgcg
[more info...]  
  
Chain information for 4bna #1  
---  
Chain | Description  
A B | DNA (5'-D(*CP*GP*CP*GP*ap*ap*TP*TP*(CBR)P*GP*CP*G)-3')  
  

> style stick

Changed 602 atom styles  

> nucleotides atoms

> style nucleic stick

Changed 488 atom styles  

> label nucleic

> close #1

> open 6zm7

6zm7 title:  
SARS-CoV-2 Nsp1 bound to the human CCDC124-80S-EBP1 ribosome complex [more
info...]  
  
Chain information for 6zm7 #1  
---  
Chain | Description  
CA | Proliferation-associated protein 2G4  
CC | tRNA  
CE | Coiled-coil domain-containing protein 124  
CF | Non-structural protein 1  
L5 | 28S ribosomal RNA  
L7 | 5S ribosomal RNA  
L8 | 5.8S ribosomal RNA  
LA | 60S ribosomal protein L8  
LB | 60S ribosomal protein L3  
LC | 60S ribosomal protein L4  
LD | 60S ribosomal protein L5  
LE | 60S ribosomal protein L6  
LF | 60S ribosomal protein L7  
LG | 60S ribosomal protein L7a  
LH | 60S ribosomal protein L9  
LI | 60S ribosomal protein L10-like  
LJ | 60S ribosomal protein L11  
LL | 60S ribosomal protein L13  
LM | 60S ribosomal protein L14  
LN | 60S ribosomal protein L15  
LO | 60S ribosomal protein L13a  
LP | 60S ribosomal protein L17  
LQ | 60S ribosomal protein L18  
LR | 60S ribosomal protein L19  
LS | 60S ribosomal protein L18a  
LT | 60S ribosomal protein L21  
LU | 60S ribosomal protein L22  
LV | 60S ribosomal protein L23  
LW | 60S ribosomal protein L24  
LX | 60S ribosomal protein L23a  
LY | 60S ribosomal protein L26  
LZ | 60S ribosomal protein L27  
La | 60S ribosomal protein L27a  
Lb | 60S ribosomal protein L29  
Lc | 60S ribosomal protein L30  
Ld | 60S ribosomal protein L31  
Le | 60S ribosomal protein L32  
Lf | 60S ribosomal protein L35a  
Lg | 60S ribosomal protein L34  
Lh | 60S ribosomal protein L35  
Li | 60S ribosomal protein L36  
Lj | 60S ribosomal protein L37  
Lk | 60S ribosomal protein L38  
Ll | 60S ribosomal protein L39  
Lm | Ubiquitin-60S ribosomal protein L40  
Ln | 60S ribosomal protein L41  
Lo | 60S ribosomal protein L36a  
Lp | 60S ribosomal protein L37a  
Lr | 60S ribosomal protein L28  
Ls | 60S acidic ribosomal protein P0  
Lt | 60S ribosomal protein L12  
Lz | 60S ribosomal protein L10a  
S2 | 18S ribosomal RNA  
SA | 40S ribosomal protein SA  
SB | 40S ribosomal protein S3a  
SC | 40S ribosomal protein S2  
SD | 40S ribosomal protein S3  
SE | 40S ribosomal protein S4, X isoform  
SF | 40S ribosomal protein S5  
SG | 40S ribosomal protein S6  
SH | 40S ribosomal protein S7  
SI | 40S ribosomal protein S8  
SJ | 40S ribosomal protein S9  
SK | 40S ribosomal protein S10  
SL | 40S ribosomal protein S11  
SM | 40S ribosomal protein S12  
SN | 40S ribosomal protein S13  
SO | 40S ribosomal protein S14  
SP | 40S ribosomal protein S15  
SQ | 40S ribosomal protein S16  
SR | 40S ribosomal protein S17  
SS | 40S ribosomal protein S18  
ST | 40S ribosomal protein S19  
SU | 40S ribosomal protein S20  
SV | 40S ribosomal protein S21  
SW | 40S ribosomal protein S15a  
SX | 40S ribosomal protein S23  
SY | 40S ribosomal protein S24  
SZ | 40S ribosomal protein S25  
Sa | 40S ribosomal protein S26  
Sb | 40S ribosomal protein S27  
Sc | 40S ribosomal protein S28  
Sd | 40S ribosomal protein S29  
Se | 40S ribosomal protein S30  
Sf | Ubiquitin-40S ribosomal protein S27a  
Sg | Receptor of activated protein C kinase 1  
  
Non-standard residues in 6zm7 #1  
---  
MG — magnesium ion  
ZN — zinc ion  
  

> label nucleic

An error occurred in drawing the scene. Redrawing graphics is now stopped to
avoid a continuous stream of error messages. To restart graphics use the
command "graphics restart" after changing the settings that caused the error.  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/core/updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/view.py", line 166, in draw  
self._draw_scene(camera, drawings)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/view.py", line 250, in _draw_scene  
draw_on_top(r, on_top_drawings)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1502, in draw_on_top  
_draw_multiple(drawings, renderer, Drawing.LAST_DRAW_PASS)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1438, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 716, in draw  
self.draw_self(renderer, draw_pass)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 732, in draw_self  
self._draw_geometry(renderer)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 762, in _draw_geometry  
t.bind_texture()  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 2892, in bind_texture  
self.fill_opengl_texture()  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 2927, in fill_opengl_texture  
self.initialize_texture(size, format, iformat, tdtype, ncomp, data)  
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 2829, in initialize_texture  
tdtype, data)  
File "src/latebind.pyx", line 39, in
OpenGL_accelerate.latebind.LateBind.__call__  
File "src/wrapper.pyx", line 318, in
OpenGL_accelerate.wrapper.Wrapper.__call__  
File "src/wrapper.pyx", line 311, in
OpenGL_accelerate.wrapper.Wrapper.__call__  
File "src/errorchecker.pyx", line 58, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1281,  
description = b'invalid value',  
baseOperation = glTexImage2D,  
pyArgs = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
2048,  
39384,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
),  
cArgs = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
2048,  
39384,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
),  
cArguments = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
2048,  
39384,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
)  
)  
  




OpenGL version: 3.3.0 NVIDIA 450.51.05
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        9.4G         43G        291M        9.7G         52G
	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.8

Change History (3)

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

Also, after doing "~label" and "graphics restart" it comes back looking 
really weird (I think maybe the order of front to back is reversed/mixed 
up?

On 2020-08-09 12:23, ChimeraX wrote:

comment:2 by Eric Pettersen, 5 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionmany labels == problems

comment:3 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

I made it give a warning message saying too many labels were requested and it still shows as many as it can. There is no traceback and no need to reset graphics. It is not worth the effort to add support for showing several thousand text labels.

Your request of about 5000 residue labels exceeded OpenGL texture maximum size. The current implementation puts all labels for a model in one texture. The code could be enhanced in a few ways to increase the number of labels, First it fixes the texture width at 2048. It could instead use the maximum texture size which is often 16384 on high-end graphics. That would allow 8 times more labels. This has drawbacks that the full width is always used by the current code. More complex code could try to make the best size texture. Fancier techniques using multiple textures could be used. This would take probably a few days work. That would be an insane waste of developer time. There is almost no case where making 5000 labels makes sense.

Note: See TracTickets for help on using tickets.