gmx helixorient calculates the coordinates and direction of the average axis inside an alpha helix, and the direction/vectors of both the Calpha and (optionally) a sidechain atom relative to the axis.
As input, you need to specify an index group with Calpha atoms corresponding to an alpha-helix of continuous residues. Sidechain directions require a second index group of the same size, containing the heavy atom in each residue that should represent the sidechain.
Note that this program does not do any fitting of structures.
We need four Calpha coordinates to define the local direction of the helix axis.
The tilt/rotation is calculated from Euler rotations, where we define the helix axis as the local x-axis, the residues/Calpha vector as y, and the z-axis from their cross product. We use the Euler Y-Z-X rotation, meaning we first tilt the helix axis (1) around and (2) orthogonal to the residues vector, and finally apply the (3) rotation around it. For debugging or other purposes, we also write out the actual Euler rotation angles as theta[1-3].xvg
Options to specify input and output files:
-s [<.tpr/.tpb/...>] (topol.tpr) (Input)
Run input file: tpr tpb tpa
-f [<.xtc/.trr/...>] (traj.xtc) (Input)
Trajectory: xtc trr cpt trj gro g96 pdb tng
-n [<.ndx>] (index.ndx) (Input, Optional)
-oaxis [<.dat>] (helixaxis.dat) (Output)
Generic data file
-ocenter [<.dat>] (center.dat) (Output)
Generic data file
-orise [<.xvg>] (rise.xvg) (Output)
-oradius [<.xvg>] (radius.xvg) (Output)
-otwist [<.xvg>] (twist.xvg) (Output)
-obending [<.xvg>] (bending.xvg) (Output)
-otilt [<.xvg>] (tilt.xvg) (Output)
-orot [<.xvg>] (rotation.xvg) (Output)
-nice <int> (19)
Set the nicelevel
-b <time> (0)
First frame (ps) to read from trajectory
-e <time> (0)
Last frame (ps) to read from trajectory
-dt <time> (0)
Only use frame when t MOD dt = first time (ps)
-xvg <enum> (xmgrace)
xvg plot formatting: xmgrace, xmgr, none
Calculate sidechain directions relative to helix axis too.
Calculate incremental rather than total rotation/tilt.