Estimated Bfactor differ by a factor of two compared to RELION

Hi @Joey, sorry for the delayed response. Turns out the difference is that RELION uses the unmasked volume for B-factor estimation, while CS uses the masked volume. You can see in RELION’s code that it performs masking for FSC and phase randomization, then re-imports the original half maps before B-factor estimation. If you’re skipping FSC weighting, the input mask has no impact on the estimated B-factor.

For a dataset which originally had a RELION B-factor of -6.85, I applied the mask in mask_refine to the half-maps in Chimera, and then reran relion_postprocess with --autob_highres at FSC resolution and --skip_fsc_weighting:

relion_postprocess --i J454_half_map_A_masked.mrc --i2 J454_half_map_B_masked.mrc --angpix 0.8320 --o relion_sharp_3 --auto_bfac true --autob_lowres 10 --autob_highres 4.13 --skip_fsc_weighting
== Reading input half-reconstructions: 
  + half1-map:                     J454_half_map_A_masked.mrc
  + half2-map:                     J454_half_map_B_masked.mrc
 + --mtf_angpix was not provided, assuming pixel size in raw micrographs is the same as in particles, 0.832 A/px.
== Not performing any masking ... 
== Masking input maps ...
  + randomize phases beyond:       10.6496 Angstroms
== Fitting straight line through Guinier plot to find B-factor ...
  + fit from resolution:           10
  + fit until resolution:          4.13
  + slope of fit:                  -26.4981
  + intercept of fit:              -11.9315
  + correlation of fit:            0.986095
  + apply b-factor of:             -105.992
== Writing output files ...
  + Processed map:                 relion_sharp_3.mrc
  + Processed masked map:          relion_sharp_3_masked.mrc
  + Metadata file:                 relion_sharp_3.star
  + FINAL RESOLUTION:              4.14919

which gave a comparable value to homogeneous refinement in CS:

The values still won’t be identical because the order of operations in the two implementations are slightly different, but they should definitely not be off by multiples of each other. As of right now there’s no way to enforce masking in relion_postprocess, and no way to turn off masking in CS B-factor estimation, but we’ll consider adding the option in a future update :slight_smile:

6 Likes