cryodrgn icon indicating copy to clipboard operation
cryodrgn copied to clipboard

Missing rlnRandomSubset in cryodrgn_utils write_star output

Open priiteek opened this issue 2 years ago • 2 comments

cryodrgn_utils write_star does not transfer the rlnRandomSubset column from --ref-star starfile. Because of this, cryoSPARC will not import the poses even if they are available in the starfile (by providing --poses poses.pkl). This makes it impossible to run a homogenous reconstruction of the particle subset.

Output from cryoSPARC import job:

Warning: Output will not contain particle orientations since the input star file does not contain: 'rlnRandomSubset'

A workaround is to add a mock column with: relion_star_handler --i cryodrgn_output.star --o csparc_import.star --add_column "rlnRandomSubset" --add_column_value 1 Then, one needs to "Force re-do GS split" in the Reconstruction job to assign new subsets.

Perhaps this column could also be transferred if it's available?

priiteek avatar Sep 28 '22 18:09 priiteek

@priiteek - I see that any arbitrary column in --ref-star can be passed on to the output starfile by saying --copy-header _rlnSomeFieldName. Does that not work in your case?

@zhonge - since the responsibility of the write_star command is simply to take in a particle stack, optional indices, and supplement it with ctf columns and any additional columns found in --ref-star, would not transferring all columns found in --ref-star (minus the ctf columns if a ctf .pkl was provided, in which case the ctf .pkl will provide those columns) to the output starfile be the right thing to do? I might be missing the typical use case here..

vineetbansal avatar Oct 07 '22 21:10 vineetbansal

It is definitely most useful to write all columns from the input star file to the output star file. This is how one can subsequently run refinements in RELION without any loss of information on these particles.

Guillawme avatar Oct 10 '22 07:10 Guillawme