Import particles from Relion

Dear all,

I am using cryosparc 2.4.6 and have trouble importing particles from relion3.
I extracted particles in relion and imported the particles and the star file to cryosparc v2.
Particles where extracted as black-on-white and are depicted with inversion contrast in cryosparc. So that seems to work fine.

But, I would rather like to import white-on-black since that is the usually way for other software packages. I played around with the option dark-on-light / light-on-dark and differntly inverted particles, but it seems like cryosparc really requires black-on-white particles and does the inversion internally. Could it be that the option dark-on-light / LoD is not properly working?

However, once I use these particles for either 2D or ab-initio I recieve the following error:

Traceback (most recent call last):
File “cryosparc2_worker/cryosparc2_compute/run.py”, line 78, in cryosparc2_compute.run.main
File “cryosparc2_worker/cryosparc2_compute/jobs/class2D/run.py”, line 148, in cryosparc2_compute.jobs.class2D.run.run_class_2D
File “cryosparc2_compute/particles.py”, line 119, in get_prepared_fspace_data
return fourier.resample_fspace(fourier.fft(self.get_prepared_real_data()), self.dataset.N) File “cryosparc2_compute/particles.py”, line 114, in get_prepared_real_data return (self.dataset.prepare_normalization_factor * self.dataset.prepare_data_sign) * (self.dataset.prepare_real_window * (self.get_original_real_data() - self[‘prepare/float_value’]))
File “cryosparc2_compute/particles.py”, line 109, in get_original_real_data
return self.blob.view().copy() # TODO!!! All the particle code assumes x is slow axis! WRONG!
File “cryosparc2_compute/blobio/mrc.py”, line 101, in view
return self.get()
File “cryosparc2_compute/blobio/mrc.py”, line 98, in get
data = n.fromfile(file_obj, dtype=self.dtype, count= n.prod(self.shape)).reshape(self.shape)
ValueError: total size of new array must be unchanged

I realized that this problem only exists when several mrcs stacks are used. Once I assembled of particles into one large mrcs stack (using particle_preproc) I can perform the the processing in cryo sparc. However, I would rather keep the organization of mrcs-stack per micrograph for bookkeeping reasons.

To sum up:
Is it possible to import mrcs stacks with white-on-black contrast
What is the problem with this error.

I realize that it is a long post, but I assumed that both problems are related.
All the best
Ferdinand

I am now using one large stack instead of several small ones and everything works now. The contrast is also correctly recognized.

Dear FerdKrupp,

Would you mind to show me how to assemble particles into one large mrcs stack using particle_preproc? Thanks!

Dijun Du

This should not be necessary - I routinely import from star files with per-mic stacks

However, making a single stack/star is useful sometimes for portability:
relion_preprocess --operate_on in.star --operate_out output_rootname

Cheers
Oli

It works for me now. Thank your very much!
Dijun Du