Calculating and working with maps
[Keywords for MAPS | Script for MAPS ]
[Peaksearch | Script for Peaksearch | Keywords for Peaksearch]
[MAPtoASYM |Rho | Omit_map | Avg_omit ]
MAPS
This routine reads in data from a dorgbn-style file and calculates
any of the following types of maps:
PATTERSON !Fourier coefficients are F or F**2
ORIGIN_REMOVED PATTERSON !As Patterson, but origin-removed
FOURIER !Fourier coefficients are A+iB
NATFOURIER/ISOFOURIER !Fourier coefficients are mF exp[i Phi]
ANOFOURIER !Fourier coefficients are mF exp[i (Phi + 90)]
2FOFC !Fourier coefficients are (2Fo-Fc) exp[i Phi]
FOFC !Fourier coefficients are (Fo-Fc) exp[i Phi]
Note that:
In all cases a "0.0" or "-1.0" in a column is interpreted as missing data.
DELMAX can be used to cut off the biggest |F| or |DelF|
If NCOLFIGM is specified then the map is weighted by figure of merit
If NCOLPATTSIG is specified then Patterson maps are weighted.
If you specify a PEAKFILE then routine PEAKSEARCH is called automatically.
If you specify a MAPVIEWFILE then FFTTOMAPVIEW is called.
If you specify a BOSSFILE then FFTTOBOSS is called.
PATTERSON Patterson map ORIGIN_REMOVED_PATT Origin-removed Patterson map NCOLPATT**2 Column # in input map for squared Patterson coefficients -or- NCOLPATT column # containing Patterson coefficients NCOLPATTSIG Column # for uncertainty in values of ncolpatt. If you specify ncolpattsig then you will get a weighted patterson or difference patterson. FOURIER Fourier map, reading in A, B coefficients directly NCOLFA column for A NCOLFB column for B NATFOURIER same as isofourier, below ISOFOURIER F exp(iPHIc) map (F = del iso or F, phase = PHI) ANOFOURIER F exp(i[PHIc-90]) map (F = del Ano, phase = PHI - pi/2) NCOLF column for F or Del F NCOLPHI column for PHI (in degrees) NFIGM column for figure of merit if you want a weighted map Note: if you set NFIGM for routine HEAVY it will be applied here too. Be sure you reset it to the value you want. FOFC Fo-Fc exp(i PHIc) map 2FOFC 2Fo-Fc exp(i PHIc) map NCOLFOBS column for Fo NCOLFC column for Fc NCOLPHI column for PHI (in degrees) DELMAX maximum |F| or |del F| to include . If zero-use all data. DEFAULT=0 INFILE xxx name of input DORGBN file with data FOURCOFILE xxx name of optional output DORGBN file with A,B coefficients (this can be used as input to another program for calculation of maps, if desired, by converting it with EXPORT) FFTFILE xxx name of output file with FFT in UCLA format PEAKFILE xxx name of optional file with nlist high and low peaks (program finds peaks if this file is defined) BOSSFILE xxx name of optional file with FFT in BOSS format (program writes bossfile if it is defined, see FFTTOBOSS) MAPVIEWFILE xxx name of optional file with FFT in MAPVIEW format (program writes MAPVIEW file if it is defined, see FFTTOMAPVIEW) NLIST n number of high and low peaks to list to peakfile ISYMMETRY n number of symmetry equivalents for each peak to list (put a big number to get all within all adjacent unit cells) PDB list peaks in PDB format FRACT list peaks in fractional format
Script using MAPS to generate a difference Patterson function:
!------------Script to calculate a difference Patterson --------------- @solve.setup ! standard information for this dataset ! wtder.drg contains Fnat,sig,Fder,sig: INFILE wtder.drg ! input datafile with Fnat,sig, Fder, sig OUTFILE iso.drg ! intermediate file with Fder-Fnat NNATF 1 ! column for native F NNATS 2 ! column for sigma of native F NDERF 3 ! column for derivative F NDERS 4 ! column for sigma of derivative F GETISO ! get isomorphous differences INFILE iso.drg ! now read in those isomorphous diffs again NCOLPATT 1 ! use column 1 as del F for a patterson PATTERSON ! map type is patterson FFTFILE ha.patt ! output fft goes to ha.patt MAPS ! calculate the map [HASSP] ! analyze the patterson with HASSP, if desired !-------------------------------------------------------------------------
PEAKSEARCH is a routine that finds high and low points in a Fourier map. It is not applicable to Patterson maps (use HASSP for that purpose). It assumes that the FFT has been calculated over the entire asymmetric unit and uses the symmetry file to map neighboring grid points on to the asymmetric unit. It reports the highest peaks in the map, with the height being the highest value of the FFT on a grid point and the coordinates being the centroid of the peak.
The routine can read in an FFT written by MAPS or it can be called at the end of routine MAPS. Note that it cannot read BOSS format data.
The routine will write out NPEAK highest and NPEAK lowest peaks to the output file. The "B-factor" in the PDB format file is the peak height/1000. The final column in the fractional-format file is the peak height/1000.
!-----------Script file to run peaksearch on a fourier----------------------- @solve.setup ! standard information for this dataset fftfile ha.fft ! input map name peakfile ha.peaks ! write list of peaks to "ha.peaks" peaksearch !----------------------------------------------------------------------------
FFTFILE xxx name of fft-containing file NLIST n number of peaks (high, same # of low) to list ISYMMETRY n # of symmetry equivalents to list for each peak -1 for all within FFTTOBOSS region, 0 for all within FFT region. 1= default= just 1 for each peak PEAKFILE xx name of output file PDB write peaks in PDB format FRACT write peaks in fractional format POSITIVEONLY only list positive peaks NEGATIVEONLY only list negative peaks
MAPTOOBJECT
Routines MAPTOASYM and MAPTOOBJECT map the atoms in a PDB file, one by one, using crystallographic symmetry. MAPTOASYM maps atoms into the asymmetric unit of the space group, as defined by the symmetry file and the (FFTGRID) grid specified for FFT calculations, assumed to contain the asymmetric unit. MAPTOOBJECT maps atoms to their symmetry equivalents closest to an atom in a second PDB ("object") file.
Sample script files for MAPTOASYM and MAPTOOBJECT
!--------Script file to map atoms in a PDB file to the asymmetric unit ---- infile(1) atoms.pdb ! input file with coordinates to be mapped outfile atoms.mapped ! atoms mapped to asymmetric unit maptoasym ! map them to asymmetric unit !-------------------------------------------------------------------------- !---Script file to map atoms in a PDB file close to atoms in another file ---- infile(1) atoms.pdb ! input file with coordinates to be mapped infile(2) object.pdb ! pdb file with object that we want to be close to outfile atoms.mapped ! atoms mapped close to object dismin 0.0 ! Only atoms with a closest distance to an atom dismax 1000.0 ! in object between dismin and dismax will be ! written out. Default= 0 to 1000000. maptoobject ! map them as close to the object as possible !--------------------------------------------------------------------------
RHO is a routine to write out the values of a map at the coordinates of atoms in a PDB file. The values of the map at the grid point nearest the input coordinates are listed, coordinate-by-coordinate. This routine is very useful for evaluating how good the fit of a model to a map is.
Sample script file for RHO
!--------Script file to write out values of a map at coords in a PDB file ---- @solve.setup ! standard setup for this dataset infile(1) atoms.pdb ! input file with coordinates to be examined fftfile fourier.fft ! map file rho ! interpolate value of fft at all coords in model !--------------------------------------------------------------------------
OMIT_MAP is a routine to calculate a set of overlapping omit maps and then to average them together using AVG_OMIT. The routine requires a .PDB file with coordinates and a .DRG data file with Fobs values. A set of omit maps in which 7 residues at a time are deleted, overlapping by 2 (1-7, 6-11, etc) is calculated, and the atoms used to calculate each map are written out in a set of pdb files as well. Then AVG_OMIT is called to average the parts of the maps that are in the regions not occupied by atoms used in the phase calculations. If you are doing simulated annealing-omit maps, then you need to use routine "AVG_OMIT" instead.
Sample script file for OMIT_MAP
!--------Script file to calculate overlapping omit maps ------------------ @solve.setup ! standard setup for this dataset INFILE(1) atoms.pdb ! Name of PDB file with coordinates INFILE(2) data.drg ! Name of .DRG data file NNATF 1 ! Column number for F in data file NNATS 2 ! Column number for sigma of F in data file RATMIN 2.0 ! Minimum ratio of F/sigma to use (default=0.) OUTFILE avg.fft ! File name for file with output averaged FFT map XCUT 2.0 ! Density within XCUT of an atom is not used ! default=2.0 (Angstroms) OMIT_MAP !--------------------------------------------------------------------------
AVG_OMIT is a routine to average key parts of a set of omit maps. For each map, only the region of the map that is further than DCUT from all atoms in a PDB file is used in the averaging. Omit maps or simulated annealing-omit maps can be used here.
The basic idea is that an omit map contains useful information only for parts of the map that are not occupied by the atoms used to phase that map.
To use this routine, calculate a series of omit maps for your structure that sequentially leave out residues 1-5, 4-9, 8-12, etc... (or whatever is a good size to leave out). Then you read in each omit map and the coordinates of atoms left in for that calculation. If you are using just one PDB file, then use the routine "OMIT_MAP" which will do everything for you. If you are doing a bunch of simulated annealing-omit maps, this is the routine to use.
NOTE: any points in the map that are not more than XCUT away from all atoms in at least 1 map will get a value of 0.0. This can lead to planes and other small regions in the map being zeroed out if all omit maps contain atoms near them. This is a problem in cases where two atoms distant in sequence are close together so that one or the other is always there in your omit maps. The solution is to construct a location-based omit map to delete all the atoms in that region.
Sample script file to run AVG_OMIT
!-------Script file to average overlapping omit maps ------------------------ @solve.setup ! standard setup information ! next call avg_omit. Inputs are: ! 1. XCUT ! 2. NMAPS ! 3a. file with coordinates of all atoms used to ! calculate map 1 ! 3b. name of fft file with map 1 ! 4a. as 3a, but coordinates for map 2 ! 4b. as 3b, but map 2 ! output map file avg_omit ! call avg_omit. It reads from standard input 2.0, ! XCUT = region around atoms to be excluded 2, ! # of maps to average pdbfile1.pdb mapfile1.fft pdbfile2.pdb mapfile2.fft average.fft ! Now average.fft has in it the averaged parts of each input map that are not ! near an atom in the corresponging pdb file !----------------------------------------------------------------------------