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)
comment:2 by , 5 years ago
Component: | Unassigned → Graphics |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → many labels == problems |
comment:3 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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.