KosinskiLab / pyTME

https://kosinskilab.github.io/pyTME/
Other
22 stars 2 forks source link

Quesion about the appropriate tomograms for pyTME picking #11

Closed PeterVanF closed 3 months ago

PeterVanF commented 3 months ago

Hi, I want to know whether we can use the NoisetoNoise denoised tomograms, like cryoCARE tomograms, for pytme template matching. There are different tomogram reconstruction methods such as WBP, SIRT, and SART. Which one is the best for pyTME template matching? Additionally, what binning level should we use (in Å) for particle picking? Another question is whether there is a noticeable improvement in particle picking in 3D CTF-corrected tomograms, and under what circumstances should we start using 3D corrected tomograms for particle picking, considering that 3D CTF correction requires additional time to complete? If the particles are as large as ribosomes, is 3D CTF correction still necessary? Additionally, are the principles behind particle picking with pytme similar to the software stopgap, and is there a significant difference in performance between them?

maurerv commented 3 months ago

Hi @PeterVanF,

You raise some excellent points. Since some depend on data quality, I cannot answer them here with certainty and you simply need to try. I hope the remaining answers help in addressing some of your points :)

I want to know whether we can use the NoisetoNoise denoised tomograms, like cryoCARE tomograms, for pytme template matching

I pick up on this in the pytme documentation. Personally, I found denoised tomograms to be more useful for visualization than template matching. Especially when it came to angular assignment accuracy, denoised tomograms would fare worse due to the reduction in high-frequency information.

There are different tomogram reconstruction methods such as WBP, SIRT, and SART. Which one is the best for pyTME template matching?

Generally, I opt for WBP. This is also the method used by pytme to "reconstruct" 3D filters.

Additionally, what binning level should we use (in Å) for particle picking

That depends on the signal-to-noise ratio of your data and the particle of interest. Ribosomes, for instance, are commonly picked from 4x binned tomograms (10-13 Angstrom per voxel). However, there have been some recent papers claiming excellent template matching performance for a range of macromolecules at lower binning (NPCs, Ribosomes, Vault, Proteasome, Microtuble ...). Personally, the lowest binning I have ever used was 2x because I needed very precise angular orientation estimates.

Another question is whether there is a noticeable improvement in particle picking in 3D CTF-corrected tomograms, and under what circumstances should we start using 3D corrected tomograms for particle picking, considering that 3D CTF correction requires additional time to complete? If the particles are as large as ribosomes, is 3D CTF correction still necessary?

For reconstituted samples you can get away with most things, for in cell measurements you might need to adapt. From my personal experience, 3D CTF correction leads to an improvement, but its not something that makes or breaks template matching (see here for reference). Nevertheless, I would always recommend doing a simple CTF correction on your tomograms. That indeed requires additional computations, but it makes up for the time you would spend manually curating the results.

Additionally, are the principles behind particle picking with pytme similar to the software stopgap, and is there a significant difference in performance between them?

Stopgap, pytom, pytme (and most other tools for template matching in cryoem) use the same cross-correlation coefficient to determine similarities. The exact formula is given here. Therefore, there should not be a large difference in terms of matching accuracy (see here for a comparison between pytom and pytme). However, we did show that pytme is considerably faster than other particle picking software here.

Best wishes, Valentin

PeterVanF commented 3 months ago

Got it! Thank you, Valentin, for the detailed and instructive explanation. I’ll give it a try! Cheers! Peter

PeterVanF commented 3 months ago

Hi Valentin,

I have a follow-up question. What’s your opinion on background correction methods, like the random-phase correction in STOPGAP? Do you think it could enhance the performance of PyTME template matching?

Best regards, Peter

maurerv commented 3 months ago

Hi Peter,

The approach definitely has merit but can be a bit unpredictable at times. I show how to do a similar random-phase background correction using pytme in the docs https://kosinskilab.github.io/pyTME/quickstart/matching/particle_picking.html#parameter-comparison.

Since the phase scrambled template has no discernible features, you might need to sample a lot of rotations to get a good background. For me, using structured templates that are clearly different from my template of interest is more predictable. However, I have not assessed the performance difference systematically yet :)

PeterVanF commented 3 months ago

Got it. I will give it a try! Thank you!

maurerv commented 3 months ago

I will close this issue due to inactivity. Feel free to re-open or start a new issue if need be :)