Differences between revisions 12 and 13
Revision 12 as of 2012-11-19 23:25:24
Size: 7135
Editor: JiaFang
Comment:
Revision 13 as of 2012-11-29 17:43:57
Size: 8322
Editor: JiaFang
Comment:
Deletions are marked like this. Additions are marked like this.
Line 79: Line 79:
  vol_ali:: If this flag is set, then alignment of 3D reconstructions of segments belonging to the same filament will be performed.   diskali:: If this flag is set, then alignment of 3D reconstructions of segments belonging to the same filament will be performed.
Line 82: Line 82:
  apix:: pixel size   apix:: pixel size in Angstroms.
Line 87: Line 87:
  predict_helical:: name of file under which to save predicted projection orientation parameters. When predict_helical is specified, the program will generate projection parameters consistent with helical symmetry.

== Description ==

* The input image stack is assumed to be a stack of overlapping segments windowed from boxed 2D projections of helices. The program [http://blake.bcm.edu/emanwiki/EMAN2/Programs/e2helixboxer e2helixboxer] can be used to box the 2D projections of helices, and subsequently extract overlapping segments from the boxed regions.
* For the program to work, the attribute 'ptcl_source_coord' denoting coordinates of the center of the image must be set in the header of each image in the input stack. This attribute is set automatically if the input stack was obtained using [http://blake.bcm.edu/emanwiki/EMAN2/Programs/e2helixboxer e2helixboxer].
* The attribute 'filament' (an identifier denoting the 2D projection of a helix the input image was extracted or windowed from) must also be set in each image in the input stack such that images extracted from the same 2D projection of a helix should have the same 'filament' attribute.

Geometrically Consistent IHRSR

The below describes the sequence of steps for carrying out helical refinement based on geometrical considerations arising from helical symmetry.

1. Predict projection parameters based on geometrical consistency using helical symmetry parameters rise and azimuthal rotation.

  • Command

  • sxihrsr.py bdb:big_stack --predict_helical='predictedparams_bigstack7.txt' --dp=27.6 --dphi=166.5 --apix=1.84

2. Perform alignment of filament-based reconstructions and x-shift determination.

  • i. Make a directory where the output directories will go, and make a sub-directory shift0 in this directory.
  • ii. Copy the starting structure (may simply be a noisy cylinder) into shift0.
  • iii. Initialize projection parameters of the input stack to the predicted helical parameters.
  • iv. Run alignment of filament-based 3D reconstructions alternated with x-shift determination. Each iteration consists of an alignment step followed by x-shift determination step., and the output of the alignment step serves as the starting structure for the x-shift determination step, and the output of the x-shift determination step serves as the starting structure of the alignment step of the next iteration. The output of each iteration is the output volume of the x-shift determination step. BRBR

    • Alignment of filament-based reconstructions is activated by the --vol_ali flag in sxihrsr:BRBR

      mpirun -np 56 -hostfile nodelist -wdir pwd sxihrsr.py bdb:some_stack starting_model.hdf output_directory mask.hdf --vol_ali --function=[.,helical_userfuncs,helical_act] --dp=27.6 --dphi=166.5 --apix=1.84 --rmin=0 --rmax=128.8 --fract=0.66 --maxit=1 --MPI --CTF --sym=c1BRBR

      Determination of x-shift is activated by --searchxshift flag in sxihrsr: BRBR

      mpirun -np 56 -hostfile nodelist -wdir pwd sxihrsr.py bdb:some_stack starting_model.hdf output_directory mask.hdf --maxit=1 --dp=27.6 --dphi=166.5 --apix=1.84 --rmin=0 --rmax=128.8 --fract=0.66 --searchxshift=36.8 --MPI --function=[.,helical_userfuncs,helical_act_elmar_mask] --npad=2 --CTF --sym=c1

Below is an example script carrying out the steps described above:

set echo on

# Predict parameters
sxihrsr.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --predict_helical='predictedparams_bigstack7.txt' --dp=27.6 --dphi=166.5 --apix=1.84

COUNTER0=0
COUNTER1=1

MAXIT=1

mkdir  RTR2
mkdir  RTR2/shift0

sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=active --one
cp consavg3.hdf RTR2/shift0/volfshift.hdf
sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=xform.projection --import='predictedparams_bigstack7.txt'

while [  $COUNTER0 -lt 10 ]; do
        mpirun -np 56 -hostfile nodelist -wdir `pwd` sxihrsr.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 RTR2/shift$COUNTER0/volfshift.hdf  RTR2/rotation$COUNTER1 cyl70mask.hdf --vol_ali --function="[.,helical_userfuncs,helical_act_elmar_mask]" --dp=27.6 --dphi=166.5 --apix=1.84 --rmin=0 --rmax=128.8 --fract=0.66 --maxit=$MAXIT --MPI --CTF --sym=c1 || exit
        sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=xform.projection --export=RTR2/rotation$COUNTER1/params_disks$COUNTER1.txt

        mpirun -np 56 -hostfile nodelist -wdir `pwd` sxihrsr.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 RTR2/rotation$COUNTER1/fvheli.hdf RTR2/shift$COUNTER1 cyl70mask.hdf --maxit=1 --dp=27.6 --dphi=166.5 --apix=1.84  --rmin=0 --rmax=128.8  --fract=0.66 --searchxshift=36.8 --MPI --function="[.,helical_userfuncs,helical_act_elmar_mask]" --npad=2 --CTF --sym=c1 || exit
        sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=xform.projection --export=RTR2/shift$COUNTER1/params_shifts$COUNTER1.txt

        let COUNTER1=COUNTER1+1
        let COUNTER0=COUNTER0+1
done

3. Perform local helical refinement with and without out-plane-tilt using as starting structure the output volume of the last iteration of alignment/x-shift determination.

set echo on

rm -rf fine_bigstack7
sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=xform.projection  --import=RTR2/shift10/params_shifts10.txt
mpirun -np 56 -hostfile nodelist -wdir `pwd` sxihrsr.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 RTR2/shift10/volfshift.hdf fine_bigstack7 cyl70mask.hdf --function="[.,helical_userfuncs,helical_act_elmar_mask]" --ou=165.6 --xr="3.68 3.68 1.84" --y_restrict="1.84 1.84 1.84" --txs="1.84 1.84 1.84" --ynumber="80 80 80" --delta="1 1 1" --an="12.5 12.5 12.5" --psi_max=7 --initial_theta=90.0 --delta_theta=1.0 --maxit=3 --snr=1.0 --MPI --nise=200 --ndp=12 --dp_step=0.1 --ndphi=12 --dphi_step=0.1 --apix=1.84 --dp=27.6 --dphi=166.5 --rmin=0 --rmax=128.8 --fract=0.67 --datasym=symdoc.dat  --npad=2 --sym=c1 --CTF --WRAP=0
sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=xform.projection  --export=fine_bigstack7/paramsout.txt

# do local refinement with out of plane tilt
sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 --params=xform.projection  --import=fine_bigstack7/paramsout.txt
mpirun -np 56 -hostfile nodelist -wdir `pwd` sxihrsr.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7 fine_bigstack7/volf0009.hdf fine2_bigstack7 cyl70mask.hdf --function="[.,helical_userfuncs,helical_act_elmar_mask]"  --ou=165.6 --xr="3.68" --txs="1.84" --y_restrict=1.84 --ynumber="80" --delta="1" --an="12.5" --psi_max=7 --initial_theta=85.0 --delta_theta=1 --maxit=5 --snr=1.0 --MPI --nise=200 --ndp=12 --dp_step=0.1 --ndphi=12 --dphi_step=0.1 --apix=1.84 --dp=27.6 --dphi=166.5 --rmin=0 --rmax=128.8 --fract=0.67 --datasym=symdoc.dat  --npad=2 --sym=c1 --CTF --WRAP=0
sxheader.py bdb:/exports/home/pawel/elmar_small2_repeat/rerun/big_stack7  --params=xform.projection  --export=fine2_bigstack7/paramsout.txt

Input arguments to sxihrsr for geometrically consistent IHRSR

searchxshift
+/- searchxshift is the translational search range along x direction in Angstroms. When searchxshift is specified, x-shift determination will be performed.
diskali
If this flag is set, then alignment of 3D reconstructions of segments belonging to the same filament will be performed.
dp
axial rise in Angstroms.
dphi
azimuthal rotation per subunit in degrees
apix
pixel size in Angstroms. fract::fraction of the volume used for helical search (reasonable number is 0.67)
rmin

minimal radius for the helical symmetry search (in Angstroms) and for imposing helical symmetry. The volume will be set to zero outside of the hollow cylinder rmin<r<rmax.

rmax

maximal radius for the helical symmetry search (in Angstroms) and for imposing helical symmetry. The volume will be set to zero outside of the hollow cylinder rmin<r<rmax.

maxit
maximum number of iterations the program will perform (default is 10)
predict_helical
name of file under which to save predicted projection orientation parameters. When predict_helical is specified, the program will generate projection parameters consistent with helical symmetry.

Description

* The input image stack is assumed to be a stack of overlapping segments windowed from boxed 2D projections of helices. The program [http://blake.bcm.edu/emanwiki/EMAN2/Programs/e2helixboxer e2helixboxer] can be used to box the 2D projections of helices, and subsequently extract overlapping segments from the boxed regions. * For the program to work, the attribute 'ptcl_source_coord' denoting coordinates of the center of the image must be set in the header of each image in the input stack. This attribute is set automatically if the input stack was obtained using [http://blake.bcm.edu/emanwiki/EMAN2/Programs/e2helixboxer e2helixboxer]. * The attribute 'filament' (an identifier denoting the 2D projection of a helix the input image was extracted or windowed from) must also be set in each image in the input stack such that images extracted from the same 2D projection of a helix should have the same 'filament' attribute.

sxheliconlocal (last edited 2018-01-09 22:26:16 by penczek)