CTF estimation
Run the program
Please run CTFMeasure with input micrograph list (described in detail later), pixel size, spherical aberration, acceleration voltage and amplitude contrast. If additional parameters are needed, please clarify the location of the parameter file (described in detail later).
{BINARY_PATH}/CTFMeasure
--input_micrograph_list <input micrograph list>
--pixel_size <pixel size, in Angstrom>
--cs <spherical aberration, in mm>
--voltage <acceleration volatge, in kV>
--w <amplitude contrast>
[--params <parameter file>]
For estimating CTF parameters of single-particle micrographs, you can specify a sign for "single-particle", and run the program with input micrograph name, tilt angle, tilt axis angle, pixel size, spherical aberration, acceleration voltage and amplitude contrast. If tilt angle and tilt axis angle are not given, they will be regarded as 0 by default.
{BINARY_PATH}/CTFMeasure --single_particle
--input_micrograph <input micrograph file>
[--theta <tilt angle, in degree>]
[--psi <tilt axis angle, in degree>]
--pixel_size <pixel size, in Angstrom>
--cs <spherical aberration, in mm>
--voltage <acceleration volatge, in kV>
--w <amplitude contrast>
[--params <parameter file>]
Input micrograph list
The input micrograph list is a text file to specify the micrographs for estimation. It contains at least three columns, with the first column "frame number@micrograph name" (frame number starts from 0), the second column "tilt angle" (in degree), and the third column "tilt axis angle" (in degree). The following columns may contain other information of the micrographs.
e.g.
# Column 1: Frame number@Micrograph name
# Column 2: Tilt angle (in degree)
# Column 3: Tilt axis angle (in degree)
0@tomo_001.ali -60.000000 175.000000
1@tomo_001.ali -57.000000 175.000000
...
40@tomo_001.ali 60.000000 175.000000
The tilt angles can be obtained from the raw micrographs, or from the "rawtlt" file or the "tlt" file generated by IMOD. The tilt axis angle is the angle between y-axis and the tilt axis, and can be obtained from the "mdoc" file generated by SerialEM during data collection.
The advantage of the input micrograph list is that you can specify micrographs directly instead of combining them to a tilt-series.
e.g.
# Column 1: Frame number@Micrograph name
# Column 2: Tilt angle (in degree)
# Column 3: Tilt axis angle (in degree)
0@tomo_001_-60.0.mrc -60.000000 175.000000
0@tomo_001_-57.0.mrc -57.000000 175.000000
...
0@tomo_001_60.0.mrc 60.000000 175.000000
Future version will include more parameters in the input micrograph list for further processes like tomogram reconstruction.
If you have an MRC stack with a tilt-series of micrographs to estimate, you can generate the input micrograph list by running
{BINARY_PATH}/stack_to_list
<input tilt-series stack>
<input tilt angle file>
<tilt axis angle>
<output micrograph list file name>
e.g.
stack_to_list tomo_001.st tomo_001.rawtlt 175.0 tomo_001.list
The input tilt-series stack is the MRC stack with a tilt-series of micrographs for estimation. The tilt angle file is a text file containing the corresponding tilt angles of the MRC stack, with one angle per line. The "rawtlt" file or the "tlt" file generated by IMOD is just OK. The tilt axis angle is the angle between y-axis and the tilt axis, same as the previous description.
Parameter file (optional)
File convention
The parameter file is a text file in "<parameter name>=<parameter value>" style. Each line contains one parameter.
# This is an example parameter file.
# All values showed here are default values.
# To change a specific parameter value, please uncomment the corresponding line.
#### Basic parameters ####
# workpath=./
# prfx={file basename of "--input_micrograph_list"}
# average_mrc={prfx}_avg.mrc
# output_mrc={prfx}_diag.st
# output_file={prfx}_ctf.txt
# j=10
#### Parameters for CTF estimation ####
# box=512
# N_zeros=10
# defocus_min=10000.0
# defocus_max=100000.0
# defocus_step=100.0
# resolution_max=4*{pixel_size}
# resolution_min=30.0
# resolution_adaptive=1
# adaptive_range=1
# it=3
#### Advanced parameters ####
# search_phase_shift=0
# box_conv={box}/20
# N_avg=0
# N_ref={Micrograph with minimum tilt angle}
# box_conv_first=1
# skip_box_conv_coarse=0
# hard_restriction=0
# skip_unified=0
# optimize_with_average=0
# per_tilt_estimation=0
# tight_blocks=0
# astigmatism_angstrom=2000
# dose_weighting=0
# dose_acc_file=<accumulated dose file name>
# convergence_defocus=100
# convergence_astigmatism=1
# convergence_angle=0.1
# output_raw=0
#### Parameters for angle estimation ###
# tlt_offset=0.0
# xtilt=0.0
# pre_offset_estimation=0
# dose_file=<dose file name>
# skip_offset_estimation=1
# skip_offset_refinement=1
# skip_offset_estimation_x=1
# skip_offset_refinement_x=1
# skip_axis_refinement=1
# skip_angle_refinement=1
# N_avg_block=2
Please refer to conf/para_example.conf
, or you can download from here.
To write out a parameter file with default values for reference, run
{BINARY_PATH}/CTFMeasure --params_example <example parameter file>
Basic parameters
Parameter | Default value | Description |
---|---|---|
workpath | ./ | The folder for all input and output files |
prfx | {file basename of "--input_micrograph_list"} | Prefix for output files |
average_mrc | {prfx}_avg.mrc | Output, MRC file, the average power spectrum of the tilt-series, and evaluation of Thon ring fitting with the average defocus |
output_mrc | {prfx}_diag.st | Output, MRC file, the power spectrum and evaluation of Thon ring fitting for each micrograph |
output_file | {prfx}_ctf.txt | Output, a text file with the estimated CTF parameters and angle parameters |
j | 10 | Number of threads for parallelization (With OpenMP parallelization) |
Parameters for CTF estimation
Parameter | Default value | Description |
---|---|---|
box | 512 | Box size for power spectrum estimation (In pixels) |
N_zeros | 10 | Number of CTF zeros for background estimation and CTF estimation |
defocus_min | 10000.0 | Minimum defocus for searching during initial estimation (In Angstrom) |
defocus_max | 100000.0 | Maximum defocus for searching during initial estimation (In Angstrom) |
defocus_step | 100.0 | Defocus step for searching during initial estimation (In Angstrom) |
resolution_max | 4*{pixel size} | Maximum resolution for fitting (In Angstrom) |
resolution_min | 30.0 | Minimum resolution for fitting (In Angstrom) |
resolution_adaptive | 1 | Using adaptive resolution range for fitting (0-No; 1-Yes. If set to 1, the maximum and minimum resolution for fitting will be adjusted according to the given “N_zeros” and the estimated CTF parameters in the initial estimation step.) |
adaptive_range | 1 | Apply adaptive fitting range adjustment (0-No; 1-Yes. If set to 1, the resolution range for fitting will be determined along the trajectory of the Thon rings according to the currently estimated CTF parameters. Useful for high-astigmatism datasets.) |
it | 3 | Number of iterations in the iterative per-micrograph estimation step |
Advanced parameters
Parameter | Default value | Description |
---|---|---|
search_phase_shift | 0 | Search CTF phase shift for datasets collected with phase plates (0-No; 1-Yes) |
box_conv | {box}/20 | Convolution box size for background estimation |
N_avg | 0 | Number of adjacent micrographs averaged during initial estimation |
N_ref | {Micrograph with minimum tilt angle} | The No. of the micrograph used for initial estimation (The number starts from 0.) |
box_conv_first | 1 | Perform box convolution first or interpolation first in background estimation (0-Interpolation first; 1-Box convolution first) |
skip_box_conv_coarse | 0 | Skip box convolution in background estimation (0-Not skip; 1-Skip) |
hard_restriction | 0 | Apply tight restrictions on the deviation in per-micrograph estimation (0-Loose restriction; 1-Tight restrction) |
skip_unified | 0 | Skip coarse overall estimation (0-Not skip; 1-Skip) |
optimize_with_average | 0 | Fit with the average power spectrum during estimation (0-Use original power spectrum for fitting; 1-Use average power spectrum for fitting) |
per_tilt_estimation | 0 | Estimate each micrograph independently (0-Joint estimation; 1-Independent estimation) |
tight_blocks | 0 | Ignore the outermost blocks to neglect the boundary of the micrographs (0-Using all blocks; 1-Using tight block, ignoring the outermost blocks) |
astigmatism_angstrom | 2000 | Expected astigmatsim (In Angstrom) |
dose_weighting | 0 | Whether enabling dose weighting in estimation (0-No dose weighting; 1-Enable dose weighting) |
dose_acc_file | <accumulated dose file name> | A text file with one column per line, standing for the accumulated dose in e-/A^2 for each micrograph in the input micrograph list (required if dose_weighting = 1) |
convergence_defocus | 100.0 | Convergence criteria for defocus values (In Angstrom) |
convergence_astigmatism | 1.0 | Convergence criteria for astigmatism angle (In Angstrom) |
convergence_angle | 0.1 | Convergence criteria for angle estimation (In Angstrom) |
output_raw | 0 | Whether write out the power spectrums before background subtraction (0-Write out the power spectrums after background subtraction; 1-Write out the power spectrums before background subtraction) |
Parameters for angle estimation
Parameter | Default value | Description |
---|---|---|
tlt_offset | 0.0 | Initial absolute tilt angle offset, the angle to make the specimen horizontal (In degree) |
xtilt | 0.0 | Initial off-plane tilt angle of the tilt axis (Often known as x-tilt) (In degree) |
pre_offset_estimation | 0 | Apply absolute tilt angle offset estimation during the initial estimation step (0-Not apply; 1-Apply) |
dose_file | <dose file name> | A text file with one column per line, standing for the dose rate in e-/A^2 for each micrograph in the input micrograph list |
skip_offset_estimation | 1 | Skip estimating the absolute tilt angle offset during the iterative per-micrograph estimation step (0-Not skip; 1-Skip) |
skip_offset_refinement | 1 | Skip refining the absolute tilt angle offset during the iterative per-micrograph estimation step (0-Not skip; 1-Skip) |
skip_offset_estimation_x | 1 | Skip estimating the off-plane tilt angle of the tilt axis (x-tilt) during the iterative per-micrograph estimation step (0-Not skip; 1-Skip) |
skip_offset_refinement_x | 1 | Skip refining the off-plane tilt angle of the tilt axis (x-tilt) during the iterative per-micrograph estimation step (0-Not skip; 1-Skip) |
skip_axis_refinement | 1 | Skip refining the stage tilt angle of the tilt axis (0-Not skip; 1-Skip) |
skip_angle_refinement | 1 | Skip per-micrograph tilt angle refinement (0-Not skip; 1-Skip) |
N_avg_block | 2 | Number of adjacent blocks used when computing local power spectrums during per-micrograph tit angle refinement |