Quantum Refinement
Introduction
Quantum refinement is a QM/MM-based refinement where the hetero
compounds of proteins are dealt with by QM methods, thus is an
improvement over the conventional MM-based refinement.
Currently, the quantum refinement in ChemShell
is implemented for X-ray crystallography. The same idea can be extended to,
e.g., NMR. This manual mentions only QM/MM using CHARMM(DL_POLY), but the
basic procedures are similar for other force fields.
Stepwise
-
Download the X-ray raw data and its PDB model structure from, e.g.,
www.pdb.org.
-
Obtain molecular topology file (mtf), topology, and param files for CNS:
to build an mtf file:
download "generate.inp" from CNS website(http://cns.csb.yale.edu/v1.2/),
properly modify it then run cns using it as the input;
for topology and param files:
The HIC-Up server at Uppsala University, http://alpha2.bmc.uu.se/hicup/xdict.html, can give topology and dummy parameter
files when given the coordinates of the hetero site.
-
Convert the structure factors (reflection data) into the CNS format.
There are many tools to do this, for example, sf-convert.
-
CNS INPUT for quantum refinement:
Obtain the input from the ChemShell example folder. One may also
download the input template minimize.inp and modify it with appropriate
data obtainable from the header of the PDB,
but make sure to
(1.) add the output filenames of the
X-ray energy "mmen2" and gradient "force2", as done in
the example file; these filenames are needed in the qmrefine.tcl.
(2.) in the following field, use
"coordinate_infile=cns.pdb" and "coordinates disp=comp @cns.pdb1"
(for 10^(-4)-10^(-6) of the coordinates.)
In case if you donwload a newer version of CNS, you can also download the
new input template, or alternatively, just modify the version at the line
"checkversion" to be the same as the version of the CNS executable.
This is something particular about CNS.
It is also a good idea to start with comparing with the CNS input file
provided in the example.
-
To run CNS, one needs to set some environment parameters in the submit
script:
setenv CNS_SOLVE '/ns80th/nas/users/yhsiao/cns_solve_1.21/'
setenv CNS_LIB $CNS_SOLVE/libraries
setenv CNS_MODULE $CNS_SOLVE/modules
setenv CNS_TOPPAR $CNS_LIB/toppar
setenv CNS_XTALLIB $CNS_LIB/xtal
setenv CNS_XRAYLIB $CNS_LIB/xray
setenv CNS_XTALMODULE $CNS_MODULE/xtal
Note: "CNS_SOLVE" depends on where CNS is installed.
------------------end of CNS preparation-----------------------------
-
Use the pdb file built in CNS above to build pdb in CHARMM to ensure that the
coordinates are the same. Especially CNS has already built missing atoms
and residues from the original pdb. To maintain the same residue numbers,
use the "offset" command in CHARMM.
-
Pay attention to the atom type definition to avoid atoms being rebuilt
causing inconsistent coordinates with CNS. For example,
if the template PDB uses CD1 ILE, change it to CD ILE, also rename
the C-terminus oxygens to OT1 and OT2.
-
Add hydrogens and relaxed them but keep the heavy ones fixed.
For electrostatic quantum refinement one needs to solvate the protein
and relax the water molecules, but the heavy atoms in protein should be
held fixed.
-
If you move the protein coordinates to a different origin, translate them
back to the original
positions. Otherwise they may be outside the defined crystal unit cell
and give meaningless CNS calculations.
------------------end of CHARMM preparation--------------------------
-
Quantum refinement can be done using either mechanical or electrostatic
embedding with slight different input. Directories
examples/hybrid/qmrefine/electrostatic, and
examples/hybrid/qmrefine/non-electrostatic
contain working examples that can be of help.
-
Use smaller maxstep during optimization and larger convergence
tolerance, as the mixed gradient (QM/MM+X-ray) seems very sensitive
and harder to arrive convergence.
-
Construct converting tables "qmmm2xray.dat" and "xray2qmmm.dat" by using
contrib/CNStoCh.f90. You only need to do this once when setting up a system.
here you need to have an initial PDB file containing hydrogens.
These two files are for converting the atmoic order between CNS and
CHARMM (DL_POLY) and to get the gradients and new PDB in correct order,
based on $CNS_TOPPAR/protein.top and CHARMM22. If different topology
definitions are chosen, different order is followed thus the program needs
modification. There might be problems for 2nd chain and onwards. Check if
the order is correct before starting the refinement.
The four number on top of "xray2qmmm.dat" are
number of atoms in CNS (i.e., heavy atoms)
number of atoms with hydrogen atoms added
number of atoms in the solvation sphere
number of atoms in the alternative conformation
The last number is useful if more than one conformer will be included
in one quantum refinement AND only the conformer of interest is built
in CHARMM. However, only one of the conformers gets
refined at a time while the others are kept fixed (only copying the
coordinates at each step). Keep the fixed conformer ahead of the conformer
to be refined, as the updated coordinates are concatenated onto the fixed part
(filename defined by command altconf and altconf1).
Please consult the example of multiple-conformer
quantum refinement for details.
-
In the working directory there should be:
X-ray raw data (CNS format)
initial CNS pdb file
CNS mtf file
qmmm2xray.dat and xray2qmmm.dat
CNS top and param files
the usual parts for QM/MM
------------------end of QM/MM-based refinement setup----------------
Command Line Arguments
Under hybrid:
Argument |
Argument type |
Mandatory |
Default |
To specify |
qmref= |
boolean |
yes |
0 |
qmref=1 activates quantum refinement. |
cns_dir= |
string |
no |
/ns80th/nas/users/yhsiao/pub/ |
location of the CNS excutable. |
cns_exec= |
string |
no |
cns |
name of the CNS excutable |
cns_inp_file= |
string |
no |
minimize.inp |
input file for CNS refinement |
cns_out_file= |
string |
no |
minimize.out |
output file for CNS refinement |
cns_ini_pdb= |
string |
no |
minimize.pdb.0 |
provide pdb details for writing out new pdb for CNS at each step. |
multi_conf= |
boolean |
no |
0 |
if multiple conformers included in the quantum refinement. |
altconf= |
string |
no |
none |
file contains the coordinates of the fixed conformers. |
altconf1= |
string |
no |
none |
file contains the coordinates of the fixed conformers. |
|
|