The following bug report has been submitted:
Platform: Darwin-17.7.0-x86_64-i386-64bit
ChimeraX Version: 0.92 (2020-03-06)
Description
Morph conformations between two identical, translated molecules gives the wrong trajectory: instead of moving back and forth there is a strange "square" trajectory
open 1mkj
open 1mkj
move x 10 1 model #2
morph #1,2 wrap t
Log:
Startup Messages
---
note | available bundle cache has not been initialized yet
UCSF ChimeraX version: 0.92 (2020-03-06)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
Error opening /Users/charlessindelar/chimerax_start/chimerax_start.py:
invalid syntax (chimerax_start.py, line 1)
> open
> /Users/charlessindelar/Workworkwork/Talks/20_nih_job_talk/chimx_movies/chimx_kin_movie.cxs
opened ChimeraX session
> select up
Nothing selected
> select up
Nothing selected
> select down
Nothing selected
> select down
Nothing selected
> select down
Nothing selected
> select down
Nothing selected
> movie record
> perframe dragadp frames 7
> coordset #21 21,1,-5
> wait 7
RMSD between 32 atom pairs is 0.247 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.063 angstroms
RMSD between 32 atom pairs is 0.125 angstroms
RMSD between 32 atom pairs is 0.186 angstroms
RMSD between 32 atom pairs is 0.247 angstroms
RMSD between 32 atom pairs is 0.247 angstroms
> movie stop
> movie encode /Users/charlessindelar/Desktop/test.mov
Movie saved to /Users/charlessindelar/Desktop/test.mov
> close session
> open 1mkj
1mkj title:
Human Kinesin Motor Domain With Docked Neck Linker [more info...]
Chain information for 1mkj #1
---
Chain | Description
A | kinesin heavy chain
Non-standard residues in 1mkj #1
---
ADP — adenosine-5'-diphosphate
MG — magnesium ion
SO4 — sulfate ion
> open 1bg2
1bg2 title:
Human ubiquitous kinesin motor domain [more info...]
Chain information for 1bg2 #2
---
Chain | Description
A | kinesin
Non-standard residues in 1bg2 #2
---
ACT — acetate ion
ADP — adenosine-5'-diphosphate
MG — magnesium ion
> alias dragadp align #1/A:85-92@ca,n,c,o toAtoms #0/A:85-92@ca,n,c,o
> view name begin
> move x 5 1
> view begin
> movie record
> perframe dragadp frames 7
> move x 1 5
> wait 7
Error executing per-frame command 'dragadp': Unequal number of atoms to pair,
32 and 0
> movie stop
> movie encode /Users/charlessindelar/Desktop/test2.mov
Movie saved to /Users/charlessindelar/Desktop/test2.mov
> view begin
> movie reset
No movie being recorded.
> movie reset
No movie being recorded.
> movie record
> perframe dragadp frames 7
> move x 1 5
> wait 7
Error executing per-frame command 'dragadp': Unequal number of atoms to pair,
32 and 0
> movie stop
> movie encode /Users/charlessindelar/Desktop/test2.mov
Movie saved to /Users/charlessindelar/Desktop/test2.mov
Unknown command: dragaddp
> dragadp
Unequal number of atoms to pair, 32 and 0
> select #1/A:85-92@ca,n,c,o
32 atoms, 31 bonds, 1 model selected
> select #0/A:85-92@ca,n,c,o
Nothing selected
> select #0:85-92@ca,n,c,o
Nothing selected
> alias dragadp align #2/A:85-92@ca,n,c,o toAtoms #1/A:85-92@ca,n,c,o
> view begin
> view begin
> movie reset
No movie being recorded.
> movie record
> perframe dragadp frames 7
> move x 1 5
> wait 7
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
> movie stop
> movie encode /Users/charlessindelar/Desktop/test2.mov
Movie saved to /Users/charlessindelar/Desktop/test2.mov
> align #2/A:260-290@CA,N,C,O toAtoms #1/A:260-290@CA,N,C,O
RMSD between 124 atom pairs is 0.709 angstroms
> morph #1,2 wrap true
Computed 41 frame morph #3
> coordset #3 1,41
> alias dragadp align #1/A:85-92@ca,n,c,o toAtoms #1/A:85-92@ca,n,c,o
> show #!1 models
> ~show #1 target r
> ~show #1 target a
> show #1:adp
> coordset #3 10
> dragadp
RMSD between 32 atom pairs is 0.000 angstroms
> alias dragadp align #1/A:85-92@ca,n,c,o toAtoms #3/A:85-92@ca,n,c,o
> dragadp
RMSD between 32 atom pairs is 0.059 angstroms
> view begin
> movie reset
No movie being recorded.
> movie record
> perframe dragadp frames 7
> coordset #3 1,21,5
> wait 7
RMSD between 32 atom pairs is 0.059 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.033 angstroms
RMSD between 32 atom pairs is 0.065 angstroms
RMSD between 32 atom pairs is 0.098 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
> movie stop
> movie encode /Users/charlessindelar/Desktop/test3.mov
Movie saved to /Users/charlessindelar/Desktop/test3.mov
Expected a keyword
> help perframe
> perframe dragadp frames 10
RMSD between 32 atom pairs is 0.117 angstroms
RMSD between 32 atom pairs is 0.124 angstroms
RMSD between 32 atom pairs is 0.130 angstroms
RMSD between 32 atom pairs is 0.124 angstroms
RMSD between 32 atom pairs is 0.117 angstroms
RMSD between 32 atom pairs is 0.111 angstroms
RMSD between 32 atom pairs is 0.104 angstroms
RMSD between 32 atom pairs is 0.098 angstroms
RMSD between 32 atom pairs is 0.091 angstroms
RMSD between 32 atom pairs is 0.085 angstroms
> help molmap
> molmap #3 6 gridSpacing 1
> color #4 1,0,0,.5
> color #4 1,0,0,50
> color #4 1,0,0,10
> color #4 50,0,0,10
> lighting full
> material transparentCastShadows true
> material transparentCastShadows false
> lighting simple
> lighting soft
> lighting full
> lighting soft
> lighting full
> lighting soft
> lighting full
> molmap #3 12 gridSpacing 1
> color #4 50,0,0,10
> help molmap
> close #4
> close all
> open 1mkj
1mkj title:
Human Kinesin Motor Domain With Docked Neck Linker [more info...]
Chain information for 1mkj #1
---
Chain | Description
A | kinesin heavy chain
Non-standard residues in 1mkj #1
---
ADP — adenosine-5'-diphosphate
MG — magnesium ion
SO4 — sulfate ion
> open 1mkj
1mkj title:
Human Kinesin Motor Domain With Docked Neck Linker [more info...]
Chain information for 1mkj #2
---
Chain | Description
A | kinesin heavy chain
Non-standard residues in 1mkj #2
---
ADP — adenosine-5'-diphosphate
MG — magnesium ion
SO4 — sulfate ion
Missing or invalid "axis" argument: Axis argument requires 2 atoms, got 2707
atoms
> move x 10 1 models #2
> morph #1,2 wrap true
Computed 41 frame morph #3
> coordset #3 1,41
> movie record
> movie encode /Users/charlessindelar/Desktop/movie.mp4 framerate 25.0
Movie saved to /Users/charlessindelar/Desktop/movie.mp4
> ~show #3
> show #1
> show #1 target m
> ~show #1 target r
> ~show #1 target a
> show #1:adp
> alias dragadp align #1/A:85-92@ca,n,c,o toAtoms #3/A:85-92@ca,n,c,o
> perframe dragadp frames 10
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
> movie reset
No movie being recorded.
> movie record
> perframe dragadp frames 7
> move x 1 5
> wait 7
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
RMSD between 32 atom pairs is 0.000 angstroms
> movie stop
> movie encode /Users/charlessindelar/Desktop/test3.mov
Movie saved to /Users/charlessindelar/Desktop/test3.mov
> show #!2 models
> show #1 target r
> coordset #3 1
> coordset #3 21
> coordset #3 1
> coordset #3 21
> coordset #3 1
> coordset #3 2
> coordset #3 10
> coordset #3 8
> coordset #3 7
> coordset #3 7,21,1
> coordset #3 21,7,-1
> coordset #3 21,41,1
OpenGL version: 4.1 INTEL-10.36.19
OpenGL renderer: Intel(R) Iris(TM) Plus Graphics 655
OpenGL vendor: Intel Inc.
Fixed.
The corkscrew motion done by morph to handle a model rotation and shift suffered from numerical precision errors when the rotation was near 0 degrees. I've fixed it so rotations under 0.1 degree use the linear interpolation method instead of corkscrew. Visual difference will be negligible.