sxrviper - Validated ab initio 3D structure determination, aka Reproducible VIPER
usage in command line
sxrviper.py stack output_directory --ir=inner_radius --ou=outer_radius --rs=ring_step --xr=x_range --yr=y_range --ts=translational_search_step --delta=angular_step --center=center_type --maxit1=max_iter1 --maxit2=max_iter2 --L2threshold=0.1 --CTF --snr=SNR --ref_a=S --sym=c1 --function=user_function --moon_elimination --criterion_name --outlier_index_threshold_method --use_latest_master_directory
- sxrviper.py --outlier_percentile=95 --fl=0.1 --ou=30 --xr=2 --center=0 --n_shc_runs=4 --n_rv_runs=4 --moon_elimination=750,4.84
- sxrviper.py --outlier_percentile=95 --fl=0.1 --ou=30 --xr='4 2 2 1' --ts='1.0 1.0 0.5 0.25' --ts='1.0 1.0 0.5 0.25' --delta='10 6 4 2' --center=0 --n_shc_runs=4 --n_rv_runs=4 --moon_elimination=750,4.84
Notice: xr , ts, delta, and an should have the same number of entries
set of 2-D images in a stack file (format hdf), images have to be squares (nx=ny, nx, ny denotes the image size)
- initial reference volume
- directory name into which the results will be written (if it does not exist, it will be created, if it does exist, the results will be written possibly overwriting previous results)
The parameters preceded with -- are optional and default values are given in parenthesis. Note ir, ou, rs, xr, yr, ts are in pixels while delta, an are in degrees.
inner radius for rotational correlation > 0 (default 1)
outer radius for rotational correlation <int(nx/2)-1 (set to int(nx/2)-2, should be set to the radius of the particle)
steps between rings in rotational correlation >0 (default 1)
-1 - average center method, 0 - if you do not want the average to be centered, 1 - center the average (default=-1. Note: do not use anything but default unless absolutely necessary.)
output_directory: directory name into which the output files will be written. If it does not exist, the directory will be created. If it does exist, the program will continue executing from where it stopped (if it did not already reach the end). The "--use_latest_master_directory" option can be used to choose the most recent directory that starts with "master. The directory structure generated by sxrviper is shown in the figure below. Each "runXXX" directory contains the output of running the VIPER algorithm. It contains the reconstructed volume of stage1, refvolf2.hdf, and parameters into refparams2.txt. After stage 2, the final volume and parameters will be written to volf.hdf and params.txt. Other output files are log.txt and previousmax.txt. Each mainXXX directory contains the output of "n_v_runs" viper runs. The number of mainXXX directories is given by "n_rv_runs".
- This program uses multiple VIPER runs to determine unstable projections, eliminate them and rerun again until all projections are stable. Since the VIPER program is used as a building block all requirements from VIPER must be satisfied. Attributes xform.projection have to be set in the header of each file. If their values are not known, all should be set to zero.
- Determining whether projections are stable is done using one of the following criteria shown in the figures below.
- The first criterion, called "80th percentile" (left image) is satisfied when the 80th percentile is less or equal to 20% of the maximum.
- The second criterion, called "fastest increase in the last quartile" is satisfied when the last quartile has a length greater than 20% of the maximum.
- If finishing criterion is not met after executing 10 VIPER runs, then the program stops.
Example of RVIPER output
In the example below, RVIPER found in the third iteration (main003) a set of 3 reconstructed volumes whose projections show stable angle assignment. The program generates "average_volume.hdf" and "variance_volume.hdf" based on the three reconstructed volumes.
Penczek 1994, "The ribosome at improved resolution: new techniques for merging and orientation refinement in 3D cryo-electron microscopy of biological particles", Ultramicroscopy 53, 251-270.
Author / Maintainer
Horatiu Voicu, Pawel A. Penczek
- category 1
- category 3
- works for author, often works for others.
Did not discover any yet.