Angular distribution looks weird after the 1st iteration

I have my sample (doublet microtubule), which is not helical but it is a ~8nm-repeat filament. I have our own workflow to process this to 3-4Angstrom resolution using a combination of software. Since I’m very impressed with the filament tracer from Cryosparc and the speed of cryosparc in general, I want to convert our workflow to only cryosparc.

So, when I do the helical refinement with a ref filtered to 10A, the 1st iteration seems to be fine with tilt angular distribution like a typical filament and resolution (7.4). However, subsequent iteration leads to very weird tilt angle distribution and worse resolution around 7.4-7.5. As a point of reference when I imported the coordinate from Relion and performed the local refinement, I got the same resolution as Relion (close to 5.5A for a bin 2 reconstruction due to Nyquist limit).

My question is: Is there any option allow cryosparc to keep processing with normal angular distribution after the 1st iteration.

My option:
Helical twist: 0
Helical rise: 82.5 Angstrom
initial model 15A
GSFSC split resolution (A): 12 Angstrom

Tilt distribution: iteration 000

Tilt distribution: iteration 010

filament cross section

So, I did another test.

(1) Refining 162k particles (pixel size 2.74 Angstrom/pixel) with helical refinement. Iteration 0, resolution 7.6A.Then it hovered around 7.3-.7.4 Angstrom until iteration 11. The resolution got worse at higher iterations. Do local refinement of those particles, resulting in 6.9 Angstrom using NU refinement. The gain is probably only due to NU refinement as it barely increases during the refinement.

(2) Refining 162k particles with helical refinement. I killed the job immediately at iteration 0, resulting in 64k particles already aligned with appropriate tilt angle distribution like in my initial post. Then I performed a local refinement of these 64k particles, resulting in a resolution of 6.73 Angstrom (no NU refinement). The local refinement of these particles looks very similar to the behavior of local refinement using alignment 3D parameters transferred from Relion with incremental improvement each iteration. Also, all features of a correct map are retained properly.

So my question is:

  • What is done in the 1st iteration that is different from other iteration?
  • Is there any way to get all particles passed through the 1st iteration?

Maybe you can try to make the tilt angle search range smaller. For example, 10 degrees.

Hi @builab,

This is an interesting post and thanks for the in-depth information for your case. I definitely agree that such a tilt distribution looks problematic, and you’d usually expect something approximately gaussian. There is something that immediately comes to mind, since you are observing different behaviour after the first iteration. The only iteration-dependent behaviour that would affect the alignments is the Limit shifts along the helical axis parameter – this constrains the shift along the helical axis for each particle to be within +/- 0.5 rises.

By default this is true, and it is activated when the resolution stops increasing by a significant amount, meaning it could be activated as early as the second iteration. The reason this is on by default is that it can slightly improve resolution for tightly-packed helical structures with small rises, but it’s definitely not necessary to keep on especially for a large rise like ~80Å. Could you try disabling it, and seeing if you still see a problematic tilt distribution? Do let me know if that helps the resolution loss.

Other than that, are local searches of the rise and twist enabled, and if so, do you see that the symmetry parameters diverge from what you expect them to be after a few iterations?


Thanks @mmclean and @Pengxin. Here are my following test:

(1) Limit tilt angle to 10 degrees: still behave the same, weird tilt angle distribution in higher iterations.
(2) Limit shifts along the helical axis: Off: still behave the same, weird tilt angle distribution in higher iterations (final res ~7.4 Angstrom)
(3) I noticed a difference between iteration 0 and higher is that in iteration 0, the real space mask basically contains everything (no mask). Therefore, I input a mask that contains everything and also make static mask (no change throughout iteration). Then the tilt angle distribution looks fine after iteration 0 and the resolution progresses properly (see picture). The final resolution is 6.7A (basically without mask).

(4) After (3), I put all particles through local refinement with a mask like the real space refinement mask below. Then, I can get to 5.8 Angstrom (not yet like the alignment parameter transferred from Relion but much better than previously)

What parameters did you use for autopicking with filament tracer?