Opened 6 years ago

Last modified 6 years ago

#2173 assigned enhancement

Optimize morph command for near identical sequences

Reported by: goddard@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Structure Comparison Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-18.6.0-x86_64-i386-64bit
ChimeraX Version: 0.91 (2019-07-02)
Description
Would be nice to optimize the morph command for the case where the sequences are identical.  In the case I just tried morphing ATP synthase 6n2y, 6n2z, 6n30 it took 39 seconds using defaults, but if I specifed the "same true" morph option to pair matching residues instead of doing a sequence alignment it took 11 seconds, 3.5 times faster.  Many morphs probably have identical sequences except for some extra or missing residues.  I tried optimizing by looking for identical sequences, but it turns out the above case has some extra residues at the end (a methionine).

One idea to handle the above case would be to look for identical residues between the overlapping residue ranges (min to max).  Also would need to require some minimum overlap.

Eric also said there is faster alignment method for sequences that don't differ much used for matching a structure to a sequence that could be tried first and if it fails do the slow Needleman Wuncsh alignment.

Log:
Startup Messages  
---  
warning | 'clip' is a prefix of an existing command 'clipper'  
  
UCSF ChimeraX version: 0.91 (2019-07-02)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 6n2y 6n2z 6n30

6n2y title:  
Bacillus PS3 ATP synthase class 1 [more info...]  
  
Chain information for 6n2y #1  
---  
Chain | Description  
A B C | ATP synthase subunit α  
D E F | ATP synthase subunit β  
G | ATP synthase γ chain  
H | ATP synthase ε chain  
I | ATP synthase subunit δ  
a | ATP synthase subunit a  
b1 | ATP synthase subunit b  
b2 | ATP synthase subunit b  
c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 | ATP synthase subunit c  
  
Non-standard residues in 6n2y #1  
---  
ADP — adenosine-5'-diphosphate  
ATP — adenosine-5'-triphosphate  
MG — magnesium ion  
PO4 — phosphate ion  
  
  
6n2z title:  
Bacillus PS3 ATP synthase class 2 [more info...]  
  
Chain information for 6n2z #2  
---  
Chain | Description  
A B C | ATP synthase subunit α  
D E F | ATP synthase subunit β  
G | ATP synthase γ chain  
H | ATP synthase ε chain  
I | Bacillus PS3 ATP synthase subunit δ  
a | Bacillus PS3 ATP synthase subunit a  
b1 | Bacillus PS3 ATP synthase subunit b  
b2 | Bacillus PS3 ATP synthase subunit b  
c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 | ATP synthase subunit c  
  
Non-standard residues in 6n2z #2  
---  
ADP — adenosine-5'-diphosphate  
ATP — adenosine-5'-triphosphate  
MG — magnesium ion  
PO4 — phosphate ion  
  
  
6n30 title:  
Bacillus PS3 ATP synthase class 3 [more info...]  
  
Chain information for 6n30 #3  
---  
Chain | Description  
A B C | ATP synthase subunit α  
D E F | ATP synthase subunit β  
G | ATP synthase γ chain  
H | ATP synthase ε chain  
I | Bacillus PS3 ATP synthase subunit δ  
a | Bacillus PS3 ATP synthase subunit a  
b1 | Bacillus PS3 ATP synthase subunit b  
b2 | Bacillus PS3 ATP synthase subunit b  
c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 | ATP synthase subunit c  
  
Non-standard residues in 6n30 #3  
---  
ADP — adenosine-5'-diphosphate  
ATP — adenosine-5'-triphosphate  
MG — magnesium ion  
PO4 — phosphate ion  
  
  

> time morph #1-3 wrap true same true

> morph #1-3 wrap true same true

Computed 61 frame morph #4  

> coordset #4 1,61

command time 10.96 seconds  
draw time 0.1117 seconds  

> time morph #1-3 wrap true

> morph #1-3 wrap true

Computed 61 frame morph #5  

> coordset #5 1,61

command time 39.01 seconds  
draw time 0.1179 seconds  

> hide #!4 models




OpenGL version: 4.1 ATI-2.9.26
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.

Change History (2)

comment:1 by Tom Goddard, 6 years ago

Component: UnassignedStructure Comparison
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionOptimize morph command for near identical sequences
Type: defectenhancement

comment:2 by Eric Pettersen, 6 years ago

The call is atomic.try_assoc(). There is a decent doc string.

Note: See TracTickets for help on using tickets.