sxali_vol - align a 3D structure with respect to a 3D reference structure
Usage in command line:
sxali_vol.py aligned_volume.hdf reference_volume.hdf --ang_scale=3.0 --shift_scale=1.0 --mag_scale=0.01 --r=None
usage in python programming:
ali_vol(aligned_volume, reference_volume, ang_scale=3.0, shift_scale=1.0, radius=None, discrepancy = "ccc")
Both volumes should have 3D transformation preset in respective headers. In particular, they can be set to zero:
- sxheader.py --zero --params=xform.align3d aligned_volume.hdf
- sxheader.py --zero --params=xform.align3d reference_volume.hdf
- 3D structure to be aligned. The header should contain preset transformation xform.ali3d. The preset values will be used as starting orientation of the structure.
- 3D reference structure. The header should contain preset transformation xform.ali3d. The preset values will be used as starting orientation of the structure.
- correct angles are expected to be within +/-ang_scale of the values preset in the header of the structure to be aligned (although the program will search further, if necessary).
- correct shifts are expected to be within +/-shift_scale of the values preset in the header of the structure to be aligned (although the program will search further, if necessary).
- correct magnification is expected to be within +/-mag_scale of the value preset in the header of the structure to be aligned (although the program will search further, if necessary).
- radius of a spherical mask centered at nx/2, ny/2, nz/2 - the discrepancy is computed only for voxels within this mask (default r=nx/2-2).
Note 1 - The program will perform searches only for parameters whose scale values are listed in the command line. For example, to perform search for angles and translations, ang_scale and shift_scale have to be given. To perform search for correct magnification, only mag_scale should be given.
Note 2 - there are no defaults for three scale parameters. At least one has to appear. The program will refine subsets of parameters corresponding to scales given by users.
New values of parameters for which search was performed will be stored in the header of aligned_volume. The transformation is not applied to the volume. To printout the orientation parameters:
- sxheader.py --print --params=xform.align3d aligned_volume.hdf
Note chimera will properly read the transformation and orient the volume in the display accordingly.
In order to apply the transformation, use rot_shift3D.
- The program minimizes Euclidean distance between aligend and reference volumes within spherical
centered region with the radius specified by the user. The program performs local searches using amoeba minimization procedure. It does not guarantee finding globally best orientation, so supplying good initial guess is essential. If no such guess can be provided, it is advisable to start the program using varius initial parameters, particularly the Eulerian angles.
A template file in python (sparx/templates/search_ali3d.py) allows to start with the best initials orientation of 3D structure to be aligned with sxali_vol and to transform the volume directly with the results.
Author / Maintainer
Pawel A. Penczek
- category 1
- category 2
- works for most people, has been tested; test cases/examples available.
None. It is perfect.