Content:


Introduction

A tool diff_fourier.sh will be described that calculates different types of difference Fourier maps. We will not be dealing here with the normal difference ("Fo-Fc") or "2Fo-Fc" map that is used in model refinement and building, but rather with maps that use differences between measured amplitudes.


Running the tool

As long as the diff_fourier.sh (file not found) script has been placed somewhere into the users PATH, running

% diff_fourier.sh -h

should bring up a help message.

Upon successful running, the script will create several output files - the prefix of which can be set with the -o flag.

Other potentially useful flags (for full details see output of -h):

  • -keepmap: to keep the calculated map file (CCP4 format, which can be loaded into Coot directly)
  • -r <resl> <resh>: to set resolution limits (eg. restricting to only data with anomalous signal)
  • -negative: to also look for negative peaks (but then the -pdb option has no effect)

Anomalous difference Fourier map

Running

% diff_fourier.sh -m truncate.mtz -p refine.mtz -P PH2FOFCWT FOM -o AnoFourier

will

  • use anomalous differences in file truncate.mtz (default: first D/Q column pair - e.g. DANO/SIGDANO)
  • use phases PH2FOFCWT and weight FOM from file refine.mtz
  • calculate an anomalous Fourier map and produce output files with the prefix "AnoFourier"

If a PDB file (consistent with the phases) is also given with

% diff_fourier.sh -m truncate.mtz -p refine.mtz -P PH2FOFCWT FOM -o AnoFourier -pdb refine.pdb

then

  • the found peaks will be placed close to the PDB model
  • the found peaks will be compared to atoms present in the PDB file

An example output looks like this:

============================================================================ 

 mtz ......................................... truncate.mtz
 F ........................................... F
 SIGF ........................................ SIGF
 DANO ........................................ DANO
 SANO ........................................ SIGDANO

 pmtz ........................................ refine.mtz
 PHI ......................................... PH2FOFCWT
 FOM ......................................... FOM

 pdb ......................................... refine.pdb

... 
   7 peaks above 20 sigma
   9 peaks above 15 sigma
  11 peaks above 10 sigma
  11 peaks above  8 sigma
  12 peaks above  6 sigma
  12 peaks above  5 sigma
  37 peaks above  4 sigma

-rw-r--r-- 1 vonrhein vonrhein  2132 Oct 10 15:29 AnoFourier.ANO.compare
-rw-r--r-- 1 vonrhein vonrhein 13940 Oct 10 15:29 AnoFourier.ANO.hatom
-rw-r--r-- 1 vonrhein vonrhein 24715 Oct 10 15:29 AnoFourier.ANO.pdb

AnoFourier.ANO.compare:

Peak         Closest atom in refine.pdb
[rms]                                             Distance (<= 1.0 )
-------------------------------------------------------------------------
 31.23  <=>  SE   MSE F   7  (  0.84 40.87)  :       0.07
 30.91  <=>  SE   MSE A   7  (  0.84 45.76)  :       0.04
 30.22  <=>  SE   MSE A 126  (  0.66 45.08)  :       0.08
 29.08  <=>  SE   MSE F 126  (  0.66 40.55)  :       0.13
 23.72  <=>  SE   MSE F 137  (  0.73 42.17)  :       0.06
 22.10  <=>  SE   MSE A 137  (  0.73 45.81)  :       0.13
 21.10  <=>  SE   MSE F 293  (  0.88 70.46)  :       0.27
 18.64  <=>  SE   MSE F 139  (  0.58 47.16)  :       0.32
 16.20  <=>  SE   MSE A 293  (  0.88 93.55)  :       0.43
 14.81  <=>  SE   MSE A 139  (  0.58 53.66)  :       0.26
 11.24  <=>  SE   MSE F   1  (  0.56 72.94)  :       0.19
  7.26  <=>  SE   MSE A   1  (  0.56 92.71)  :       0.49
  4.10  <=>   O   THR A 161  (  1.00 43.14)  :       0.92
  3.81  <=>   CB  THR F 261  (  1.00 65.06)  :       0.58
...

AnoFourier.ANO.hatom:

ATOM Se -0.0623 -0.0435  0.3244    31.23
ATOM Se  0.0630 -0.0264 -0.2195    30.91
ATOM Se -0.0761  0.0141 -0.0840    30.22
ATOM Se  0.0776  0.0031  0.1880    29.08
ATOM Se -0.0028 -0.1375  0.2705    23.72
ATOM Se  0.0042 -0.1241 -0.1671    22.10
ATOM Se -0.0712  0.2201  0.1354    21.10
ATOM Se -0.0261 -0.1020  0.3066    18.64
ATOM Se  0.0787  0.2230 -0.0277    16.20
ATOM Se  0.0204 -0.0827 -0.2023    14.81
ATOM Se -0.3329 -0.1845  0.3639    11.24
ATOM Se  0.3373 -0.1699 -0.2602     7.26
ATOM Se  0.0752 -0.1320  0.2399     4.56
...

AnoFourier.ANO.pdb:

CRYST1   62.827   90.075  191.529  90.00  90.00  90.00 P 21 21 21 
SCALE1      0.015917  0.000000  0.000000        0.00000
SCALE2      0.000000  0.011102  0.000000        0.00000
SCALE3      0.000000  0.000000  0.005221        0.00000
ATOM    182  C   DUM     1      -3.916  -3.917  62.136  1.00 31.23   11
ATOM    136  C   DUM     2       3.955  -2.381 -42.043  1.00 30.91   11
ATOM    313  C   DUM     3      -4.783   1.274 -16.088  1.00 30.22   11
ATOM     24  C   DUM     4       4.875   0.282  36.013  1.00 29.08   11
ATOM    172  C   DUM     5      -0.178 -12.385  51.807  1.00 23.72   11
ATOM    170  C   DUM     6       0.264 -11.178 -32.014  1.00 22.10   11
ATOM    319  C   DUM     7      -4.476  19.827  25.928  1.00 21.10   11
ATOM    173  C   DUM     8      -1.639  -9.191  58.728  1.00 18.64   11
ATOM     33  C   DUM     9       4.943  20.085  -5.303  1.00 16.20   11
ATOM    154  C   DUM    10       1.282  -7.447 -38.744  1.00 14.81   11
ATOM    281  C   DUM    11     -20.916 -16.621  69.699  1.00 11.24   11
ATOM     62  C   DUM    12      21.190 -15.308 -49.836  1.00  7.26   11
ATOM    133  C   DUM    13       4.726 -11.886  45.946  1.00  4.56   11
...

So we have

  • a list of fractional coordinates for anomalous peaks eg. for input into experimental phasing with SHARP/autoSHARP
  • a PDB file with those anomalous peaks eg. for visualisation in Coot
  • a comparison of those peaks with a PDB file (to check that all strong anomalous peaks are correctly explained in the model)

Fo-Fo Difference map

If two sets of amplitudes are available, a difference Fourier map can be calculated with something like

% diff_fourier.sh -m apo.mtz -p apo_refine.mtz -P PH2FOFCWT FOM -m2 inhibitor.mtz -o IsoFourier -pdb apo_refine.pdb -noANO -compare_cut 10.0

which

  • uses the first amplitude/sigma (F/Q) pair from apo.mtz
  • and the first amplitude/sigma (F/Q) pair from inhibitor.mtz
  • plus the phases from the refined apo-model (in MTZ file apo_refine.mtz)
  • to calculate a F_inhibitor-F_apo map
  • compare the found peaks within 10A of existing model atoms
============================================================================ 

 mtz ......................................... apo.mtz
 F ........................................... FP
 SIGF ........................................ SIGFP
 DANO ........................................ 
 SANO ........................................ 

 pmtz ........................................ apo_refine.mtz
 PHI ......................................... PH2FOFCWT
 FOM ......................................... FOM

 pdb ......................................... apo_refine.pdb

 mtz2......................................... inhibitor.mtz
 F2 .......................................... FP
 SIGF2 ....................................... SIGFP

...
   0 peaks above 20 sigma
   0 peaks above 15 sigma
   0 peaks above 10 sigma
   2 peaks above  8 sigma
   3 peaks above  6 sigma
   5 peaks above  5 sigma
  20 peaks above  4 sigma

-rw-r--r-- 1 vonrhein vonrhein  1846 Oct 10 15:56 IsoFourier.ISO.compare
-rw-r--r-- 1 vonrhein vonrhein  6068 Oct 10 15:56 IsoFourier.ISO.hatom
-rw-r--r-- 1 vonrhein vonrhein 10891 Oct 10 15:56 IsoFourier.ISO.pdb

This will show positive peaks where data in inhibitor.mtz predicts density that is absent in apo.mtz, eg. for an inhibitor:

IsoFourier.ISO.compare:

 Peak         Closest atom in apo.pdb
 [rms]                                             Distance (<= 10.0 )
-------------------------------------------------------------------------
   9.37  <=>   O   HOH A 501  (  1.00 27.89)  :       1.97
   8.72  <=>   NZ  LYS A  89  (  1.00 43.51)  :       0.87
   6.85  <=>   O   HOH A 505  (  1.00 44.68)  :       2.09
   5.99  <=>   O   HOH A 505  (  1.00 44.68)  :       1.68
   5.48  <=>   O   HOH A 508  (  1.00 41.07)  :       2.34
   4.85  <=>   CB  LYS A  89  (  1.00 30.25)  :       2.54
   4.47  <=>   CG2 ILE A 186  (  1.00 12.12)  :       1.45
...

If we had already a model of the inhibitor and used that PDB file instead:

% diff_fourier.sh -m apo.mtz -p apo_refine.mtz -P PH2FOFCWT FOM -m2 inhibitor.mtz -o IsoFourier -pdb inhibitor.pdb -noANO

we would get IsoFourier.ISO.compare:

 Peak         Closest atom in 2C6L/2c6l_shift.pdb
 [rms]                                             Distance (<= 1.0 )
-------------------------------------------------------------------------
   9.37  <=>   C10 DT4 A1299  (  1.00 38.54)  :       0.32
   8.72  <=>   S1  DT4 A1299  (  1.00 54.82)  :       0.31
   6.85  <=>   N5  DT4 A1299  (  1.00 43.09)  :       0.54
   5.99  <=>   C15 DT4 A1299  (  1.00 47.69)  :       0.81
   5.48  <=>   N7  DT4 A1299  (  1.00 43.13)  :       0.68
   4.85  <=>   CD  LYS A  89  (  1.00 43.87)  :       0.56
   4.32  <=>   NZ  LYS A  33  (  1.00 41.01)  :       0.68
   4.26  <=>   C   PRO A 171  (  1.00 30.06)  :       0.84
   4.02  <=>   C4  DT4 A1299  (  0.75 45.81)  :       0.85
...

showing us the peaks being very close to the inhibitor.