Search range definition in local refinement?

Hi,

When I use local refinement, often it seems that the per-iteration changes in angles & shifts are larger than specified in the search range. Why is this?

Cheers
Oli


Hi @olibclarke!

The plot limits and search extent parameters differ for two reasons:

  1. The main reason is that these limits are set per dimension. So for example, for translation you’ve limited the search to 2 Å in both X and Y, meaning the greatest distance a particle can move is ~2.8 Å.
  2. The second reason is that we plot the shift in pixels, but the parameter is in Å. We agree this is confusing, so I’ve noted that we should make the plot also in Å.
3 Likes

Ah! That is very helpful, thanks @rwaldo!

not strictly related, but also confusing: when “use poses and shift gaussian prior” is toggled active, you can modify standard deviations of shifts/angles AND rots/shifts in degrees and angles. If you modify only the std dev. field, then shift/angles automatically populates (suggesting a calculation and update). But then what happens if you type into the rots/shifts? Which is used? I have long had the habit to set all of these values to ~4deg and 4ang, but now realize that likely by modifying the std deviations the protocol will ignore my rots/shifts and use a much larger value. Which could also cause the above confusion (why are my plots showing significant motion when I thought I limited to 4? - oh it’s because those values are ignored and it used 4 Std deviation which is 12ang and 12deg…)

But these are two different parameters - changing the range changes the total search range, changing the st dev changes the strength of the gaussian prior penalizing deviations from the initial values. The default is setting the range to 3x the st dev, but that is just a guideline - you can change it.

2 Likes

One query about this @rwaldo - you mentioned the search ranges are per dimension - this also applies to the angles, presumably? So 2deg means 2degs in each of rot/tilt/psi, potentially?

Thanks @olibclarke for clarifying

But these are two different parameters - changing the range changes the total search range, changing the st dev changes the strength of the gaussian prior penalizing deviations from the initial values. The default is setting the range to 3x the st dev, but that is just a guideline - you can change it.

This is all true.


A small correction to earlier in the thread. The magnitude of the rotation and shift angle specified in the parameter controls: the total magnitude of the rotation, for the initial iteration of branch-and-bound alignment.

During each iteration of a refinement, particles are aligned to the reference over multiple sub-iterations of branch-and-bound alignment. Each of these BnB sub-iterations increases both (1) the max frequency of information used to align particles, as well as (2) the number of gridpoints to sample rotations and shifts at. The search grid starts at its coarsest, and gets subdivided finer over these sub-iterations. This effectively makes the sampling spacing smaller each time. For implementation reasons, the pose/shift magnitude limit is only imposed on the very first iteration. After subdivision, the maximum magnitude pose and shift can both increase beyond the initial limit, and this explains why it’s almost always the case that some particles will end up with an optimal pose/shift that is greater than the imposed limit.

I hope that clarifies things,
Michael

3 Likes