#4358 closed defect (fixed)
mmCIF selectedOnly very slow
Reported by: | Tristan Croll | Owned by: | Greg Couch |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Performance | 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.19.1.el7.x86_64-x86_64-with-glibc2.14 ChimeraX Version: 1.2.dev202103090320 (2021-03-09 03:20:00 UTC) Description "save xxx.cif selectedOnly true" (my usual go-to approach for saving a model without hydrogens for refinement) gets *really* slow for large models. For 7ajt (after adding hydrogens), running the command with everything other than hydrogen selected takes almost an hour. In the shell: from chimerax.core.commands import run %prun run(session, 'save test_noh.cif #1 sel t') ... yields the output below. 206774008 function calls (206769253 primitive calls) in 3077.020 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 31272 2584.652 0.083 2595.328 0.083 mmcif_write.py:516(atom_site_residue) 1 356.847 356.847 3084.345 3084.345 mmcif_write.py:244(save_structure) 21794891 30.033 0.000 71.504 0.000 ctypes_support.py:44(residue) 5095020 15.054 0.000 19.381 0.000 mmcif.py:392(quote) 31004 14.675 0.000 86.234 0.003 molobject.py:1135(res_map) 22006226/22006223 11.854 0.000 16.681 0.000 <frozen importlib._bootstrap>:1017(_handle_fromlist) 21913217 11.400 0.000 16.618 0.000 <frozen importlib._bootstrap>:389(parent) 14 9.924 0.709 10.772 0.769 utils.py:25(flattened) 21913233 5.218 0.000 5.218 0.000 {method 'rpartition' of 'str' objects} 32574903 4.113 0.000 4.113 0.000 {built-in method builtins.isinstance} 24007215 3.592 0.000 3.592 0.000 {built-in method builtins.hasattr} 2000488 2.997 0.000 12.256 0.000 molarray.py:146(__iter__) 256180 2.822 0.000 2.822 0.000 mmcif_write.py:545(<listcomp>) 25298079/25296335 2.746 0.000 2.747 0.000 {built-in method builtins.len} 15 1.737 0.116 21.117 1.408 mmcif.py:1028(<listcomp>) 31378 1.663 0.000 6.435 0.000 molarray.py:150(<listcomp>) 1705421 1.616 0.000 1.616 0.000 {chimerax.atomic.cymol.c_ptr_to_py_inst} 1052181 1.440 0.000 1.673 0.000 molc.py:27(c_function) Log: > alias preview_toolshed toolshed url https://cxtoolshed- > preview.rbvi.ucsf.edu; toolshed reload available > alias production_toolshed toolshed url https://cxtoolshed.rbvi.ucsf.edu; > toolshed reload available > alias st isolde step $* > alias aw isolde add water $* > alias awsf isolde add water sim false > alias al isolde add ligand $* > alias so setattr sel atoms occupancy $* UCSF ChimeraX version: 1.2.dev202103090320 (2021-03-09) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 7ajt Summary of feedback from opening 7ajt fetched from pdb --- note | Fetching compressed mmCIF 7ajt from http://files.rcsb.org/download/7ajt.cif 7ajt title: Cryo-EM structure of the 90S-exosome super-complex (state Pre-A1-exosome) [more info...] Chain information for 7ajt #1 --- Chain | Description CA CB | rRNA 2'-O-methyltransferase fibrillarin CD | Nucleolar protein 56 CE | Nucleolar protein 58 CF CG | 13 kDa ribonucleoprotein-associated protein CH | Ribosomal RNA-processing protein 9 CI | U3 small nucleolar ribonucleoprotein protein IMP3 CJ | U3 small nucleolar ribonucleoprotein protein IMP4 CK | U3 small nucleolar RNA-associated protein MPP10 CL | Ribosome biogenesis protein BMS1 CM | RNA 3'-terminal phosphate cyclase-like protein CN | Ribosomal RNA-processing protein 7 D2 | 5'ets RNA D3 | 18S rRNA D4 | U3 snoRNA DA | 40S ribosomal protein S1-A DE | 40S ribosomal protein S4-A DF | 40S ribosomal protein S5 DG | 40S ribosomal protein S6-A DH | 40S ribosomal protein S7-A DI | 40S ribosomal protein S8-A DJ | 40S ribosomal protein S9-A DL | 40S ribosomal protein S11-A DN | 40S ribosomal protein S13 DO | 40S ribosomal protein S14-A DQ | 40S ribosomal protein S16-A DS | 40S ribosomal protein S18-A DW | 40S ribosomal protein S22-A DX | 40S ribosomal protein S23-A DY | 40S ribosomal protein S24-A Db | 40S ribosomal protein S27-A Dc | 40S ribosomal protein S28-A EA | RNA EB | Exosome complex component RRP45 EC | Exosome complex component SKI6 ED | Exosome complex component RRP43 EE | Exosome complex component RRP46 EF | Exosome complex component RRP42 EG | Exosome complex component MTR3 EH | Exosome complex component RRP40 EI | Exosome complex component RRP4 EJ | Exosome complex component CSL4 EK | Exosome complex exonuclease DIS3 EN | ATP-dependent RNA helicase DOB1 JA JB | RNA cytidine acetyltransferase JC | Ribosome biogenesis protein ENP2 JF JG | Ribosomal RNA small subunit methyltransferase NEP1 JH | Essential nuclear protein 1 JI | rRNA biogenesis protein RRP5 JJ | Pre-rRNA-processing protein PNO1 JK | Protein BFR2 JM | rRNA-processing protein FCF2 JN | Protein FAF1 JO | KRR1 small subunit processome component JP | Protein SOF1 JQ | Regulator of rDNA transcription protein 14 UA | Periodic tryptophan protein 2 UB | Nucleolar complex protein 14 UC | Something about silencing protein 10 UD | U3 small nucleolar RNA-associated protein 4 UE | U3 small nucleolar RNA-associated protein 5 UF | U3 small nucleolar RNA-associated protein 6 UG | U3 small nucleolar RNA-associated protein 7 UH | U3 small nucleolar RNA-associated protein 8 UI | U3 small nucleolar RNA-associated protein 9 UJ | U3 small nucleolar RNA-associated protein 10 UK | U3 small nucleolar RNA-associated protein 11 UL | U3 small nucleolar RNA-associated protein 12 UM | U3 small nucleolar RNA-associated protein 13 UN | U3 small nucleolar RNA-associated protein 14 UO | U3 small nucleolar RNA-associated protein 15 UP | Bud site selection protein 21 UQ | NET1-associated nuclear protein 1 UR | U3 small nucleolar RNA-associated protein 18 US | Nucleolar complex protein 4 UT | U3 small nucleolar RNA-associated protein 20 UU | U3 small nucleolar RNA-associated protein 21 UV | U3 small nucleolar RNA-associated protein 22 UX | rRNA-processing protein FCF1 UZ | Ribosome biogenesis protein UTP30 Non-standard residues in 7ajt #1 --- GTP — guanosine-5'-triphosphate MG — magnesium ion ZN — zinc ion > addh Summary of feedback from adding hydrogens to 7ajt #1 --- warnings | Not adding hydrogens to /JA LYS 222 CB because it is missing heavy- atom bond partners Not adding hydrogens to /JA GLU 223 CB because it is missing heavy-atom bond partners Not adding hydrogens to /JA ASP 224 CB because it is missing heavy-atom bond partners Not adding hydrogens to /JA ASP 225 CB because it is missing heavy-atom bond partners Not adding hydrogens to /JA GLU 226 CB because it is missing heavy-atom bond partners 6406 messages similar to the above omitted 282 atoms were skipped as donors/acceptors due to missing heavy-atom bond partners notes | Termini for 7ajt (#1) chain CA determined from SEQRES records Termini for 7ajt (#1) chain DA determined from SEQRES records Termini for 7ajt (#1) chain JA determined from SEQRES records Termini for 7ajt (#1) chain UA determined from SEQRES records Termini for 7ajt (#1) chain CB determined from SEQRES records 78 messages similar to the above omitted Chain-initial residues that are actual N termini: /US MET 1, /CJ MET 1, /JP MET 1, /DG MET 1, /D2 A 1, /D3 A -7, /D4 G 1, /EA A 157, /EC MET 1, /EE MET 1, /EF GLY -1, /EH MET 1 Chain-initial residues that are not actual N termini: /CA ALA 80, /CA VAL 134, /DA ALA 2, /DA GLU 238, /JA ALA 2, /JA PHE 350, /JA LEU 465, /JA GLY 611, /JA THR 704, /UA LYS 2, /UA LYS 245, /CB LYS 85, /CB LYS 138, /JB ALA 2, /JB LEU 465, /JB GLY 611, /JB THR 704, /UB PRO 201, /UB THR 264, /UB ARG 382, /UB GLU 420, /UB PRO 585, /UB ASP 731, /UC THR 431, /UC ASP 493, /UD GLU 29, /UD ASN 413, /UD PRO 508, /UD GLU 608, /UD GLY 678, /UD HIS 731, /UE SER 3, /UE TRP 46, /UE ASP 72, /UE GLY 269, /UE THR 434, /UF SER 2, /UF ALA 264, /UF SER 296, /UF GLU 330, /UF PRO 356, /UG LYS 13, /UG GLN 36, /UH ASP 27, /UH SER 50, /UH ALA 85, /UH LEU 120, /UH ASP 153, /UH PRO 520, /UH PRO 548, /UH SER 631, /UH ALA 712, /UI TRP 411, /UI HIS 429, /UJ SER 2, /UJ GLY 488, /UJ ARG 522, /UJ LYS 1348, /UJ PHE 1369, /UJ ASN 1390, /UJ ASN 1418, /UJ SER 1434, /UJ LEU 1450, /UJ ASP 1470, /UJ SER 1492, /UJ ILE 1566, /UK ALA 2, /UK ASN 180, /UL TYR 5, /UL PRO 38, /UL LYS 268, /UL GLU 311, /UL LEU 520, /UL SER 745, /UL ILE 786, /UM TYR 7, /UM LEU 209, /UM ASP 325, /UM PRO 378, /UM THR 486, /UM GLU 717, /UN GLN 276, /UN GLN 827, /UO SER 2, /UO LYS 353, /UP ILE 155, /UQ GLN 9, /UQ ALA 104, /UQ ASN 166, /UQ VAL 734, /UQ ASN 818, /UQ ASN 846, /UR PRO 13, /UR GLU 122, /UR ASN 202, /UR SER 334, /US LYS 22, /US ASN 145, /UT GLN 4, /UT GLN 355, /UT ASN 535, /UT SER 822, /UT ASP 1191, /UT GLN 1458, /UT ARG 1501, /UT ASN 1584, /UT GLU 1841, /UT ASN 2154, /UT GLU 2175, /UT GLN 2202, /UT GLY 2227, /UT HIS 2243, /UT ASN 2270, /UT GLU 2291, /UT ILE 2333, /UT SER 2353, /UT GLU 2373, /UT GLU 2381, /UT GLU 2404, /UU LYS 19, /UU LEU 702, /UU GLY 812, /UV PHE 98, /UV ASP 282, /UV LEU 326, /UV PRO 453, /UV GLU 1010, /UV ALA 1128, /UX THR 7, /UX THR 41, /UZ GLY 11, /CD PRO 3, /CD LYS 370, /CE ALA 2, /CE LYS 21, /CF PRO 4, /CG ALA 3, /CH GLU 57, /CH ASP 115, /CH PRO 394, /CI VAL 2, /CJ GLN 72, /CK LYS 295, /CK ALA 425, /CL PRO 36, /CL LEU 353, /CL ASN 548, /CL VAL 606, /CL ASP 748, /CM LYS 7, /CN ILE 3, /CN ALA 32, /CN PRO 120, /CN LYS 252, /JC LYS 4, /JC VAL 47, /JF PRO 29, /JF ASP 63, /JG GLN 16, /JG ASP 63, /JH ALA 205, /JH GLY 403, /JI ALA 1457, /JJ LYS 93, /JK SER 459, /JM SER 50, /JM ASN 101, /JM SER 171, /JN LYS 91, /JN GLY 101, /JN ASN 148, /JN ILE 195, /JO GLU 38, /JO VAL 247, /JP ASN 168, /JQ ARG 112, /JQ PHE 178, /DE ALA 2, /DF ASP 13, /DH PRO 4, /DI GLY 2, /DI ARG 146, /DJ PRO 2, /DL THR 6, /DN GLY 2, /DO SER 11, /DQ ALA 3, /DS SER 2, /DS PHE 11, /DS HIS 99, /DW THR 2, /DX PRO 42, /DY SER 2, /Db VAL 2, /Dc THR 5, /D2 G 56, /D2 A 80, /D2 C 422, /D3 A 22, /D3 C 139, /D3 A 182, /D3 U 205, /D3 U 229, /D3 U 242, /D3 G 624, /D3 G 676, /D3 U 744, /D3 U 790, /D3 G 816, /D3 A 859, /D3 A 1025, /D3 G 1111, /D3 A 1202, /D3 U 1258, /D3 G 1433, /D3 G 1448, /D3 C 1461, /D3 A 1524, /D3 G 1540, /D3 A 1569, /D3 A 1721, /D3 G 1768, /D4 G 111, /D4 U 137, /D4 U 197, /D4 U 245, /D4 A 263, /D4 U 304, /EB LYS 3, /ED GLU 8, /ED GLU 121, /ED LYS 206, /ED TYR 272, /ED LEU 326, /EG GLN 4, /EG GLU 41, /EG SER 163, /EI SER 2, /EI SER 50, /EI SER 276, /EJ PRO 8, /EJ THR 102, /EJ ASN 126, /EJ ALA 186, /EK ARG 9, /EK THR 249, /EK ASN 361, /EN MET 80, /EN GLY 392 Chain-final residues that are actual C termini: /UC ASN 610, /UD PHE 776, /UG GLY 554, /UH ILE 723, /UJ ASP 1769, /UK ARG 250, /UL ILE 943, /UM PHE 817, /UN LYS 899, /UP GLY 214, /UQ THR 896, /UR TYR 594, /UU ALA 939, /UV ASP 1237, /UX PHE 189, /CF ILE 126, /CI SER 183, /CJ LEU 290, /JJ TYR 274, /DF ARG 225, /DI LYS 200, /DN ASN 151, /DW TYR 130, /DY ASP 135, /Db LYS 82, /Dc ARG 67, /D4 U 333, /EA U 178, /ED ILE 394, /EE VAL 223, /EF LEU 265, /EK LYS 1001, /EN LEU 1073 Chain-final residues that are not actual C termini: /CA PRO 128, /CA LYS 326, /DA GLY 233, /DA THR 245, /JA PHE 326, /JA ARG 431, /JA SER 595, /JA GLY 663, /JA PHE 924, /UA ARG 223, /UA MET 856, /CB VAL 125, /CB GLY 324, /JB ARG 431, /JB SER 595, /JB GLY 663, /JB PHE 924, /UB MET 252, /UB GLY 316, /UB LEU 414, /UB GLU 578, /UB GLU 718, /UB ARG 806, /UC ILE 440, /UD GLY 405, /UD LEU 500, /UD SER 600, /UD ASN 666, /UD ASN 689, /UE ARG 36, /UE ASN 67, /UE SER 262, /UE VAL 372, /UE LEU 557, /UF ASN 207, /UF LYS 290, /UF PHE 323, /UF ASN 344, /UF ARG 372, /UG TYR 26, /UH ALA 32, /UH GLY 83, /UH ALA 93, /UH LEU 147, /UH VAL 358, /UH ARG 545, /UH GLY 617, /UH THR 681, /UI VAL 427, /UI ASP 515, /UJ LEU 424, /UJ GLY 503, /UJ GLN 808, /UJ LYS 1365, /UJ SER 1388, /UJ ARG 1410, /UJ SER 1429, /UJ ILE 1448, /UJ ILE 1465, /UJ ASN 1487, /UJ ASP 1557, /UK ALA 172, /UL ALA 28, /UL ASN 264, /UL GLU 305, /UL VAL 504, /UL THR 687, /UL GLN 777, /UM VAL 201, /UM GLU 317, /UM PRO 368, /UM ILE 468, /UM SER 707, /UN SER 349, /UO LYS 334, /UO THR 512, /UQ GLN 101, /UQ ASP 159, /UQ ASP 730, /UQ THR 788, /UQ LEU 829, /UR ILE 45, /UR SER 184, /UR LEU 326, /US LYS 13, /US PHE 134, /US SER 512, /UT GLU 348, /UT LYS 528, /UT PHE 804, /UT LEU 1189, /UT LEU 1441, /UT SER 1495, /UT ARG 1563, /UT SER 1825, /UT LEU 2149, /UT SER 2171, /UT THR 2195, /UT THR 2220, /UT TYR 2241, /UT LYS 2261, /UT PRO 2287, /UT ARG 2312, /UT SER 2346, /UT VAL 2370, /UT GLU 2379, /UT TYR 2390, /UT LEU 2417, /UU PHE 673, /UU LYS 766, /UV LYS 274, /UV ILE 317, /UV ASN 445, /UV GLU 983, /UV SER 1116, /UX ASN 31, /UZ PHE 257, /CD LEU 336, /CD TYR 415, /CE ASP 19, /CE ALA 437, /CG LEU 125, /CH THR 83, /CH GLU 375, /CH GLN 570, /CJ LYS 63, /CK LEU 386, /CK ALA 539, /CL ARG 322, /CL GLY 376, /CL GLY 569, /CL LEU 636, /CL ASN 1164, /CM ILE 366, /CN PRO 27, /CN SER 105, /CN LYS 233, /CN ILE 270, /JC LEU 37, /JC LYS 366, /JF ILE 55, /JF ILE 251, /JG SER 56, /JG ILE 251, /JH ASP 401, /JH ARG 466, /JI SER 1721, /JK GLN 500, /JM SER 84, /JM GLU 154, /JM ARG 216, /JN ARG 98, /JN SER 119, /JN ASN 170, /JN SER 330, /JO PRO 225, /JO GLN 288, /JP ASN 159, /JP GLU 469, /JQ LYS 148, /JQ SER 203, /DE LEU 246, /DG GLU 218, /DH SER 187, /DI LYS 123, /DJ GLU 186, /DL ALA 145, /DO GLY 130, /DQ LYS 127, /DS GLU 7, /DS ASN 87, /DS ILE 119, /DX ARG 144, /D2 U 24, /D2 A 70, /D2 C 418, /D2 G 489, /D3 C 18, /D3 G 127, /D3 U 177, /D3 U 203, /D3 U 216, /D3 U 240, /D3 U 603, /D3 C 658, /D3 U 695, /D3 A 788, /D3 G 810, /D3 A 855, /D3 G 976, /D3 A 1084, /D3 G 1179, /D3 A 1226, /D3 U 1276, /D3 U 1443, /D3 G 1454, /D3 A 1516, /D3 G 1534, /D3 G 1542, /D3 A 1719, /D3 A 1754, /D3 A 1790, /D4 C 106, /D4 A 118, /D4 U 191, /D4 C 206, /D4 U 260, /D4 A 267, /EB ASN 301, /EC SER 244, /ED THR 99, /ED LEU 193, /ED ASP 249, /ED ASN 310, /EG THR 23, /EG ASN 149, /EG GLN 248, /EH VAL 237, /EI SER 17, /EI THR 245, /EI GLY 356, /EJ ASP 73, /EJ THR 114, /EJ PRO 162, /EJ PRO 291, /EK MET 238, /EK ILE 347, /EN SER 361 Missing OXT added to C-terminal residue /UC ASN 610 Missing OXT added to C-terminal residue /UD PHE 776 Missing OXT added to C-terminal residue /UG GLY 554 Missing OXT added to C-terminal residue /UH ILE 723 Missing OXT added to C-terminal residue /UJ ASP 1769 26 messages similar to the above omitted 24715 hydrogen bonds Adding 'H' to /CA ALA 80 Adding 'H' to /CA VAL 134 Adding 'H' to /DA ALA 2 Adding 'H' to /DA GLU 238 Adding 'H' to /JA ALA 2 191 messages similar to the above omitted /CA LYS 326 is not terminus, removing H atom from 'C' /DA THR 245 is not terminus, removing H atom from 'C' /JA PHE 924 is not terminus, removing H atom from 'C' /UA MET 856 is not terminus, removing H atom from 'C' /CB GLY 324 is not terminus, removing H atom from 'C' 43 messages similar to the above omitted 219182 hydrogens added > ui tool show Shell /opt/UCSF/ChimeraX-daily/lib/python3.8/site- packages/IPython/core/history.py:226: UserWarning: IPython History requires SQLite, your history will not be saved warn("IPython History requires SQLite, your history will not be saved") > select ~H 256172 atoms, 483712 bonds, 1739 pseudobonds, 31272 residues, 4 models selected > save test_noh.cif #1 selectedOnly true OpenGL version: 3.3.0 NVIDIA 455.32.00 OpenGL renderer: TITAN Xp/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: Dell Inc. Model: Precision T5600 OS: CentOS Linux 7 Core Architecture: 64bit ELF Virutal Machine: none 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 16G 28G 256M 17G 45G 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 Locale: ('en_GB', 'UTF-8') PyQt5 5.15.2, Qt 5.15.2 Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 Babel: 2.9.0 backcall: 0.2.0 blockdiag: 2.0.1 certifi: 2020.12.5 cftime: 1.4.1 chardet: 3.0.4 ChimeraX-AddCharge: 1.0 ChimeraX-AddH: 2.1.4 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.11.2 ChimeraX-AtomicLibrary: 2.0 ChimeraX-AtomSearch: 2.0 ChimeraX-AtomSearchLibrary: 1.0 ChimeraX-AxesPlanes: 2.0 ChimeraX-BasicActions: 1.1 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 1.1 ChimeraX-BondRot: 2.0 ChimeraX-BugReporter: 1.0 ChimeraX-BuildStructure: 2.5 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.1 ChimeraX-ButtonPanel: 1.0 ChimeraX-CageBuilder: 1.0 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.1 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.1 ChimeraX-ColorActions: 1.0 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.1 ChimeraX-CommandLine: 1.1.3 ChimeraX-ConnectStructure: 2.0 ChimeraX-Contacts: 1.0 ChimeraX-Core: 1.2.dev202103090320 ChimeraX-CoreFormats: 1.0 ChimeraX-coulombic: 1.0.3 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0 ChimeraX-DataFormats: 1.1 ChimeraX-Dicom: 1.0 ChimeraX-DistMonitor: 1.1 ChimeraX-DistUI: 1.0 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0 ChimeraX-FunctionKey: 1.0 ChimeraX-Geometry: 1.1 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.0 ChimeraX-Hbonds: 2.1 ChimeraX-Help: 1.1 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.0 ChimeraX-ImageFormats: 1.1 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0 ChimeraX-Label: 1.0 ChimeraX-LinuxSupport: 1.0 ChimeraX-ListInfo: 1.1 ChimeraX-Log: 1.1.1 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.1 ChimeraX-Map: 1.0.2 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.0 ChimeraX-Markers: 1.0 ChimeraX-Mask: 1.0 ChimeraX-MatchMaker: 1.1 ChimeraX-MDcrds: 2.2 ChimeraX-MedicalToolbar: 1.0.1 ChimeraX-Meeting: 1.0 ChimeraX-MLP: 1.0 ChimeraX-mmCIF: 2.2 ChimeraX-MMTF: 2.1 ChimeraX-Modeller: 1.0 ChimeraX-ModelPanel: 1.0.1 ChimeraX-ModelSeries: 1.0 ChimeraX-Mol2: 2.0 ChimeraX-Morph: 1.0 ChimeraX-MouseModes: 1.0 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0 ChimeraX-OpenCommand: 1.5 ChimeraX-PDB: 2.2 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.0.1 ChimeraX-PubChem: 2.0.1 ChimeraX-ReadPbonds: 1.0 ChimeraX-Registration: 1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-ResidueFit: 1.0 ChimeraX-RestServer: 1.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 2.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.4 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SeqView: 2.3 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0 ChimeraX-Shortcuts: 1.0 ChimeraX-ShowAttr: 1.0 ChimeraX-ShowSequences: 1.0 ChimeraX-SideView: 1.0 ChimeraX-Smiles: 2.0.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.3 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-Struts: 1.0 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0 ChimeraX-SwapRes: 2.1 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.0 ChimeraX-ToolshedUtils: 1.1 ChimeraX-Tug: 1.0 ChimeraX-UI: 1.6.1 ChimeraX-uniprot: 2.1 ChimeraX-UnitCell: 1.0 ChimeraX-ViewDockX: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0 ChimeraX-WebServices: 1.0 ChimeraX-Zone: 1.0 colorama: 0.4.3 comtypes: 1.1.7 cxservices: 1.0 cycler: 0.10.0 Cython: 0.29.21 decorator: 4.4.2 distlib: 0.3.1 distro: 1.5.0 docutils: 0.16 filelock: 3.0.12 funcparserlib: 0.3.6 grako: 3.16.5 h5py: 2.10.0 html2text: 2020.1.16 idna: 2.10 ihm: 0.17 imagecodecs: 2020.5.30 imagesize: 1.2.0 ipykernel: 5.3.4 ipython: 7.18.1 ipython-genutils: 0.2.0 jedi: 0.17.2 Jinja2: 2.11.2 jupyter-client: 6.1.7 jupyter-core: 4.7.1 kiwisolver: 1.3.1 line-profiler: 2.1.2 lxml: 4.6.2 lz4: 3.1.0 MarkupSafe: 1.1.1 matplotlib: 3.3.2 msgpack: 1.0.0 netCDF4: 1.5.4 networkx: 2.5 numexpr: 2.7.3 numpy: 1.19.2 numpydoc: 1.1.0 openvr: 1.14.1501 packaging: 20.9 ParmEd: 3.2.0 parso: 0.7.1 pexpect: 4.8.0 pickleshare: 0.7.5 Pillow: 7.2.0 pip: 21.0.1 pkginfo: 1.5.0.1 prompt-toolkit: 3.0.16 psutil: 5.7.2 ptyprocess: 0.7.0 pycollada: 0.7.1 pydicom: 2.0.0 Pygments: 2.7.1 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 2.4.7 PyQt5-commercial: 5.15.2 PyQt5-sip: 12.8.1 PyQtWebEngine-commercial: 5.15.2 python-dateutil: 2.8.1 pytz: 2021.1 pyzmq: 22.0.3 qtconsole: 4.7.7 QtPy: 1.9.0 RandomWords: 0.3.0 requests: 2.24.0 scipy: 1.5.2 setuptools: 50.3.2 sfftk-rw: 0.6.7.dev1 six: 1.15.0 snowballstemmer: 2.1.0 sortedcontainers: 2.2.2 Sphinx: 3.2.1 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 2.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 1.0.3 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.4 suds-jurko: 0.6 tables: 3.6.1 tifffile: 2020.9.3 tinyarray: 1.2.3 tornado: 6.1 traitlets: 5.0.5 urllib3: 1.25.11 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.36.0 wheel-filename: 1.2.0
Change History (9)
comment:1 by , 5 years ago
Component: | Unassigned → Performance |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → mmCIF selectedOnly very slow |
comment:2 by , 5 years ago
Status: | assigned → feedback |
---|
I've made mmCIF writing 3X faster by using Cython. Please retry your test and confirm that you're seeing the same improvement.
comment:3 by , 5 years ago
I found another bottleneck that might give another 3X improvement. That work is part of #3372.
comment:4 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | feedback → closed |
Put the other speed changes in. Please evaluate the improvements. It could be even faster, but that would require rewriting much more of the code into C++.
follow-up: 5 comment:5 by , 5 years ago
Was planning to try it in this morning's build, but got waylaid by other things and never even got to installing it. Will try again tomorrow. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 16 March 2021 21:42 Cc: gregc@cgl.ucsf.edu <gregc@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #4358: mmCIF selectedOnly very slow #4358: mmCIF selectedOnly very slow ------------------------------------+------------------------ Reporter: Tristan Croll | Owner: Greg Couch Type: defect | Status: closed Priority: normal | Milestone: Component: Performance | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ------------------------------------+------------------------ Changes (by Greg Couch): * status: feedback => closed * resolution: => fixed Comment: Put the other speed changes in. Please evaluate the improvements. It could be even faster, but that would require rewriting much more of the code into C++. -- Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4358#comment:4> ChimeraX <http://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 6 comment:6 by , 5 years ago
I'm afraid it's still about 45 minutes for the 7ajt case (so about 20% faster overall). For a small model (3io0) the total time is about half what it was previously. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 16 March 2021 22:19 To: gregc@cgl.ucsf.edu <gregc@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #4358: mmCIF selectedOnly very slow #4358: mmCIF selectedOnly very slow ------------------------------------+------------------------ Reporter: Tristan Croll | Owner: Greg Couch Type: defect | Status: closed Priority: normal | Milestone: Component: Performance | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ------------------------------------+------------------------ Comment (by Tristan Croll): {{{ Was planning to try it in this morning's build, but got waylaid by other things and never even got to installing it. Will try again tomorrow. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 16 March 2021 21:42 Cc: gregc@cgl.ucsf.edu <gregc@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #4358: mmCIF selectedOnly very slow #4358: mmCIF selectedOnly very slow ------------------------------------+------------------------ Reporter: Tristan Croll | Owner: Greg Couch Type: defect | Status: closed Priority: normal | Milestone: Component: Performance | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ------------------------------------+------------------------ Changes (by Greg Couch): * status: feedback => closed * resolution: => fixed Comment: Put the other speed changes in. Please evaluate the improvements. It could be even faster, but that would require rewriting much more of the code into C++. -- Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4358#comment:4> ChimeraX <http://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker }}} -- Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4358#comment:5> ChimeraX <http://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
comment:7 by , 5 years ago
Thank you for checking. I was hoping that all of my other work on mmCIF writing would help this case too. I'll dig deeper and get back to you.
comment:8 by , 5 years ago
Please try again. The speed should be close to writing the file without selectedOnly.
comment:9 by , 5 years ago
Beautiful!
7322799 function calls (7318013 primitive calls) in 20.907 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 14 9.980 0.713 10.838 0.774 utils.py:25(flattened) 1 6.002 6.002 19.492 19.492 {chimerax.mmcif.mmcif_write.write_mmcif} 5560942 0.876 0.000 0.877 0.000 {built-in method builtins.isinstance} 1 0.809 0.809 0.809 0.809 molarray.py:588(intra_bonds) 31373 0.398 0.000 0.886 0.000 molarray.py:150(<listcomp>) 481600 0.353 0.000 0.353 0.000 {chimerax.atomic.cymol.c_ptr_to_py_inst} 32373 0.209 0.000 0.430 0.000 molc.py:318(pointer)
By comparison, doing the same thing with PDB format takes 26 seconds.