Generalized protocol for 3D classification of particles

Hi @mjmcleod64! Sounds like a tricky sample, hopefully we can help!

Could you post a few example micrographs, just so I can see what you’re working with? I’m especially interested in how many filaments/pseudofilaments there are, and how long they typically are, as well as the general quality of the ice/SNR.

Now, as for the general workflow, we’ve got two major recommendations

Blob picking and cleaning

We’d recommend starting with particle picking as you say — pick basically every oligomerization state and put them all in one big stack.

Next, use 2D classification to only remove very obvious junk. With so many different sizes of particle, you’ll want to request a lot of 2D classes, and be very very generous about what you keep, since it will be hard to tell what’s good and what’s bad.

Then, move into the third dimension. Plug all the particles you kept into ab initio job to keep cleaning them up. As far as the number of classes, we’d recommend that you set up a bunch of jobs and keep increasing the number of classes until either 1) you run out of memory or 2) you start to get classes which look similar (e.g., you see two classes of a dimer or some other oligomer).

Once you’ve got a volume for each of your classes, you can either proceed with heterogeneous refinement or ab initio (I’d probably recommend trying both), cleaning the particle stack at each step by discarding junk classes. You don’t want to separate your particles out into separate stacks for each oligomer until you’ve got them as clean as you possibly can.

Trained picking

You may also want to consider training a model to pick specific oligomerization states of your protein independently, such as Topaz or crYOLO. You could manually pick a few micrographs if it’s easy to distinguish the oligomerization states, or use your clean 3D classes from blob picking if it’s harder to tell by eye.

2 Likes