Opened 4 years ago

Closed 4 years ago

Last modified 15 months ago

#4759 closed defect (fixed)

dssp unexpectedly slow

Reported by: pett Owned by: pett
Priority: normal Milestone:
Component: Performance Version:
Keywords: Cc: Tom Goddard, Zach Pearson, Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description (last modified by Tom Goddard)

The following bug report has been submitted:
Platform:        macOS-10.15.7-x86_64-i386-64bit
ChimeraX Version: 1.3.dev202106050139 (2021-06-05 01:39:16 UTC)
Description
These matchmakers were slower than expected

Log:
UCSF ChimeraX version: 1.3.dev202106050139 (2021-06-05)  
© 2016-2021 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  
Unable to load numpy_formathandler accelerator from OpenGL_accelerate  

> open 6r83

Summary of feedback from opening 6r83 fetched from pdb  
---  
note | Fetching compressed mmCIF 6r83 from
http://files.rcsb.org/download/6r83.cif  
  
6r83 title:  
CryoEM structure and molecular model of squid hemocyanin (Todarodes pacificus
, TpH) [more info...]  
  
Chain information for 6r83 #1  
---  
Chain | Description  
10a 1a 2a 3a 4a 5a 6a 7a 8a 9a | Hemocyanin subunit 1  
  

> open /Users/pett/rm/query.fa

Summary of feedback from opening /Users/pett/rm/query.fa  
---  
note | Alignment identifier is query.fa  
  
Opened 1 sequences from query.fa  

> close

> open 6r83 format mmcif fromDatabase pdb

6r83 title:  
CryoEM structure and molecular model of squid hemocyanin (Todarodes pacificus
, TpH) [more info...]  
  
Chain information for 6r83 #1  
---  
Chain | Description  
10a 1a 2a 3a 4a 5a 6a 7a 8a 9a | Hemocyanin subunit 1  
  

> open 4yd9

Summary of feedback from opening 4yd9 fetched from pdb  
---  
warning | Cannot find consistent set of bond orders for ring system containing
atom CD2 in residue TRP /R:3256  
notes | Fetching compressed mmCIF 4yd9 from
http://files.rcsb.org/download/4yd9.cif  
Fetching CCD CUO from http://ligand-expo.rcsb.org/reports/C/CUO/CUO.cif  
  
4yd9 title:  
Crystal structure of squid hemocyanin [more info...]  
  
Chain information for 4yd9 #2  
---  
Chain | Description  
A D G J M P S V Y b | hemocyanin  
B E H K N Q T W Z c | hemocyanin  
C F I L O R U X a d | hemocyanin  
  
Non-standard residues in 4yd9 #2  
---  
BMA — beta-D-mannopyranose  
CUO — CU2-O2 cluster (Cu-O2-Cu linkage)  
MAN — alpha-D-mannopyranose  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose  
  

> open 1js8

Summary of feedback from opening 1js8 fetched from pdb  
---  
notes | Fetching compressed mmCIF 1js8 from
http://files.rcsb.org/download/1js8.cif  
Fetching CCD NDG from http://ligand-expo.rcsb.org/reports/N/NDG/NDG.cif  
  
1js8 title:  
Structure of a Functional Unit from Octopus Hemocyanin [more info...]  
  
Chain information for 1js8 #3  
---  
Chain | Description  
A B | Hemocyanin  
  
Non-standard residues in 1js8 #3  
---  
BMA — beta-D-mannopyranose  
CUO — CU2-O2 cluster (Cu-O2-Cu linkage)  
MAN — alpha-D-mannopyranose  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose  
NDG — 2-acetamido-2-deoxy-alpha-D-glucopyranose  
  
1js8 mmCIF Assemblies  
---  
1| author_defined_assembly  
2| author_defined_assembly  
  

> view

> sequence associate #1/10a query.fa:1

Associated 6r83 chain 10a to QUERY with 142 mismatches and/or gaps  

> sequence associate #2/C query.fa:1

Associated 4yd9 chain C to QUERY with 137 mismatches and/or gaps  

> sequence associate #3/A query.fa:1

Associated 1js8 chain A to QUERY with 142 mismatches and/or gaps  

> select #1/10a:26464-26508 #2/C:3266-3310 #3/A:2848-2892

917 atoms, 932 bonds, 135 residues, 3 models selected  

> select #1/10a:3767-3774,26126-26165,26171-26508 #2/C:2928-2967,2973-3310
> #3/A:2503-2549,2555-2892

7762 atoms, 7942 bonds, 5 pseudobonds, 1107 residues, 6 models selected  
Seqview [ID: query.fa] region QUERY [1-404] RMSD: 254.954  
  

> hide ~sel

> ~cartoon ~sel

> select clear

> ui tool show Matchmaker

> matchmaker #2/C to #1/10a pairing ss

Parameters  
---  
Chain pairing | ss  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 6r83, chain 10a (#1) with 4yd9, chain C (#2), sequence alignment
score = 2045.9  
RMSD between 366 pruned atom pairs is 0.001 angstroms; (across all 366 pairs:
0.001)  
  

> matchmaker #3/A to #1/10a pairing ss

Parameters  
---  
Chain pairing | ss  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 6r83, chain 10a (#1) with 1js8, chain A (#3), sequence alignment
score = 1577.9  
RMSD between 348 pruned atom pairs is 0.827 angstroms; (across all 365 pairs:
0.990)  
  

> view

> preset "initial styles" sticks

Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> hide

> show #1/10a #2/C #3/A




OpenGL version: 4.1 INTEL-14.7.17
OpenGL renderer: Intel(R) Iris(TM) Pro Graphics 6200
OpenGL vendor: Intel Inc.Hardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac16,2
      Processor Name: Quad-Core Intel Core i5
      Processor Speed: 2.8 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 4 MB
      Memory: 16 GB
      Boot ROM Version: 427.0.0.0.0
      SMC Version (system): 2.32f21

Software:

    System Software Overview:

      System Version: macOS 10.15.7 (19H1217)
      Kernel Version: Darwin 19.6.0
      Time since boot: 1:24

Graphics/Displays:

    Intel Iris Pro Graphics 6200:

      Chipset Model: Intel Iris Pro Graphics 6200
      Type: GPU
      Bus: Built-In
      VRAM (Dynamic, Max): 1536 MB
      Vendor: Intel
      Device ID: 0x1622
      Revision ID: 0x000a
      Metal: Supported, feature set macOS GPUFamily1 v4
      Displays:
        iMac:
          Display Type: LCD
          Resolution: 1920 x 1080 (1080p FHD - Full High Definition)
          UI Looks like: 1920 x 1080
          Framebuffer Depth: 24-Bit Color (ARGB8888)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal

Locale: ('en_US', 'UTF-8')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    appnope: 0.1.2
    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.1.2
    ChimeraX-AddH: 2.1.6
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-AltlocExplorer: 1.0
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.22.1
    ChimeraX-AtomicLibrary: 3.2.1
    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.2
    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.3
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.3.dev202106050139
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1.3
    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-GaudiViewX: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1
    ChimeraX-Help: 1.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.1
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0
    ChimeraX-Label: 1.1
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.3
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.2
    ChimeraX-MDcrds: 2.3
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.3
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.0.1
    ChimeraX-ModelPanel: 1.1
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.6
    ChimeraX-PDB: 2.4.1
    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-SelInspector: 1.0
    ChimeraX-SeqView: 2.4
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    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.6
    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.1
    ChimeraX-ToolshedUtils: 1.2
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.10
    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
    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
    pandas: 1.2.4
    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: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine: 5.15.2
    python-dateutil: 2.8.1
    pytz: 2021.1
    PyYAML: 5.4.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
    Send2Trash: 1.5.0
    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.3.0

Change History (8)

comment:1 by pett, 4 years ago

Component: UnassignedPerformance
Owner: set to pett
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionMatchMaker unexpectedly slow

comment:2 by pett, 4 years ago

These commands alone produce a 57-second execution time for Match Maker:

open 6r83
open 4yd9
time matchmaker #2/C to #1/10a pairing ss

Last edited 4 years ago by pett (previous) (diff)

comment:3 by pett, 4 years ago

Summary: MatchMaker unexpectedly slowdssp unexpectedly slow

dssp on 6r83 takes 30 seconds, and on 4yd9 takes 20 seconds (was able to clean up some matchmaker code to trim the other 7 seconds)

comment:4 by pett, 4 years ago

Cc: Tom Goddard Zach Pearson Elaine Meng added

comment:5 by pett, 4 years ago

Resolution: fixed
Status: acceptedclosed

Reduced 6r83 from 30 seconds to 2.8 seconds and 4yd9 from 20 seconds to 2.4 seconds

comment:6 by pett, 4 years ago

The matchmaker command originally reported goes from 57 seconds to 6 seconds.

comment:7 by Tom Goddard, 2 years ago

Description: modified (diff)

Might be worth logging a message when dssp is run. With 7rro it took Eric and Tom 10 minutes to figure out that the mmCIF file has no secondary structure and confirm that that is the reason showing ribbons takes so long. dssp on 7rro takes 84 seconds on 2017 Intel Mac, 1.3 million atoms, 160,000 residues.

comment:8 by pett, 15 months ago

Dssp now outputs a log message when secondary structure gets computed. Unfortunately the C++ layer does not have direct access to the model name or ID, so it just outputs "Computing secondary structure". Nonetheless, it will mostly be clear from context what structure it is. I could have the C++ code root around in the Python object to try to retrieve the identifying information, but it didn't seem worth the effort.

Note: See TracTickets for help on using tickets.