Print

Print


Hi Josh and Relion developers,

It is some time ago that I had this issue. Here what I remember:

I think it is actually a bug in the Relion source (see my post on github: https://github.com/3dem/relion/issues/105)

Most likely you have plenty of particles on your micrographs and therefore you never had to regroup them. In that case, your star files lack the column rlnGroupName.

Since you don't have group names, Relion creates them from the micrograph names by using rlnMicrographName including the path and file extension. As far as I understood, line 777 in /src/ml_model.cpp causes trouble, because it compares the data name (_rlnMicrographName) with the GroupName without extension... but there is an extension (or vice versa).

You shouldn't run into this problem, if you regroup your particles prior to movie processing. If you don't want to re-run your refinement, you can edit all star files that are linked in the micrographs_movie_list.star file by adding a rlnGroupName column with proper names. I will look for the awk script and send it to you.

However, the safe way is to regroup your particles before movie processing/refinement.


There is another pitfall in the polishing procedure (for the developers):

The last step of movie processing is writing out the polished/shiny particles. These particles will be written out as one stack per micrograph/movie and will be named after the rlnOriginalParticleName. This works as long as you haven't used a particle stack that originates from more than one micrograph (lets call it big_data_ptcl.mrcs = e.g. entire data set in one stack). When you used such a stack, the previous rlnImageName was pointing to the stack with an index corresponding to the position in the stack ({000001...999999}@big_data_ptcl.mrcs). During the movie processing procedure the rlnImageName is copied to theĀ rlnOriginalParticleName column and the rlnMicrographName is used for extracting new particle stacks, which will have the rlnMicrographName as rlnImageName. Thus for writing out the shiny particles, Relion should use the rlnMicrographName instead of the rlnOriginalParticleName, because they come from one stack per micrograph. The issue is that the big_data_ptcl.mrcs had a continuous indexing from 1 to 99999... for particles from several micrographs, while the new shiny stacks are indexed per micrograph (1-99999). By using rlnOriginalParticleName (which is big_data_ptcl.mrcs) the numbering starts from scratch for each micrograph, which causes a futile cycle in which the new big_data_ptcl.mrcs is overwritten for each micrograph (without MPI). With MPI several ranks will try to write to this file at the same time and you will receive an MPI_ABORT error without further description.
@Developers: This could be fixed by using rlnMicrographName instead of
rlnOriginalParticleName.

Both issues are relatively special and difficult to explain, but I hope you understand the problems.

Best,
Dominik


--
Dominik A. Herbst | PostDoc | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | CH-4056 Basel | Phone: +41 61 207 21 03 | Fax: +41 61 207 21 09 | Email: [log in to unmask] | www.biozentrum.unibas.ch
On 05/04/2018 04:28 PM, SUBSCRIBE CCPEM Joshua C. Bufton wrote:
[log in to unmask]">
Hi Chen, 

Did you find a solution to this problem? I am also getting the same error at the 2nd step of Movie Refinement:


ERROR: MlModel::adjustGroupsForMovies ERROR: cannot find <micrograph name> among the groups of the model!


Has anyone else got a good solution? 

Many thanks,
Josh