warpem / warp

https://warpem.github.io/warp/
GNU General Public License v3.0
39 stars 7 forks source link

Suggestion regarding RELION 2D subtilts with no visble frames #243

Closed rkjensen closed 1 month ago

rkjensen commented 1 month ago

Running RELIONv5 using extracted 2D subtilts from warp, where some particles are too close to the blurred corners (i.e. leading to a _rlnTomoVisibleFrames entry = [0,0,0, ... 0]) causes a breaking error in RELION. The error message is very unhelpful and it took me some time to track down the real issue.

As these particles are not contributing any signal anyway (and are most likely false positives) it would be nice if warp could just exclude those from being extracted automatically (perhaps including some warning message, and a flag to disable this behaviour).

EDIT: I forgot to add: the particles found on only one tilt gives the same error, so I had to remove all particles found on 1 tilts or less.

Example of a particle entry where this is the case is below:

data_particles

loop_ _rlnTomoName #1 _rlnTomoParticleId #2 _rlnCoordinateX #3 _rlnCoordinateY #4 _rlnCoordinateZ #5 _rlnAngleRot #6 _rlnAngleTilt #7 _rlnAnglePsi #8 _rlnTomoParticleName #9 _rlnOpticsGroup #10 _rlnImageName #11 _rlnOriginXAngst #12 _rlnOriginYAngst #13 _rlnOriginZAngst #14 _rlnTomoVisibleFrames #15 00035.tomostar 14 23.389 1809.712 92.851 -165.633 122.283 94.405 00035/14 5 /scratch/kjeldsen/warp_runs/particles/wt1/particleseries/00035/00035_3.40A_000014.mrcs 0.0 0.0 0.0 [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

alisterburt commented 1 month ago

Hi @rkjensen, sure! Sounds reasonable - is it only particles which are completely not visible you think we should get rid of? What about if only some frames are visible?

rkjensen commented 1 month ago

That is a good question. I'm not sure what is the best thing to do.

My guess is that if you have the particle on just the first few tilts it should still have good signal, though you are unlikely to be able to locate them well. However, I guess more often you will only have them on highly tilted images, and then they are anyway not very helpful. So it would probably be safe to kick out particles not present in more than e.g. 5 tilts or 10 tilts.

For the specific project I'm working on right now (41 tilts, 3 degree increment), you would throw away 0.4 % and 0.7 % of particles removing particles not present in the the first 5 tilts or 10 tilts respectively, and these are most likely junk particles anyway (though I didn't check).

EDIT: The CDF: Histogram of Data 1

alisterburt commented 1 month ago

@rkjensen thanks again for the report. I added an option --max_missing_tilts which defaults to 5 in #252 and should avoid this problem in the future. Will be available in 2.0.0dev27 once https://github.com/warpem/warp/actions/runs/10927356218 finishes!

cc @rahelwoldeyes I think you ran into the same thing based on the RELION discussion

rahelwoldeyes commented 1 month ago

Thank you! @DrJesseHansen @KrisJanssen might also be interested to hear about the update.

DrJesseHansen commented 1 month ago

fantastic. Thanks @alisterburt ! Also @rkjensen and @rahelwoldeyes