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
# Column 3: Tilt axis angle
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
# Column 3: Tilt axis angle
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"}
# tlt_offset=0.0
# 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=1
# 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 ####
# N_avg_block=2
# 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
# xtilt=0.0
# skip_axis_refinement=1
# skip_angle_refinement=1
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 |
tlt_offset | 0.0 | Absolute tilt angle offset, the angle to make the specimen horizontal (In degree) |
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 every micrograph |
output_file | {prfx}_ctf.txt | Output, a text file with CTF pamameters |
j | 10 | Number of threads (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 defocus 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) |
adaptive_range | 1 | Apply adaptive fitting range adjustment (Especially for high-astigmatism datasets; 0-No; 1-Yes) |
it | 3 | Number of iterations |
Advanced parameters
Parameter | Default value | Description |
---|---|---|
search_phase_shift | 0 | Search CTF phase shift (For phase plates; 0-No; 1-Yes) |
box_conv | {box}/20 | Convolution box size for coarse background estimation |
N_avg | 0 | Number of adjacent micrographs used during initial estimation |
N_ref | {Micrograph with minimum tilt angle} | The No. of the micrograph used for initial estimation (Start 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-Don't 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-Don't skip; 1-Skip) |
optimize_with_average | 1 | Fit with average power spectrum (0-Use original power spectrum for fitting; 1-Use average power spectrum for fitting) |
per_tilt_estimation | 0 | Estimate every micrograph independently (0-Joint estimation; 1-Independent estimation) |
tight_blocks | 0 | Whether ignore the outermost blocks to neglect the boundary (0-All blocks; 1-Tight block, ignore 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 | Write out power spectrums before background subtraction (0-After background subtraction; 1-Before background subtraction) |
Parameters for angle estimation
Parameter | Default value | Description |
---|---|---|
N_avg_block | 2 | Number of adjacent blocks used when computing local power spectrums |
pre_offset_estimation | 0 | Apply absolute tilt angle offset estimation during initial estimation (0-Don't 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 per-micrograph estimation (0-Don't skip; 1-Skip) |
skip_offset_refinement | 1 | Skip refining the absolute tilt angle offset during per-micrograph estimation (0-Don't skip; 1-Skip) |
skip_offset_estimation_x | 1 | Skip estimating the absolute tilt angle offset for x-axis during per-micrograph estimation (0-Don't skip; 1-Skip) |
skip_offset_refinement_x | 1 | Skip refining the absolute tilt angle offset for x-axis during per-micrograph estimation (0-Don't skip; 1-Skip) |
xtilt | 0.0 | Initial absolute tilt angle offset for x-axis (In degree) |
skip_axis_refinement | 1 | Skip tilt axis angle refinement (0-Don't skip; 1-Skip) |
skip_angle_refinement | 1 | Skip per-micrograph tilt angle refinement (0-Don't skip; 1-Skip) |