refinement questions

Forums

I have a problem extracting a class of particles after multi-refinement using Frealign. The multi-refinement gave three classes with about 15,000 particles in each class. But when I use merge_classes.exe to extract the thirst class of particles, I only got around 8,000 particles. Why is that?

This is the result when I run frealign_calc_stats.
1: N = 14852 Ave. OCC = 33.1751 Ave. LL = -17671.9 Ave. Score = 32.5013
2: N = 14293 Ave. OCC = 31.9257 Ave. LL = -17812.8 Ave. Score = 31.8804
3: N = 15624 Ave. OCC = 34.8992 Ave. LL = -17792 Ave. Score = 32.3776
44770 particles, average LL = -17758.8, average Score = 32.2598

the input when I run merge_classes.exe are:
input stack: the original image stack for refinement which has 44,000 particles in it.
the number of classes merged: 1
input parameter file: .par file in 18th refinement cycle
OCC: 100.0
min score: 0.00

the mparameter file is like this:

# Refinement-specific parameters
MODE 1
start_process 2
end_process 18
res_high_refinement 15.0
res_high_class 8.0
thresh_reconst 0.0
nclasses 3

data_input frealig
raw_images frealig_stack
image_contrast N
outer_radius 150.0
inner_radius 0.0
mol_mass 800.0
Symmetry D8
pix_size 1.071
dstep 6.0
Aberration 4.7
Voltage 300.0
Amp_contrast 0.1

# Expert parameters (for expert users)
XSTD 0.0
PBC 50.0
parameter_mask "1 1 1 1 1"
refineangleinc 4
refineshiftinc 4
res_reconstruction 0.0
res_low_refinement 0.0
nbootstrap 1000
FMAG F
FDEF F
FASTIG F
FPART F
FFILT T
FMATCH F
FBEAUT F
FBOOST F
RBfactor 0.0
beam_tilt_x 0.0
beam_tilt_y 0.0
mp_cpus 1
restart_after_crash F
delete_scratch T
qsub_string_ref ""
qsub_string_rec ""
first_particle
last_particle
frealign_bin_dir
scratch_dir

Hi Yanyan,

In merge_classes.exe, the question about occupancy asks for the threshold occupancy. In other words, particles with occupancy lower than 100% (this is what your script uses) will not be included. When you run frealign_calc_stats, particles are "assigned" to a class if their occupancy for that class is higher than for other classes, but they may have occupancies lower than 100%. I think this may be where the discrepency arises- there are probably ~ 7,000 particles which have very high occupancies, but not quite 100%.

In any case, if you're trying to "extract" a class of particles, perhaps you should use the select_classes program instead of merge_classes?

Alexis

In reply to by Alexis

Thank you, Alexis. How do you deicide the threshold occupancy in this situation?

In reply to by Yanyan Zhao

That would depend on what you're trying to achieve.
If you are trying to obtain a new image stack & parameter file with only particles from one of the classes, I would use select_classes.exe, rather than merge_classes. In that case you won't have to select an occupancy threshold.

If you really are merging classes or you want to use merge_classes for some other reason, maybe you could go to 90%. In most cases, that'll catch most particles.

In reply to by Alexis

So if I useselect_classes.exe, the input file are:
input stack: stack with all of the particles
number of classes to select from: 1
input parameter file: the parameter file for one class

Am I doing this correctly?

In reply to by Yanyan Zhao

Just run it interactively and you'll see what the questions are...

It'll ask you how many classes there are, then for each class, it'll ask you

  • the parameter filename
  • whether to select this class
  • if you select this class, the output parameter filename

Then it'll ask you

  • the output stack filename
  • whether to resest the occupancies in the output par file to 100.0