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.
-- 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
[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