xfft - calculate an electron density map or a Patterson function map by the Fast Fourier Transform method.

xfft phasefile mapfile

CrystalA crystal file is needed with the cell and symm records present. Note that symm records should have centering expanded explicitly. (i.e., C2 should have 8 symm operators not 4 with the last 4 1/2+x,1/2+y,z of the first 4.)UnitCellThis is obtained from the crystal file. However, it can be overwritten by manually entering a value. But there is no way to overwrite the symmetry operators.DefaultsA defaults file (hardwired as xfft.defaults) can be saved or loaded. Also, defaults can be reset to startup values. This is handy when you recalculate maps often with the same parameters. Note that you can save a defaults file and then copy it to a new name and then copy it back at a later date. In this way several standard methods can be saved.DirectionofPlanesThe output can be in x, y, or z planes. This is only necessary for possible use of the output map by non- XtalView programs as all XtalView programs can read all 3 sort orders.MapTypeThere are several choices of map coefficients avail- able.InputFileThis file can have several different formats. For Fourier maps either the phs format (h,k,l,fo,fc,phi) or XPLOR format can be used. For Pattersons these can be used plus fin and df formats.TypeSpecifies the type of input file. For Pattersons with df formats there are three choices for defining the difference to be used in computing the Patterson coef- ficients. Which you use depends upon what is in each of the 4 columns in the df file. Normally, columns 1 and 2 are native data and its sigma's, and columns 3 and 4 are isomorphous data (a column is a pair of f and sigma(f)). To make an isomorphous difference Patterson map use (3+4) - (1+2) which means the average of 1 and 2 minus the average of 3 and 4 or FPH - FP. Note that when calculating the average missing observations are not included.ResolutionFilterSet these values to your desired limits. Order is unimportant since computers are perfectly capable of figuring out which number is the min and which is the max (the other one).OutlierFilterThis gets rid of outliers when making Patterson maps. Specifically if the absolute value of the difference is greater than x percent of the average of the two observations, the reflection is rejected. This is important when making Patterson maps so that a few bad apples don't spoil the whole bunch. A value of 100 percent is a conservative value to use. Note: On numeric fields you must enter return if you edit the data with the keyboard to register the edit.ReadPhaseFileThis button reads in the data. It is usually not necessary to use it since the calculate button (below) can figure out if the data needs to be read in. How- ever, sometimes you may want to find out the grid before calculating the map, or you may have changed the input data file and want to force a rereading of the input data. In any case, after reading the data some useful information is printed in the message window for you to edit. Also, if you change any of the data above this button after calculating a map, you must use this button to have that change take effect.GridNumberinX,Y,ZThis is the number of points in x, y and z to be used in calculating the FFT. The FFT method used requires these to be multiples of 2,3,5 and 7 and nx to be even. The program restricts you to these values if you use the little arrows by the grid values to increase or decrease them. Usually you do not need to set nx, ny and nz directly as explained below.ORPercentageofminimumresolutionThis sets the grid to the next largest value that will give a grid spacing that is equal to the minimum d- spacing or resolution times the percentage. For exam- ple: if the input data had a minimum d-spacing of 2.0 and 50% is chosen, the grid will be set as close to 1.0 Angstroms as possible. If the cell edge was say 48.3 A, then 48.3 is tried, but since this is not an integer it is rounded up to 49. An FFT requires that the grid be at least 50% of the minimum d-spacing (actually it is has to be twice the maximum index input but it works out to the same thing as the reader can verify). The map will be smoother if 33% (the default) is used. More than this usually has little benefit in smoothing the map and requires much more storage since the size of the map goes up as the cube of the grid size. Set this field to zero to prevent overriding the nx, ny, nz fields.ORapproximatespacinginAngstromsIf both nx, ny, nz and percent of minimum resolution are 0 then this field is used to set nx, ny, nz by finding the nx, ny, nz that gives the closest grid- spacing in Angstroms that is also a valid FFT grid. For example if you have a 77.77 E cell edge and ask for a 1.0 Angstrom grid then 78 is tried, but since this is not a multiple of 2,3,5, or 7, 80 is used.OutputMapFileThe XtalView convention is to use the extension .map. This file is in FSFOUR binary FORTRAN format.CalculateThis is the "Apply" button. When it is pressed the FFT is calculated and the map output. If the FFT is large then it may take several minutes to return. The pro- gram tries to ascertain if the data needs to be reread if you change various values. It usually decides to reread even when it is strictly unnecessary.

If you want a coefficients type that is not available, you can always precalculate them and put them in the Fo column and then make an Fo map. Example: to make a 3Fo-2Fc map using awk and xfft:

In XtalView, a dash (-) means use stdin for input files or stdout for output files. At other times, a binary file with the phases is used. For example, to use a Furey format phasit output file (fort.31) using dumpphasit which writes its output on stdout: dumpphasit fort.31 | xfft - output.map Unfortunately, if you use stdin or stdout for I/O then the history file will know only that stdin was used but has no way of picking up the original file used and so the thread of data files will be broken at this point.

The FFT code was supplied by Lynn Ten Eyck. Andy Arvai is partly responsible for the FFT driver routine.

Release 3.0 of XtalView

xtalview(1),dumpphasit(1)