Fork me on GitHub

X-Ray Refinement Examples

Prequisites for using AMOEBA-Assisted X-Ray Refinement

In order to use AMOEBA-assisted X-Ray crystallography refinement, X-ray reflection data must be provided along with an atomic model. Currently accepted formats include:

  • CCP4 MTZ format (preferred)
  • CIF format
  • CNS format

If you are using the CIF format, FFX will attempt to read in the following header information:

  • symmetry.Int_Tables_number or symmetry.space_group_name_H-M
  • cell.length_a, length_b, length_c, angle_alpha, angle_beta, angle_gamma
  • reflns.d_resolution_high
  • refln.status (for Rfree), F_meas_au and F_meas_sigma_au

Alternatively, if you are using a CNS file, FFX will attempt to read the header information:

{sg=P6(1) a=102.1 b=...}
Alternatively, the information will be obtained from the CRYST header information in the PDB file provided for refinement.

Any of the data information (resolution, Rfree integer flag, cell lengths/angles) can be overwritten by providing a property file.

File names/extensions

The atomic coordinates are best provided as a PDB file for the purposes of X-ray usage (as B-factors and occupancies are necessary/relevant). If the coordinates are provided in filename.pdb, then an optional property file can be provided as filename.key or filename.properties. This property file can contain crystal information, force field and/or refinement options. For example:

                    a-axis 39.767
                    b-axis 51.750
                    c-axis 132.938
                    alpha 90.00
                    beta 90.00
                    gamma 90.00
                    spacegroup P212121
                    resolution 1.7
                    rfreeflag 1
                

Which will override any information acquired from the PDB file or reflection file.

For the X-ray refinement scripts, reflection files can be provided on the command line. If only a coordinate file name is provided, then the program will search for valid reflection files using the base filename. In the example above, this would result in the program searching for filename.mtz, filename.ent/cif/sf and finally filename.cns/hkl.

Scaling data/fitting sigmaA parameters/MTZ output

The xray.scaleBulk script will perform anisotropic scaling, fit a bulk solvent and compute crystallographic statistics (such as R/Rfree) and write out a MTZ file, without modifying the input coordinates, other than adding hydrogens (if necessary). Here is the output from 2R4R:

                    Fc to Fo scale: 0.56
                    Fc to Fo spline scale: 1.07 0.88 0.95 1.00 1.01 1.04 1.03 1.00 0.99 0.96
                    aniso B tensor:
                    -20.7258 0.00000 6.04607
                    0.00000 34.6983 0.00000
                    6.04607 0.00000 1.82392
                    bulk solvent model: polynomial switch
                    bulk solvent a: 0.00000 w: 0.800000
                    bulk solvent scale: 0.440275  B: 106.995
                    -log likelihood: 18883.5 (free set: 2371.35)

                    Blow DPI (eqn 7):  0.4694 nonH atoms:  0.6628
                    Cruickshank DPI (eqn 27):  0.4775 nonH atoms:  0.6742
                    Acta Cryst (1999) D55, 583-601 and Acta Cryst (2002) D58, 792-797

                    # reflections (for 100% complete): 19906
                    res. range | #HKL (R)|#HKL (cv)|    #bin |   #miss |%complete
                    85.923   7.475 |    1754 |     216 |    1970 |      20 | 98.99
                    7.473   5.886 |    1786 |     201 |    1987 |       4 | 99.80
                    5.886   5.125 |    1801 |     183 |    1984 |       5 | 99.75
                    5.124   4.643 |    1812 |     176 |    1988 |       1 | 99.95
                    4.643   4.303 |    1786 |     203 |    1989 |       5 | 99.75
                    4.303   4.041 |    1778 |     202 |    1980 |      12 | 99.40
                    4.041   3.838 |    1785 |     187 |    1972 |      20 | 99.00
                    3.838   3.668 |    1790 |     177 |    1967 |      25 | 98.74
                    3.668   3.524 |    1770 |     168 |    1938 |      46 | 97.68
                    3.524   3.400 |    1692 |     204 |    1896 |      97 | 95.13
                    85.923   3.400 |   17754 |    1917 |   19671 |     235 | 98.82

                    res. range |   signal |    sigma |      s/n
                    85.923   7.475 |   441.80 |    10.74 |    43.62
                    7.473   5.886 |   271.55 |    11.56 |    28.46
                    5.886   5.125 |   286.52 |    15.06 |    23.59
                    5.124   4.643 |   315.70 |    16.80 |    22.69
                    4.643   4.303 |   296.68 |    18.65 |    19.82
                    4.303   4.041 |   257.25 |    21.41 |    15.34
                    4.041   3.838 |   207.39 |    25.19 |    10.32
                    3.838   3.668 |   183.12 |    27.91 |     7.95
                    3.668   3.524 |   162.23 |    30.25 |     6.23
                    3.524   3.400 |   146.64 |    33.67 |     4.97
                    85.923   3.400 |   258.28 |    20.80 |    18.39

                    s and w are analagous to D and sum_wc - J. Appl. Cryst. (2005) 38, 193-198

                    res. range |       R |   Rfree |       s |    w(E) |    w(F) |     FOM
                    85.923   7.475 |   30.38 |   34.84 |  0.8436 |  0.2767 |  102.09 |  0.7142
                    7.473   5.886 |   22.53 |   27.91 |  0.8877 |  0.1970 |   43.06 |  0.7984
                    5.886   5.125 |   22.27 |   28.63 |  0.9093 |  0.2577 |   59.00 |  0.7610
                    5.124   4.643 |   17.59 |   22.31 |  0.9349 |  0.1406 |   35.53 |  0.8456
                    4.643   4.303 |   18.55 |   25.56 |  0.9255 |  0.1858 |   44.23 |  0.8104
                    4.303   4.041 |   19.65 |   24.96 |  0.9212 |  0.1970 |   40.53 |  0.7930
                    4.041   3.838 |   20.37 |   24.56 |  0.9297 |  0.1642 |   27.38 |  0.8280
                    3.838   3.668 |   22.52 |   26.61 |  0.8813 |  0.1709 |   24.83 |  0.8156
                    3.668   3.524 |   23.58 |   26.49 |  0.8607 |  0.1773 |   22.55 |  0.8098
                    3.524   3.400 |   28.58 |   32.32 |  0.8550 |  0.2956 |   33.27 |  0.7213
                    85.923   3.400 |   22.68 |   27.94 |  0.8952 |  0.2059 |   43.32 |  0.7900
                

This output provides all the scaling values, data statistics and model-versus-data statistics required to carry out a quick analysis of a structure. The (optional) output MTZ file contains Fourier coefficients (Fo-Fc and 2Fo-Fc) that can be auto-opened in coot, along with other useful coefficients (bulk solvent and Fc coefficients, sigmaA, FOM, etc).

X-Ray refinement

The refinement engine in FFX is set up to be dynamic. Refinement can include simulated annealing, refine coordinates only, B factors only, occupancies, all three, etc. Example scripts to refine an X-ray structure are provided, although we encourage users to edit and modify the scripts as required for their task.

For example, to carry out simulated annealing followed by coordinate and then B-factor refinement, the provided xray.anneal script should suffice. The job can be run by providing the atomic coordinates and structure factors:

ffxc xray.anneal 1N7S.pdb 1N7S.mtz

The xray.anneal script is provided in the scripts directory. Running the script with the -h flag prints out the usage information, reproduced here:

                    usage:  ffxc xray.anneal [options] <pdbfilename> [datafilename]
                    -d,--data <data.mtz,1.0,false>   specify input data filename (or simply
                    provide the datafilename argument after
                    the PDB file), weight applied to the
                    data (wA) and if the data is from a
                    neutron experiment
                    -H,--hightemp <1000.0>           starting temperature
                    -h,--help                        Print this help message.
                    -L,--lowtemp <100.0>             ending temperature
                    -n,--mdsteps <200>               Number of molecular dynamics steps at
                    each temperature.
                    -N,--annealsteps <10>            Number of steps between high and low
                    temperature
                    -r,--mode <coordinates>          type of refinement: [coordinates /
                    bfactors / coordinates_and_bfactors /
                    occupancies / bfactors_and_occupancies /
                    coordinates_and_occupancies /
                    coordinates_and_bfactors_and_occupancies
                    ]
                    -s,--suffix <_anneal>            output suffix
                    -S,--scf                         set to turn off SCF/polarization
                

So an equivalent way to run the annealing script would be:

ffxc xray.anneal -d 1N7S.mtz,1.0,false 1N7S.pdb

The -d flag can be present multiple times on the command line, which can be used for joint neutron/X-ray refinement.

Scripts relevant to diffraction data

As mentioned, several scripts are provided for use. They can be found here: included diffraction data scripts And consists of:

  1. cif2mtz: converts a cif to an mtz file with symmetry information gathered from a PDB file
  2. deuterate: replaces hydrogen atoms with deuterium (only if bonded to N, O or S) and water with deuterium water for the purposes of neutron refinement
  3. mtzInfo: print info regarding a MTZ file
  4. xray.anneal: simulated annealing
  5. xray.minimize: optimization of coordinates, Bs and occupancies in any combination (or all three can be performed in order)
  6. xray.scaleBulk: simply scale the model and data, then print statistics and write out a MTZ file

Similar scripts are included for real space refinement.