PEKPIK : Search map for peaks

Authors: Syd Hall and Ruth Doherty

Contact: Syd Hall, Crystallography Centre, University of Western Australia, Nedlands 6907, Australia

PEKPIK searches a Fourier map for a unique asymmetric set of the maxima of the density which is printed and/or written to a file.

Algorithm

The peak search algorithm involves a layer by layer search of the map. In the discussion which follows, reference is made to the form of the Fourier map as it would be output by the program FOURR. The first summation direction produces layers, referred to as pages. The second summation direction produces lines down the page, while the third summation direction produces the lines across the page (see FOURR ). The (x,y) referred to here are not necessarily the crystallographic x,y. As each layer is searched, the value of the function at every grid point is compared to each adjacent grid point within the layer. When the value of the function at a particular grid point, e.g. (x,y), is found to be larger than at any of the grid points surrounding it, an interpolation may be done to determine the exact coordinates of the maximum within the layer and the maximum value of the function within the layer. If (x,y) lies at a corner of the layer (i.e. the first or last grid point on the first or last line of the layer) no interpolation is done and the maximum is taken to be on the grid point. If (x,y) is a point on the first or last line, but not at a corner, a one-dimensional interpolation is done in the third sum direction (across the page). If (x,y) is the first or last point on any line but the first or last line, a one-dimensional interpolation is done in the second sum direction (down the page). For any other point, a two-dimensional interpolation is done.

After a layer has been completely searched, the peaks from that layer are saved temporarily in the layer-to-layer storage table. As the next layer is being searched, each new peak is compared to those from the previous layer. If two peaks are within the resolution and if the peak is larger in the current layer, both the old and the new coordinates are saved. When a peak has been found in three successive layers, with the density going through a maximum in the second layer, an interpolation is done in the first sum direction (page to page) to find the most exact coordinates and density for the peak. No interpolation can be done in the first sum direction for peaks which occur within half a grid point of the first or last layer or which are not above the cutoff in three successive layers.

Before a peak is saved in the permanent list, a check is made to determine whether or not it is symmetrically related to any of the peaks which have already been saved. This insures that the final list will contain a unique set of peaks. If the map is a Patterson map, the Laue symmetry, rather than the space group symmetry, is used.

If a new peak is found to be symmetrically related to a peak which has already been saved, only one of the two will be saved. The more reliable of the two peaks will be saved. The reliability of a peak depends on its position in the map. The most reliable peaks are those at interior points of the map. Their high reliability is a result of the three-dimensional interpolation. Less reliable are peaks on a face of the map (two-dimensional interpolation), followed by peaks on an edge (one-dimensional interpolation). The least reliable peaks are those at corners of the map. For these, no interpolation can be done.

After the map has been searched completely, the coordinates of any atoms that may be present in the bdf are compared with the coordinates of all the peaks which have been saved. A list of the atoms which do not coincide with any peaks is produced. Finally, the highest peaks are listed in order of decreasing density. Each peak is labeled with either the name of the atom which occupies the same position or, if it coincides with no atom, a sequence number. The peaks are listed and, optionally, output in atom line images on the file pekand the punch file. The number of highest peaks listed may be specified by the user. If a peak has been identified with an atom name, that name will appear in the first field of the atom line. Otherwise, the the atom name will be C followed by the sequence number assigned to the peak.

The program may also be used to search for holes. When this option is chosen the map is read in with every point being changed from plus to minus. This means that the peaks listed at the end of the run are actually holes in the entering map. It is necessary to do two separate runs to find both peaks and holes in a map.

The three fields on the plimit line are as follows:

  1. Minimum point density used in peak search: Reasonable default values are assumed according to the map type. This cutoff is checked after the first layer. If more than one third of all grid points in the first layer have density values exceeding the cutoff, the cutoff is incremented by one quarter of the average density in that layer. The adjusted value is printed.

  2. Resolution (in Angstroms): This value sets the separation of the maxima in the map which will establish two discrete peaks. This parameter should be set to no less than \(\lambda \) /(2sin \(\theta \) \(_{max}  \) ). For example, if all the reflections within the copper sphere of reflection were measured, the resolution might be set to 0.75 Angstroms.

  3. Total number of unique peaks to be saved, sorted, and listed: The coordinates and value of the function at the maximum will be stored on file pekin order of decreasing peak density. If the number of peaks specified is too large for the available memory, the number of peaks will be adjusted to accomodate as many peaks as possible for the memory available. The default value for this parameter is twice the number of non-hydrogen atoms in the asymmetric unit.

File Assignments

  • Reads symmetry and atom data from input archive bdf

  • Reads map density from specified bdf (default is map)

  • Writes sorted peak sites to bdf pek

  • Optionally, writes peak sites to line file pch

Examples

PEKPIK       
plimit *3 20

This is a typical run to analyze the first attempt at extracting an image of the molecule from an electron density map. The number of top peaks to be listed has been set somewhat higher than the number of non-hydrogen atoms in salicylic acid in order to allow for spurious peaks. The cutoff to be used in the search for peaks will be the value set in FOURR for the upper limit of print suppression.

PEKPIK bdf sla

Peaks here will be extracted from a Fourier map output from SLANT .