What is the best way to change the dose rate?



Hi Cryosparc community

I have some cleaned particle data-set which is classified, refined and so on… I would like to change the dose rate used for this dataset and redo the refinement. I saw that we can override the electron dose rate on local motion correction job. Is the particle assignment preserved in local motion correction jobs? What would be the best strategy to re-extract this particle subset with preserving the alignment parameters by processing only the cleaned-refined subset particles?

Thank you for your help.



As far as I understand, cryosparc can extract particles from movies during local motion correction and dose rate can be override at that step. It would be great to have this option on the stand alone particle extraction job so we can re-axtract clean-refined particles with different dose rate very easily. Actually it would be nice to also add skip first and last frames too on standalone particle extraction job.


Hi @alburse,

Thanks for the feedback.
Currently only the local motion job actually applies dose weighting (the extraction job extracts from micrographs rather than movies, where dose weighting would already have been applied). The alignment parameters of your particles will be preserved if you run the particles through local motion again. If you notice in the “Output” tab of a job card you will see there are multiple “passthrough” outputs that go along with each output group. These outputs are metadata that were present in in the input data (eg. particle alignments) but not used by the job in question, so they are simply outputted again for another job to use later.

In the case of local motion specifically, the motion estimation itself is dependent on the number of particles in the micrographs and their density, since nearby particles jointly determine eachother’s trajectories via smoothing. So it is actually advisable to re-run local motion with the entire particle stack you originally used, and then retain only the particles from your best “cleaned-refined” subset. The way to do this is to re-run the original local motion correction job first with a different dose rate. Then, create a refinement (or other) job where you wish to use the cleaned-refined-subset-with-new-dose-rate particles. In that refinement job, first connect the output of the new local motion correction job. This will contain all the particles. Then, in the job builder panel click the drop-down beside the connected particle group. You will see that the required properties are connected (blob and ctf for example) from the new local motion job. Now, select the job that produced your latest cleaned-refined subset of particles. Inspecting this job and going the “Output” tab will show all the properties of the cleaned-refined subset of particles. Now, select the ctf output from this panel and drag it over and drop it onto the ctf input of the building refinement job. This will override the previously connected input from the local motion job. Now, the new building job has blobs connected from the new local motion job (i.e with the new dose rate) and ctfs from the cleaned subset. You can do the same with the alignment parameters if needed, if you are running eg. a local refinement job. What happens now is that when the new job loads the particle stack, it will take only the particles that are defined in all the inputs. So you will end up with the cleaned-refined subset, but with new raw data that was dose-weighted with a different dose rate.


Thank you for your detailed reply, I have already tried this approach and it seems to be working. I still think that stand alone particle extraction can also use the advantages of extracting from movies.