Opened 22 months ago

Last modified 8 months ago

#10427 assigned enhancement

Allow rock command to rotate each model about its own center

Reported by: olibclarke@… Owned by: Tom Goddard
Priority: moderate Milestone:
Component: General Controls Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

From: Oliver Clarke via ChimeraX-users <chimerax-users@…>
Subject: [chimerax-users] Tile behavior in Chimera vs ChimeraX - different behavior of independent rotation?
Date: January 3, 2024 at 10:32:59 AM PST
To: ChimeraX Users Help <chimerax-users@…>
Reply-To: Oliver Clarke

Hi all,

Happy new year!

I have some observations/queries regarding the "tile models" command in Chimera vs ChimeraX.

In Chimera, the rotation mode is not linked to a specific mouse mode - so if I change it from "front center" to "independent", this will affect rotation of models regardless of how I do it - whether using the mouse, the trackpad, or using the rock, roll or turn commands on the command line.

In ChimeraX, independent rotation is now a separate mousemode - so it only applies to whatever mouse mode (e.g. left mouse) one has it applied to, and does not apply to the trackpad or command line. Is there any prospect of altering this behavior, or mimicking the old behavior? When tiling many models (or maps) for comparison, I like to view them with a rocking motion to give better 3D perception, but now I can't do this (it just rocks the entire "plane" of dispersed models, rather than each independently).

Cheers
Oli

Change History (3)

comment:1 by Tom Goddard, 22 months ago

From: Tom Goddard
Subject: Re: [chimerax-users] Tile behavior in Chimera vs ChimeraX - different behavior of independent rotation?
Date: January 4, 2024 at 2:08:42 PM PST
To: Oliver Clarke
Cc: ChimeraX Users Help <chimerax-users@…>

Hi Oli,

Perhaps we can make the rock (and turn and roll) commands have an option to rotate each model about their own center. I've made a ChimeraX feature request for that

https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/10427

Here is why it doesn't work the same as in old Chimera if you are curious. ChimeraX and Chimera have a function that returns the center of rotation. In ChimeraX this is just single point and lots of code uses that. If I were to change it so the center of rotation can be different for each model, then every place in the code that uses center of rotation needs to handle this obscure feature in some way. While in Chimera we did that I'd say it was a mistake in terms of the cost in programmer time versus benefit to users. We want to spend our limited time working on code that lots of people will use, such as running AlphaFold structure predictions. Those won't get done if we are spending time implementing rarely used features that impact lots of code. I realize it is not obvious how much code has to be changed to support a feature like center of rotation that is not a single point in the scene.

Tom

comment:2 by Tom Goddard, 8 months ago

An earlier ticket with the same request is #5967

comment:3 by Tom Goddard, 8 months ago

Enrico Martinez also asked about this on the ChimeraX mailing list

https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/thread/WQQCA5HRLALDEOBWJOSZJ7O22VV2YS5H/

and his use chooses a specific center point

roll models #1 center #1 & protein
roll models #2 center #2 & protein
roll models #3 center #3 & protein
roll models #4 center #4 & protein
roll models #5 center #5 & protein
roll models #6 center #6 & protein

I'm not quite sure how to allow specifying the center. In this ticket I think the idea was something like "roll models #1-6 center independent" and this would be the same as using "center #1", not "center #1 & protein". But what if you want to have finer control over the rotation center? For instance, what if I had several homolog structures and I wanted to rotate each about a specific residue or active site ligand, e.g "center #1:215".

Last edited 8 months ago by Tom Goddard (previous) (diff)
Note: See TracTickets for help on using tickets.