3dem / relion

Image-processing software for cryo-electron microscopy
https://relion.readthedocs.io/en/latest/
GNU General Public License v2.0
444 stars 197 forks source link

dose weighting in RELION 5 #1123

Open DrJesseHansen opened 4 months ago

DrJesseHansen commented 4 months ago

hi Biochemfan,

I am sorry for posting this here, I'm not sure how else to contact you.

I am wondering if it's possible to include a dose weighting scheme for subtomo averaging in RELION 5? I see during import I can specify the dose per tilt, but nowhere else can I edit this. I am processing hybrid cryo-ET SPA data where there's an initial zero tilt image with high dose then a tilt series with normal dose distribution. Is there a way to tell this info to RELION?

thanks

Jesse

This is a template for reporting bugs. Please fill in as much information as you can.

Describe your problem

Please write a clear description of what the problem is. Data processing questions should be posted to the CCPEM mailing list, not here. DO NOT cross post a same question to multiple issues and/or many mailing lists (CCPEM, 3DEM, etc).

Environment:

Dataset:

Job options:

Error message:

Please cite the full error message as the example below.

A line in the STAR file contains fewer columns than the number of labels. Expected = 3 Found = 2
Error in line: 0 0.0
in: /prog/relion-devel-lmb/src/metadata_table.cpp, line 966
=== Backtrace  ===
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN11RelionErrorC1ERKSsS1_l+0x41) [0x42e981]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN13MetaDataTable12readStarLoopERSt14basic_ifstreamIcSt11char_traitsIcEEPSt6vectorI8EMDLabelSaIS6_EESsb+0xedd) [0x4361ad]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN13MetaDataTable8readStarERSt14basic_ifstreamIcSt11char_traitsIcEERKSsPSt6vectorI8EMDLabelSaIS8_EESsb+0x580) [0x436f10]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN10Micrograph4readE8FileNameb+0x5a3) [0x454bb3]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN10MicrographC2E8FileNameS0_d+0x2e3) [0x4568b3]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN17MicrographHandler14isMoviePresentERK13MetaDataTableb+0x180) [0x568280]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN17MicrographHandler17cullMissingMoviesERKSt6vectorI13MetaDataTableSaIS1_EEi+0xe6) [0x568dc6]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(_ZN13MotionRefiner4initEv+0x56f) [0x49e1ff]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi(main+0x31) [0x42a5e1]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x2b7ac026e495]
/prog/relion-devel-lmb/bin/relion_motion_refine_mpi() [0x42b3cf]
==================
biochem-fan commented 4 months ago

Does --pre_exposure do what you want?

I am not involved in the STA aspect of RELION at all; I do not know if subsequent processing respects this metadata.

EuanPyle commented 3 months ago

There is a way to implement hybrid dose tilt schemes but you'll have to do some things manually. But it's not too complicated if you can write a simple python script.

After running Import, use a program to edit star files (I like https://github.com/teamtomo/starfile) to read the star files in Import/jobXYZ/tilt_series/, read the column rlnMicrographPreExposure, and adjust the values depending on what dose you used for each. i.e. the first image should be 0, if you used a dose of 10 when collecting the first image then the second should be 10, then if you used a dose of 3 for the rest, the third should be 13, fourth 16, etc.

Overwrite the existing star files containing the new rlnMicrographPreExposure values. That should work.