# [Chimera-users] Helix axis and correction

Eric Pettersen pett at cgl.ucsf.edu
Tue Nov 20 11:51:20 PST 2018

```Hi Alican,

> On Nov 19, 2018, at 3:05 PM, Gulsevin, Alican <alican.gulsevin at Vanderbilt.Edu> wrote:
>
> Thanks for your quick response. I checked the source code file in the light of your response. Unfortunately, Chimera has a lot of internal variables/modules so I'm not sure whether I get the whole picture just looking at the code.
>
> So,what I understand is that the initial calculation is used to predict the equation of the best fit line, which in turn is used as the starting point for a loop search to give the new "best" values that minimize the variance of the distance between the helix points and the best-fit line. Is my understanding correct?

Yes.

> f so, do you take a "brute force" numerical approach to scan a number of different values and keep the best, or is that a gradient based scan?

No, as per my original explanation, in extremely general terms it “pulls” the axis towards the backbone atoms based on the amount of variance to them.  More specifically, for each backbone atom it computes the point 1/3 of the way from where the line is currently to where the line would have to be to make the distance to the line the same as the average distance.  Then it computes the vector from the centroid of the points to that point, normalizes all the vectors and averages them.  That’s the new “test” vector that will be accepted if it reduces the variance.

If I were doing it today I would just take the 1/3-distance-adjusted points and compute their best-fitting line and try that, but am not going to change it now.  When I get around to implementing this in ChimeraX I will try it the new way and see if it seems better or worse than what Chimera uses and run with whatever works better.

—Eric

>
> Alican Gulsevin, PhD
> Postdoctoral Researcher
>
> Vanderbilt University
> Department of Chemistry
> Center for Structural Biology - Meiler Laboratory
> 465 21st Ave South
> Nashville, TN,37221
> Office: MRBIII, Room: 5150C
> Phone: (615)-936-6594
> ________________________________________
> From: Eric Pettersen [pett at cgl.ucsf.edu <mailto:pett at cgl.ucsf.edu>]
> Sent: Tuesday, November 13, 2018 3:36 PM
> To: Gulsevin, Alican
> Cc: chimera-users at cgl.ucsf.edu <mailto:chimera-users at cgl.ucsf.edu>
> Subject: Re: [Chimera-users] Helix axis and correction
>
> Hi Alican,
> It’s an ad hoc method.  Generally speaking, without correction the helical axis vector is taken to be the largest eigenvector of the helical backbone atoms.  For short helices, this vector may differ significantly from what it would be if the helix were longer because of a “partial turn” on the end of the short helix causing the eigenvector to tilt towards those “extra” atoms.  In fact, for very short helices the largest eigenvector may not even be the best one to use — it could be going across the helix instead of along it.
> Anyway, with helical correction “on" each eigenvector is evaluated to see which has the least variance in the distances from the helical backbone atoms to the vector — the one with the least total variance is used as the initial helix axis.  Then a “corrected” axis is computed that tries to move the axis so that it has less variance, basically by having the axis “pulled” toward backbone atoms depending on the amount of variance to them.  The corrected axis then evaluated for variance, and if the variance is less, then the corrected axis is accepted as the new helical axis.  The process is repeated until no variance reduction occurs.
> The code for this is the “while iterate:” loop in the axis() function of <your Chimera installation>/share/lib/StructMeasure/__init__.py.  On a Mac, <your Chimera installation> is Chimera.app/Contents/Resources.
>
> —Eric
>
> Eric Pettersen
> UCSF Computer Graphics Lab
>
>
> On Nov 12, 2018, at 4:04 PM, Gulsevin, Alican <alican.gulsevin at Vanderbilt.Edu <mailto:alican.gulsevin at Vanderbilt.Edu><mailto:alican.gulsevin at Vanderbilt.Edu <mailto:alican.gulsevin at Vanderbilt.Edu>>> wrote:
>
> Hello everyone,
>
> I have a question about the "helical correction" option for calculating helix axes. I've been trying to find the exact calculation Chimera uses to correct the helix axis, but I couldn't find anything specific in the archives and I also couldn't figure it from the source code. Where can I find a detailed description of how the helix axes and the corresponding corrections are calculated?
>
>
> Alican Gulsevin, PhD
> Postdoctoral Researcher
>
> Vanderbilt University
> Department of Chemistry
> Center for Structural Biology - Meiler Laboratory
> 465 21st Ave South
> Nashville, TN,37221
> Office: MRBIII, Room: 5150C
> Phone: (615)-936-6594
> _______________________________________________
> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu <mailto:Chimera-users at cgl.ucsf.edu><mailto:Chimera-users at cgl.ucsf.edu <mailto:Chimera-users at cgl.ucsf.edu>>