Opened 6 years ago

Closed 5 years ago

#2932 closed defect (fixed)

View transition "jumpy"

Reported by: charles.sindelar@… 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:        Darwin-17.7.0-x86_64-i386-64bit
ChimeraX Version: 0.92 (2020-03-06)
Description
Camera trajectory is discontinuous for large view re-orientations. The following sequence below reproduces the problem. This seriously compromises my ability to make movies in ChimeraX. I have confirmed that Chimera (not ChimeraX) handles the equivalent transition just fine.

zoom 0.5
move x -40 1
view name v1
roll y 180 1
move x 80 1
view name v2
view v1 100
view v2 100

Log:
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/AlFx_011x_7A_cc.mrc
> format mrc

Opened AlFx_011x_7A_cc.mrc, grid size 82,87,149, pixel 1.37,1.37,1.37, shown
at level 5.65e-07, step 1, values float32  

> volume #1 level 0.003079

> ui mousemode rightMode zoom

> volume #1 level -0.001581

> volume #1 level 0.0005992

> volume #1 level 0.004191

> roll y 180 1

> view name v2

> roll y 180 1

> view name v1

> view v2 20

> view v2 100

> view v1 100

> view v2 100

> close session

> open 1mkj format mmCIF fromDatabase pdb

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  
  
  

Unknown command: scale 0.5  

> zoom 0.5

> move x -20

> move x -20

> 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 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  
  
  

> zoom 0.5

> move x -40 1

> view name v1

> roll y 180 1

> move x 80 1

> view name v2

> view v1 100

> view v2 100

> view

> view

> view

> view

> 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  
  
  

> roll x 23 1

> roll y 46 1

> roll z 66 1

> zoom 0.5

> move x -40 1

> view name v1

> roll y 180 1

> move x 80 1

> view name v2

> view v1 100

> view v2 100




OpenGL version: 4.1 INTEL-10.36.19
OpenGL renderer: Intel(R) Iris(TM) Plus Graphics 655
OpenGL vendor: Intel Inc.

Change History (6)

comment:1 by pett, 6 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionView transition "jumpy"

in reply to:  2 ; comment:2 by charles.sindelar@…, 6 years ago

Hi guys! Sorry for the "core dump" of several frustrations at the same time. By the way, I should have said I continue to appreciate the massive efforts that continue to go into perfecting ChimeraX.

Regarding this bug report- I figured out a bit more. It turns out the problem is specifically related to the 180° rotation about the y axis, and must be some kind of numeric issue with a matrix inversion. When I modify the y rotation to 180.00001, the problem goes away.

It's sort of a "small" problem, but I have now encountered it two or more times in the past several months.

Thanks again, Chuck

On 3/6/20, 11:43 AM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2932: ChimeraX bug report submission
    --------------------------------+-----------------------------
     Reporter:  charles.sindelar@…  |                Type:  defect
       Status:  new                 |            Priority:  normal
    Component:  Unassigned          |          Blocked By:
     Blocking:                      |  Notify when closed:
    --------------------------------+-----------------------------
     {{{
     The following bug report has been submitted:
     Platform:        Darwin-17.7.0-x86_64-i386-64bit
     ChimeraX Version: 0.92 (2020-03-06)
     Description
     Camera trajectory is discontinuous for large view re-orientations. The
     following sequence below reproduces the problem. This seriously
     compromises my ability to make movies in ChimeraX. I have confirmed that
     Chimera (not ChimeraX) handles the equivalent transition just fine.
    
     zoom 0.5
     move x -40 1
     view name v1
     roll y 180 1
     move x 80 1
     view name v2
     view v1 100
     view v2 100
    
     Log:
     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/AlFx_011x_7A_cc.mrc
     > format mrc
    
     Opened AlFx_011x_7A_cc.mrc, grid size 82,87,149, pixel 1.37,1.37,1.37,
     shown
     at level 5.65e-07, step 1, values float32
    
     > volume #1 level 0.003079
    
     > ui mousemode rightMode zoom
    
     > volume #1 level -0.001581
    
     > volume #1 level 0.0005992
    
     > volume #1 level 0.004191
    
     > roll y 180 1
    
     > view name v2
    
     > roll y 180 1
    
     > view name v1
    
     > view v2 20
    
     > view v2 100
    
     > view v1 100
    
     > view v2 100
    
     > close session
    
     > open 1mkj format mmCIF fromDatabase pdb
    
     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
    
    
    
     Unknown command: scale 0.5
    
     > zoom 0.5
    
     > move x -20
    
     > move x -20
    
     > 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 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
    
    
    
     > zoom 0.5
    
     > move x -40 1
    
     > view name v1
    
     > roll y 180 1
    
     > move x 80 1
    
     > view name v2
    
     > view v1 100
    
     > view v2 100
    
     > view
    
     > view
    
     > view
    
     > view
    
     > 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
    
    
    
     > roll x 23 1
    
     > roll y 46 1
    
     > roll z 66 1
    
     > zoom 0.5
    
     > move x -40 1
    
     > view name v1
    
     > roll y 180 1
    
     > move x 80 1
    
     > view name v2
    
     > view v1 100
    
     > view v2 100
    
    
    
    
     OpenGL version: 4.1 INTEL-10.36.19
     OpenGL renderer: Intel(R) Iris(TM) Plus Graphics 655
     OpenGL vendor: Intel Inc.
    
     }}}
    
    --
    Ticket URL: <https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplato.cgl.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F2932&amp;data=02%7C01%7Ccharles.sindelar%40yale.edu%7C3a3ac28f79e242e4ea6a08d7c1ed6d67%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637191097800175941&amp;sdata=hyxfOBWTrNlpsUa7DJFvtpHLzWACqCmsl4UWAQY8zZs%3D&amp;reserved=0>
    ChimeraX <https://nam05.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&amp;data=02%7C01%7Ccharles.sindelar%40yale.edu%7C3a3ac28f79e242e4ea6a08d7c1ed6d67%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637191097800175941&amp;sdata=iAuCNJTeRJmax0Mf6ek8Y8f%2BgHscQMHi%2BNIuY3%2BCHd0%3D&amp;reserved=0>
    ChimeraX Issue Tracker
    

comment:3 by Tom Goddard, 6 years ago

I was not able to reproduce this problem with the exact same version of ChimeraX (0.92). The two last view commands produce a smooth and correct looking rotation by 180 degrees and translation. I opened 1mkj and followed exactly the commands you listed.

I suspect your problem is related to the morph problem, some numerical precision issue when handling 180 degree rotation. But I need a test case that exhibits the problem.

in reply to:  4 ; comment:4 by charles.sindelar@…, 6 years ago

Hmmmm... this is peculiar!  I just retested on my same version of Chimera, and it seems to be a sporadic problem- sometimes I can reproduce it and sometimes not. It seems to be essential, when the bug is active, to rotate the PDB model an arbitrary amount, around more than 1 axis, to make it happen at all.

However, today it stopped happening, for whatever reason on ChimeraX v 0.92 and even with stopping/restarting I am unable to reproduce it anymore at this moment.

All I can say is when it rears its ugly head, it is a pernicious problem.

Exploring a bit further, I did find I can still reproduce it consistently on older daily builds- for example, version 0.91 (daily build) downloaded 11/28/2019 or so.

In that case- here is a minimal sequence to make it happen. It seems an x-rotation is required after opening the initial model.

open 1mkj; roll x 23 1; move x -40 1; wait 1; view name v1; roll y 180 1; move x 80 1; wait 1; view name v2; view v1 100;   

Interestingly, and quite perniciously, after the problem arises, it starts to intrude on "flying" that does not involve 180° transitions.  For example, after doing the above, I get a strong "jumping" phenomenon with:

view orient; wait 1; view v2 100

But not with 

view orient; wait 1; view v1 100

Weird!

- Chuck



On 3/10/20, 12:57 AM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #2932: View transition "jumpy"
    -----------------------------------------+-------------------------
              Reporter:  charles.sindelar@…  |      Owner:  Tom Goddard
                  Type:  defect              |     Status:  assigned
              Priority:  normal              |  Milestone:
             Component:  Graphics            |    Version:
            Resolution:                      |   Keywords:
            Blocked By:                      |   Blocking:
    Notify when closed:                      |   Platform:  all
               Project:  ChimeraX            |
    -----------------------------------------+-------------------------
    
    Comment (by Tom Goddard):
    
     I was not able to reproduce this problem with the exact same version of
     ChimeraX (0.92).  The two last view commands produce a smooth and correct
     looking rotation by 180 degrees and translation.  I opened 1mkj and
     followed exactly the commands you listed.
    
     I suspect your problem is related to the morph problem, some numerical
     precision issue when handling 180 degree rotation.  But I need a test case
     that exhibits the problem.
    
    --
    Ticket URL: <https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplato.cgl.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F2932%23comment%3A3&amp;data=02%7C01%7Ccharles.sindelar%40yale.edu%7Ced6fa4ceef0547d0d95b08d7c4af7824%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637194130250242300&amp;sdata=7osyYdEJM8jfCAS6jzY4kNQkr4C1FPrM%2BUV3bXi9YQs%3D&amp;reserved=0>
    ChimeraX <https://nam05.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&amp;data=02%7C01%7Ccharles.sindelar%40yale.edu%7Ced6fa4ceef0547d0d95b08d7c4af7824%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637194130250242300&amp;sdata=MB7egkEh1%2FYlJENtSUEbGgcxKDrd3gzvN0upKE54%2Fxk%3D&amp;reserved=0>
    ChimeraX Issue Tracker
    

in reply to:  5 ; comment:5 by goddard@…, 6 years ago

There was a problem with computing rotation axis and angle for 180 degree rotations that I fixed a month or two ago.  So only test results on current ChimeraX builds matter.  If you observe it in a recent ChimeraX (from the last few weeks or newer) then give me an update.

comment:6 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

I tried this again in current ChimeraX daily build and it is perfectly smooth. I think it was caused by the 180 degree rotation bug fixed long ago.

Note: See TracTickets for help on using tickets.