Gaff preparation (WORK IN PROGRESS)¶
IMPORTANT: this development is still a work in progress and the use of AMBER/GAFF with SEED has not been tested extensively yet.
This is a little tutorial for preparing the receptor and library for running
SEED using Amber/GAFF force fields.
Using other workflows and software is of course possible, but we provide custom
scripts (in scripts
folder) to automatize most of the needed steps.
For specific tasks we rely on the following free software:
- CAMPARI software package for target preparation.
- AmberTools (and specifically antechamber) for ligand parametrization.
Before starting the input preparation tutorials read about the Input Files to understand the format for structural input read by SEED (standard mol2 with ALT_TYPE_SET specification).
To run the code provided in this tutorial as is, you should set the
PYTHONSCRIPTS
variable to "SEED/scripts/python"
.
Note The Python scripts for preparation have been updated to Python 3.
External software installation¶
Please refer to the official documentation for external software installation; we report here only quick installation instructions.
For AmberTools you can get a pre-compiled version through conda:
conda install -c conda-forge ambertools=22 compilers
For a standard campari installation a configuration file can be used to generate the system-specific makefile:
cd campari/source
./configure --enable-mpi=auto
make all install
This will install all campari executables (serial, threaded, MPI, etc.).
For protein preparation, the serial executable might be sufficient (make campari install
).
Writing a SEED-compatible receptor with AMBER parameters¶
For general preparation of a docking-ready receptor from a crystal PDB with
CAMPARI (missing atom reconstruction, protonation, relaxation, minimization, etc.)
refer to here. Note that those instructions are for CHARMM, but it would
be enough to change force field in the key-file (e.g. with PARAMETERS abs3.2_a03.prm
)
to use AMBER parameters for the charges and write the correct biotypes in the output mol2.
The use of FMCSC_SYBYLLJMAP
is no longer needed.
Alternatively, if you have an already prepared receptor, you can easily output a mol2 file by
simple conversion using the provided conv2amber.template.key
(make sure to change paths and filenames)
and running:
campari -k conv2amber.template.key >& log
This will output a mol2 (conv2amber_RELAXED.mol2
) with the CAMPARI biotypes specified as
ALT_TYPE_SET
and AMBER.
The CAMPARI biotypes needs now to be remapped to the correct AMBER atom types by running (this is exactly the same procedure to prepare SEED-ready CHARMM mol2 files):
bash convert_CAMP_BIO_to_GAFF.sh ../../params/CAMP_BIO_to_GAFF2.map INPUT.mol2 > OUTPUT.mol2
The OUTPUT.mol2
file will now contain AMBER charges and atom types.
Ligand parametrization with GAFF2¶
General information on how to prepare a ligand/ligand library for SEED can be found in the relative tutorial. We here focus on the GAFF-specific steps.
Starting from a protonated ligand mol2, GAFF2 parameters (atom types and charges) can be assigned with antechamber:
antechamber -i INPUT.mol2 -fi mol2 -o ANTECHAMBER.mol2 -fo mol2 -c bcc -at gaff2 -rn LIG
-c bcc
request to use AM1-BCC semi-empirical method for fitting the charges. This is the
recommended choice for compatibility in the virtual screening setting. Other choices
(both more and less accurate) are also possible. Antechamber can also read other file formats
in input (e.g. sdf), and these will require the additional specification of the net charge of
the molecule (with -nc NETCHARGE
).
Now the GAFF2 parameters (charges and atom types) can be copied back in the original mol2 with the correct format for seed input (partial charges in the charge column and atom types as ALT_TYPE_SET):
python ${PYTHONSCRIPTS}/mol2ori_to_mol2seed4_gaff.py INPUT.mol2 ANTECHAMBER.mol2 OUTPUT.mol2
where INPUT.mol2
is the original mol2, ANTECHAMBER.mol2
the output of antechamber
and OUTPUT.mol2
the final SEED-ready mol2.
Running SEED¶
Now SEED can be run normally, but in the input file (.inp) the correct
parameter file (.par) containing AMBER/GAFF van der Waals parameters should be used: params/seed4_gaff.par
.
seed_4 seed.inp >& log
A script to semi-automatically extract AMBER VdW parameters for SEED from the original amber force field files
is also provided (${PYTHONSCRIPTS}/gaff2_to_seed_vdw_param.py
).