Negative stain particles how to prevent contrast invertion in 2D classification step?

Hi all,

I am working on negative stain images with cryosparc v2. After manual picking, the particles are still white but as long as I start the 2D classification, the particles become dark. So is there a way to not invert contrast in the 2D classification step?


Hi @Chen, noted and working on this for a future release.

Hi @Chen,

As of v2.2.0, we have added a feature to specify that your particles are Negative Stain images. From the changelog:

  • Update: Added parameter to specify Negative Stain images in Extract from Micrographs and Local Motion Correction to output particles with correct datasign

Setting this parameter when extracting particles from micrographs will set the datasign correctly and should prevent them from being inverted.

Ali H.

Hi @ali.h,

Thank you for your update. I noticed that. By the way, it would be better if you can add a feature so that user can specify which GPU to use. Currently, it is not available for the Ab-initial reconstruction and Homogeneous refinement.


@ali.h When using the template picker this setting isn’t applied; thus everything except the particles is picked. Can the template picker be fixed to not invert the template contrast with negative stain data?

Hello @DanielAsarnow,

We’ve recorded the issue and we’re working on it. For now, not choosing the “negative stain” option in the extraction stage should fix the issue (though your images will be inverted).




I noticed the same problem with Negative stain images. My workaround was to invert all the micrographs by using with the --multi=-1 option before sending them to cryoSPARC. Then pretend that they are cryo images.


Hello, Zhijie
I am running into the same NS data processing problem. Would you mind writing the command lines in detail how you invert the negative staining contrast in order to allow normal processing of NS data on cryoSPARC?
Is it:
eman *.mrc ----how to put the multi option and keep the file names and details as *.mrc?


TL;DR, relevant line:

for i in *.mrc; do --mult=-1 $i ${i%.mrc}_inv.mrc; done

1 Like

Hello, Thank you so much for the detailed information! I believe that is going to be very helpful once I figure out how to invert the contrast. When I tried the relevant line as you indicated above:
for i in *.mrc; do --mult=-1 $i ${i%.mrc}_inv.mrc; done
It immediately turns to for i in *.mrc; do --mult=-1 $i ${i%.mrc}
Missing }.
Did I miss }. somewhere?
Thank you for your help again!

Are you attempting this in a Bourne compatible shell, e.g. bash?

Sorry for the late reply.
Eman2 has a special syntax that can help you avoid writing bash loops. You put the out put file name as @.mrc like this:  --mult=-1 *.mrc @_inv.mrc

On the other hand, I think cryoSPARC handles negative stain images just fine now (check ‘negative stain’ option when importing). So there usually is no need to invert the micrographs now.