ComQum-Pol-Exafs is a combination of
and polarised EXAFS refinement. This page shows how to set up such a
In fact, there are three separate approaches:
The method was designed by Ulf Ryde 2010, partly based on scripts
provided by Victor Batista and Eduardo Sproviero.
- QM+pEXAFS, i.e. QM suplemented by polEXAFS (or an automatic
EXAFS-refinement protocol, where QM is used to suplement the EXAFS data
to get a full set of coordinates, like MM is used in crystallographic
- QM/MM+pEXAFS, i.e. QM/MM suplemented by EXAFS inside a full
- ComQum-X +pEXAFS, i.e. quantum-refinement suplemented by polEXAFS.
The method will be described in:
All source files are in: /away/bio/Exafs/
- U. Ryde, X. Li, P. E. M. Siegbahn, E. Sproviero, V. Batista
(2010), to be submitted.
All executables are linked to /away/bio/Bin or /away/bio/Bin/Linux.
How to set up a ComQum-EXAFS
- Currently, the program is designed for exerimental data, provided
only in R space.
- Start from Turbomole files of the desired QM system.
Run the program turbo2pfeff to
get 3 feff.inp files.
The program reads the file transform
to perform some coordinate transformations; This is partly hardcoded
now (some of the transformations are double transformations), so it
will probably not fully work for other proteins.
Currently, the parameters of feff are hard coded, so you need to change
the code to modify the parameters.
Consider to change the keywords TITLE, RPATH, NLEG, CRITERIA, and HOLE,
(cf. the FEFF page).
It is not possible calculate Debye-Waller factors. Instead, we use
- Run cqpefixenergy to get all three polarised EXAFS calculations.
This program will run feff83
three times. This is the only version of FEFF that seems to work for
The only output of feff83 needed are the xmu.dat file, which then is
postprocessed by other programs (xmu2chi and ifeffit) to finally obtain
a Chi^2 estimate and a R-factor.
The file all.dat contains the three experimental and calculated
spectra, ready to be plotted by gnuplot
Template commands for gnuplot are:
plot "all.dat" using 1:2 with lines,"all.dat" using 1:5 with lines
plot "all.dat" using 1:3 with lines,"all.dat" using 1:6 with lines
plot "all.dat" using 1:4 with lines,"all.dat" using 1:7 with lines
To run this command, you need a comqum.dat file with the following
$r_range gives rmin and rmax, used in the calculation of chi^2.
$e0 is E0
$expfile is the name of the file with the experimental data
This is all needed to do single-point energy calculations
- To run a geometry optimisation, you need to add some additional
data to the file comqum.dat
file (sample file).
You should check the atoms for which you want to calculate the
gradients in the keyword $exafs_gradients (see below for an explanation); by
default internal gradients are calculated for all paths shorter than
You may change $weight_exafs and perhaps also $weight_qm.
You man also turn on the double-sided gradients (increases the time by
factor 2 in the EXAFS calculations):
Finally, you may change the step size for the numerical
EXAFS gradients (although the default is normally OK). However, note
that you should not use values smaller than ~1E-4, because there are
only five decimals in the xmu.dat file, so that you will loose
precision and may get zero gradients.
- Set up the Turbomole
ComQum, or ComQum-X calculations as usual, and add the needed keywords
to the comqum.dat file (explained above).
In addition, you need the file with the exafs raw data, the transform
file, a file process.iff with the following content (no changes should
be needed to this file - it only converts the calculated data from k to
# This is the file
process.iff, set up for ComQum-PExafs calculations
# It converts the calculated data from k-space to R-space.
# Ulf Ryde, 15/3-10,
based on templates from V. Batista and E. Sproviero.
read_data(file = fe_chi.DAT,
type = chi, group = fe_chi)
qinterp(fek_chi.k, fe_chi.chi, newfe.k)
kmin=floor(fek_chi.k), kmax=ceil(fek_chi.k), dk=1,kweight=3,
- It is normally wise to first run (in a separate directory)
And then move to the original comqum.dat file
Otherwise, the first energy will be different from the
- Start ComQum-E by
jobexpe -backup -ri -c 200
or for QM/MM+pEXAFS:
comqumpe -backup -ri -c 200
or for ComQum-X+pEXAFS:
comqumxpe -backup -ri -c 200
- When finished, the results are in the files energy (the first
energy is the ComQum-EXAFS energy, the third is the Turbomole energy,
and the fourth is chi_squared EXAFS energy) and all.out.
-4043.63646887853 4024.47271869400 -4043.63702859200
- If you have problem with convergence, you may:
- reduce dqmax to 0.03 (or smaller; instead of 0.3) to
the convergence, especially if w_Exafs is high.
- Use steepest descent
threig=0.005 reseig=0.005 thrbig=3.0 scale=1.00
- Restart the forceapprox file
- Finally, you can remove unnecessary files by typing
The following programs are needed
for running comqume
(they are all in /away/bio/Exafs or /away/bio/Exafs/Linux)
- jobexpe or comqumpe or comqumxpe
Example of a comqum.dat
CuS2N2 complex, BP/RI, SVP, 7/4-05
Alternative formats for $exafs_gradients:
Cartesian gradients in the three Cartesian directions (x, y, z)
The list gives the atoms for which gradients should be calculated. It
can include the absorber(s), but it is normally better to use it to
correct the total sum of the forces, using the keyword correct
(followed either by the atom to give the negative sum of the forces, or
the number of atoms and (on the next line) a list of atoms to which the
resultant (divided by #atoms) should be added.
2 3 27 28
Internal gradients only along a bond.
The two numbers are the absorber and the ligand.
Internal gradients only along several bonds.
The first number is the number of atoms in the shell.
The second is the absorber.
The final numbers are the ligand.
The same internal gradient is added to all ligand atoms and the
negative of their
vector sum to the absorber in each shell.
2 1 2 3
2 1 27 28
Runs both shell and cartesian to check if cartesian is needed.
The format is the same as for shell and the program decides itself for
which atoms Cartesian gradients should be calculated.
1 1 2
1 1 3
1 1 27
1 1 28
Input as for internal gradients:
Cartesian gradients will be used for atoms that are used more than once
(either as the first or the second atom) and internal gradients for the
other atoms along the specified bond.
Note that all atom numbers are in the order of the atoms in the control
file (not in the feff.inp file).
Template of file transform
The first number is the number of transformations to be read
# Symmetry operations for OEC
# Data from Batista &
# Symmetry Transformation 0
0.313 -0.440 38.39445
-0.380 -0.870 47.64779
-0.870 0.221 47.85023
# Symmetry Transformation 1
0.000 0.000 67.496
-1.000 0.000 0.000
0.000 0.000 1.000 154.970
# Symmetry Transformation 2
0.000 0.000 0.000
0.000 1.000 0.000 114.425
0.000 0.000 -1.000 154.970
# Symmetry Transformation 3
1.000 0.000 0.000 67.496
-1.000 0.000 114.424
0.000 0.000 -1.000 0.000