Summary of Changes to PFT2/EM3DR2


PFT2/EM3DR2 changes as compared to PFT/EM3DR programs developed by T. Baker lab.


1) A new front end was written in C to be able to use
-command line arguments
-the generalized parameter format from the Bsoft package (the STAR format)
-the wide range of image formats supported by Bsoft

2) As originally implemented, PFT only used amplitude information in the Fourier transforms to select the "best" view.  Users can now elect to have the program test multiple candidate orientations for each particle with phase and amplitude information.

3) Multiple references can be used during a single PFT2 run.

4) The FORTRAN code was modified to be more portable, with the removal of all POINTER, RECORD, COMMON, STRUCTURE, MALLOC and FREE keywords.  Memory allocation is now done through C wrapper functions.

5) Numerous changes were made to remove unused variables and fix small bugs, although the overall philosophy and execution of the data processing was not changed significantly.

6) New modes of operation were added:  origin, brute, theta, phi, omega, mag, hand, and symmetry modes.

7) Some provisions for use of multiple processors on specific architectures (primarily Apple and Intel processors).

8) PFT2 and EM3DR2 accept as input orientation parameters either i) Euler angles, as either {phi, theta, psi} or {phi, theta, omega}, or ii) View vector and angle.  (See the PFT3DR conventions and 3DEM Image Conventions websites for more information.)



Other PFT2/EM3DR2 Changes


==============
 PFT2 Changes
==============

1) Long option names replaced single letter options

Old  New
===================
a    select
c    ctf
f    fom
g    allccs
h    handedness
m    mode
n    phaseampl
o    output
p    outprjpft
s    split
t    time
v    verbose

2) All parameters except particle parameters can be entered on the command line.  This includes (option name in parentheses) binning (bin), symmetry (symmetry), angle step size (anglestep), radii (radii), resolution (resolution), 3D input model (map), projections and PFTs file names (inprjpft), jcut (jcut), and relative magnification (mag)  There is no longer a need to prepare a separate data block of these general parameters.  However, for backwards compatibility, the program will still take input from such a file or included data block.

3) Brute mode:  This mode searches every possible THETA and PHI angle and each possible OMEGA angle within each THETA and PHI.  An x,y origin is determined for each (PHI,THETA,OMEGA) view,  Each view is then tested via the chosen figure-of-merit (FOM).  Only FOM options 0, 3, 12, and 20 can be used.

4) Option "nopftresmin" can be used to turn off use of low-resolution cut-off for PFTCC test (done in modes 1-3).

5) Resolution limits now are used for the PRJCC test in modes 1-3.  Option "noprjccres" will turn this test off.

6) Renamed "search" mode in PFT2 to "sphere_search".  This change should help users realize that this mode is only good for spherically shaped particles.

7) Changed the printing of the general parameters in PFT2.  Names were changed to be more "user-friendly" and the format and comments were changed.  I added some formulas to help users understand, for example, how the different resolution parameters are calculated.

8) Added back the calculation of the averages of mags, and coefficients at end of a run.  Added explanation of the FOM chosen.

9) Screen mode output in ORIGIN mode is now similar to that in GLOBAL, SPHERE_SEARCH, and REFINE.

10) Fixed a bug that appeared when multiple maps were used.  Instead of resetting the data to the input parameters (theta,phi,omega,x,y) for the second, third, etc. map, pft2 used the values from the previous run.  Now values of particle parameters from the input STAR file are always used as input when multiple maps are used.

11) Fixed a bug that prevented REFINE mode from ending if the asymmetric unit included THETA = 180 deg. (e.g. cyclic symmetries).

12) Fixed a bug in which some origins for bin factors > 1 were not correct.  Images binned in PFT are compressed in a way that keeps the center pixel of the unbinned image also in the center of the binned image.  In addition, binned images are always made to have an odd size.  The problem was that the binning of the origin did not take into account these two facts.  Origins were always measured from the 0,0 point (first pixel) of the image.

13) Step size for OMEGA is now equivalent to the step size for THETA and PHI.

14) FOM options were expanded.

15) User now must specify an FOM option that requires R-factors for them to be computed if the allccs option is chosen.

16) Old STAR tag names for radial parameters are changed to current names

17) Optimized code for the PRJCC, map projection, and image interpolation routines was implemented.  This code will run fastest on the PPC and Intel platforms.  However, a significant speed-up should be noticed on other platforms as well.

18) Theta,phi angles were not computed properly in refine mode for cyclic symmetries (and probably other non-icosahedral symmetries as well).  This problem was fixed.

19) User may keep previous selection values (option "-keepselection")

20) Added octahedral and tetrahedral symmetries

21) User may skip origin refinement in modes 1, 2, 3, and 5, sphere_search, global, refine, and brute, respectively.



================
 EM3DR2 Changes
================

1) Explanation of how to use EM3DR2 to compute multiple maps from a data set is now in the usage statement

2) 1/2 of map for icosahedral symmetry is now computed.  Previously only 1/4 was  Output of 5-fold icosahedral map now gives a full-size map, not 1/4.

3) Long option names replaced single letter options

Old  New
===================
5    fivefold
b    bgfile
c    ctf
l    lgfile
m    mode
n    numrecons
o    output
t    minpart
v    verbose

4) All parameters except particle parameters can be entered on the command line.  This includes (option name in parentheses) binning (bin), symmetry (symmetry), high resolution cut-off (resmax), output resolution (resout), and relative magnification (mag).  There is no longer a need to prepare a separate data block of these general parameters.  However, for backwards compatibility, the program will still take input from such a file or included data block.

5) Old STAR tag name (_em3dr.output_resolution) is changed to current name (_em3dr.resolution_output)

6) User can output 3D map in any image datatype supported by Bsoft (byte, short, float, etc.)

7) Compute multiple maps from selected particles



=================================================================================
 "Internal" PFT2 & EM3DR2 Changes (changes that will not be readily apparent to the user)
=================================================================================

1) Cleaned up the PFTRAD_LO,PFTRAD_HI,ANN_LO,ANN_HI "relationship".  No longer are the PFTRAD variables changed to ANN_LO,ANN_HI and then changed to 1 and max. radius.

2) To avoid the long list of parameters that are passed to and from the FORTRAN functions in PFT2, many general parameters were put into arrays.  The individual values are then called from or put into the arrays with a get and put function, respectively.

3) Reorganized pft_setup and PFT_CHECK routines.

4) PFTCC calculation revamped
   -calculate Jn limits once (for each pixel size)
   -some changes after the loops to avoid recalculations
   -round to nearest integer instead of up for resmin and down for resmax

5) Removed +1 indexing of radii in PFTCC and PRJCC calculations.  The conversion to polar coordinates is put into an array that begins with PFTRAD_LO which equals 1.  Therefore, the first radius is R = 1, not R = 0 (see GET_PRJSPFTS) and if a person select the max. radius, that radius would be run through PFTCC twice (since the index is set to the min of IR+1 or NANNULI).

6) Removed static allocation of 2D and 3D arrays.




Back to main PFT2/EM3DR2 page


31 Oct 2007