Hi Prashant,
Elaine did an excellent job showing how you can get Chimera/ChimeraX to compute those values for you.  You also asked about the methodology of how the values are computed.  Here is the relevant code sections (from ChimeraX, since it’s easier to reference its code since it’s in GitHub).

compute axis: https://github.com/RBVI/ChimeraX/blob/176571d15a9dce874ce67e2d14b9cb942ccc60e7/src/bundles/axes_planes/src/cmd.py#L632
crossing angle: https://github.com/RBVI/ChimeraX/blob/176571d15a9dce874ce67e2d14b9cb942ccc60e7/src/bundles/axes_planes/src/cmd.py#L211 and https://github.com/RBVI/ChimeraX/blob/176571d15a9dce874ce67e2d14b9cb942ccc60e7/src/bundles/axes_planes/src/cmd.py#L377
crossing distance: https://github.com/RBVI/ChimeraX/blob/176571d15a9dce874ce67e2d14b9cb942ccc60e7/src/bundles/axes_planes/src/cmd.py#L235

--Eric

Eric Pettersen
UCSF Computer Graphics Lab


On Jun 23, 2025, at 9:53 AM, Elaine Meng via Chimera-users <chimera-users@cgl.ucsf.edu> wrote:

Hello Prashant,
If you can play back the trajectory in Chimera (MD Movie tool) or ChimeraX (coordset command) it may be easier just to run the analysis in the program.  If you are asking only for Chimera you should use the chimera-users@cgl.ucsf.edu<mailto:chimera-users@cgl.ucsf.edu> address, if for ChimeraX you should use the chimerax-users@cgl.ucsf.edu<mailto:chimerax-users@cgl.ucsf.edu> address.  You sent it to both addresses, but your question only mentioned Chimera, so I don't know if you are willing to use ChimeraX.  However, I will try to answer generally.

To do the whole calculation in Chimera or ChimeraX:

(1) figure out the commands you want to run on each trajectory frame, e.g. "define" to create the axes, "angle" to measure angle and "distance" to measure distance, "close" to close the axis models from that frame.  The commands would be slightly different for Chimera vs. ChimeraX.  You would figure the commands out by showing one trajectory frame and simply entering the commands until you get it right.  This process of trial and error may take you a while but is important.

(2) then there is a way to run this set of commands at every trajectory frame as you play the trajectory back

In Chimera the MD Movie tool has its own menu with Per-Frame... Define Script where you can enter the commands to be executed at each trajectory frame, see
<https://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/movie/framemovie.html>
<https://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/movie/movie.html#per-frame>

ChimeraX does not have that GUI, but you can do it with the "perframe" command to set up the script to run every frame and the "coordset" command to play back the trajectory, see:
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/perframe.html>
<https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/message/QB23OJKRPB3AXNAY6UN4ULKRXCE7FFGE/>
<https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/message/UYVSB6S2ROPPTPWCBE2UFEKFSQ2YYN4Z/>

I hope this helps,
Elaine
-----
Elaine C. Meng, Ph.D.                       
UCSF Chimera(X) team
Resource for Biocomputing, Visualization, and Informatics
Department of Pharmaceutical Chemistry
University of California, San Francisco

On Jun 22, 2025, at 5:19 AM, pupadhyay21 via Chimera-users <chimera-users@cgl.ucsf.edu> wrote:

Respected Sir/Madam,
My name is Prashant Upadhyay, and I am currently pursuing a Ph.D. in Bioinformatics and Molecular Dynamics Simulation at the Indian Institute of Technology Kanpur (IIT Kanpur), India. As part of my research, I am analyzing the structural dynamics of helical membrane proteins using molecular dynamics simulations.

I have been using UCSF Chimera extensively for structural analysis. Specifically, I have been utilizing the Structure Analysis → Axes/Planes/Centroids tool to calculate the helix axes of selected helices in my protein of interest. When I select two helices, the Reply Log provides the interhelical distance and angle between the computed axes. This functionality has been incredibly useful for analyzing static structures.

To extend this to a dynamic context, I am interested in applying the same axis and angle calculation to each frame of an MD trajectory. For this, I would greatly appreciate it if you could share the mathematical methodology or the relevant portion of the source code that Chimera uses to compute:
1)The helix axis from selected residues
2)The angle and the shortest distance between two helix axes

My aim is to replicate this analysis programmatically over the entire simulation trajectory. Any guidance, reference, or code snippet you could provide would be immensely helpful.

Thank you,
Prashant Upadhyay
Ph.D. Student
Department of Biological Sciences and Bioengineering
Indian Institute of Technology Kanpur (IIT Kanpur)
_______________________________________________
Chimera-users mailing list -- chimera-users@cgl.ucsf.edu
To unsubscribe send an email to chimera-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimera-users@cgl.ucsf.edu/



_______________________________________________
Chimera-users mailing list -- chimera-users@cgl.ucsf.edu
To unsubscribe send an email to chimera-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimera-users@cgl.ucsf.edu/