DOCK 3.7 2014/09/25 FXa Tutorial: Difference between revisions
No edit summary |
|||
Line 81: | Line 81: | ||
# Splite your pdb into a rec.pdb and xtal-lig.pdb. | # Splite your pdb into a rec.pdb and xtal-lig.pdb. | ||
## you can do this by running this script: | ## you can do this by running this script: | ||
cat ~/FactorXa/dock_tutorial/0001.be_balsti_file_py.csh | |||
#!/bin/csh | |||
# | |||
# Written by Trent Balius, 2014. | |||
# this script calls be_blasti.py which creates a receptor and ligand file from a (list of) pdbcode(s). | |||
# | |||
# msms is a molecular surface generation program needed for be_blasti.py to run | |||
# which is put in your path | |||
set path = ( /home/tbalius/zzz.programs/msms $path ) | |||
# | |||
set list = "FXa_reference_XLD.pdb" # or use `cat filename` to list your pdb codes here from a text file like pdblist_rat, to loop over each variable (pdb code) later | |||
#set list = `cat $1` | |||
# | |||
# CHANGE THIS, according to where the magic is going to happen | |||
set mountdir = `pwd` | |||
# | |||
# loop over pdbnames e.g. 1DB1 or list | |||
foreach pdbname ( $list ) | |||
# | |||
echo " ${pdbname} " | |||
# | |||
# for each pdb makes a directory with its name | |||
#set workdir = ${mountdir}/${pdbname} | |||
set workdir = "${mountdir}/FXa" | |||
# | |||
## so you don't blow away stuff; continue means STOP here and continue with next pdb from list | |||
if ( -s $workdir ) then | |||
echo "$workdir exits" | |||
continue | |||
endif | |||
# | |||
mkdir -p ${workdir} | |||
cd ${workdir} | |||
# | |||
cp ../$pdbname . | |||
# the atom type definition is needed for msms which is sym-linked into the cwd | |||
ln -s /home/tbalius/zzz.programs/msms/atmtypenumbers . | |||
#python ~/zzz.scripts/be_blasti.py --pdbcode $pdbname nocarbohydrate renumber | tee -a pdbinfo_using_biopython.log | |||
# carbs are disregarded as ligands! if it is: carbohydrate instead of nocarbohydrate | |||
# renumber renumbers the residue number | |||
python ${DOCKBASE}/proteins/pdb_breaker/be_blasti.py --pdbfile $pdbname nocarbohydrate original_numbers | tee -a pdbinfo_using_biopython.log | |||
# python ${DOCKBASE}/proteins/pdb_breaker/be_blasti.py --pdbcode $pdbname nocarbohydrate original_numbers | tee -a pdbinfo_using_biopython.log | |||
# | |||
# error checking looks for receptor and ligand file which should be produced by be_blasti.py | |||
if !(-s rec.pdb) then | |||
echo "rec.pdb is not found" | |||
endif | |||
# | |||
mv rec.pdb temp.pdb | |||
grep -v TER temp.pdb | grep -v END > rec.pdb | |||
# | |||
rm temp.pdb | |||
# | |||
# be_blasti.py produces peptide which may be used as a ligand if no other ligand is produced | |||
if (-s lig.pdb) then | |||
sed -e "s/HETATM/ATOM /g" lig.pdb > xtal-lig.pdb | |||
else if (-s pep.pdb) then ## if no ligand and peptide | |||
sed -e "s/HETATM/ATOM /g" pep.pdb > xtal-lig.pdb | |||
else | |||
echo "Warning: No ligand or peptid." | |||
endif | |||
end # system | |||
The program sphgen will produce spheres that fill the nooks and crannies on the protein surface. | The program sphgen will produce spheres that fill the nooks and crannies on the protein surface. |
Revision as of 12:25, 26 September 2014
Written by Trent E Balius and Crystal Nguyen on 2014/09/25.
Note that this script is writen in hope that it will help others run dock 3.7.
Note that DOCK 3.7 is primarily a virtual screening tool is is meant to be run on a Linux cluster. The focus of this tutorial is to perform a retrospective enrichment calculations and a test virtual screen.
This part of the tutorial uses the release version of DOCK3.7-beta.1.0.1.
see the following for requirements: Install_DOCK_3.7
You must use a version of python (v2.7) that has the follow:
- numpy
- scipy
- matplotlib
- mysql-python
- biopython
If you are using a virtual enviorment for python do something like this:
source /home/tbalius/zzz.virtualenv/virtualenv-1.9.1/myVE/bin/activate.csh
to leave use the deactivate command:
deactivate
making ligand databases.
Get smiles:
for factor Xa it is part of the DUDE database:
wget http://dude.docking.org/targets/fa10/actives_final.ism wget http://dude.docking.org/targets/fa10/decoys_final.ism
We can download the isomorphic smiles from the dude webpage.
here is a webserver to gerenate decoys.
http://dude.docking.org/generate
MORE TO COME HERE ON DATABASE PREP...
Here is what I think is what needs to be done.
mkdir ligands bash $DOCKBASE/ligand/generate/build_smiles_ligand.sh ../actives_final.ism python $DOCKBASE/ligand/finish/db2end-makedata.py ligands
mkdir decoys cd decoys bash $DOCKBASE/ligand/generate/build_smiles_ligand.sh ../decoys_final.ism python $DOCKBASE/ligand/finish/db2end-makedata.py decoys
DOCK Distribution structure
Here we discuss the directory structure of the distribution, what the different directory contain, and information about the scripts.
Here is the structure:
ls -l ~/DOCK-3.7-beta1.0.1/ total 27 -rw-r--r-- 1 user group 2737 Mar 28 08:43 README.md drwxr-xr-x 2 user group 31 Mar 28 08:43 analysis drwxr-xr-x 2 user group 28 Mar 28 08:43 common drwxr-xr-x 6 user group 7 Mar 28 08:43 docking drwxr-xr-x 3 user group 3 Mar 28 08:43 install drwxr-xr-x 8 user group 9 Mar 28 08:43 ligand drwxr-xr-x 19 user group 19 Mar 28 08:43 proteins drwxr-xr-x 3 user group 15 Mar 28 08:43 test
docking/DOCK contains the dock source code and the the dock binary. docking/submit contains submission scripts to submit jobs to the queue. ligand contains the ligand preparation steps. (this has dependencies not include in the distribution) proteins contains scripts and programs for protein preparations. test contains test to make sure the package is working as intended. Running the tests can help dignose errors and tell you what might be missing.
Receptor Preparation
- Splite your pdb into a rec.pdb and xtal-lig.pdb.
- you can do this by running this script:
cat ~/FactorXa/dock_tutorial/0001.be_balsti_file_py.csh #!/bin/csh # # Written by Trent Balius, 2014. # this script calls be_blasti.py which creates a receptor and ligand file from a (list of) pdbcode(s). # # msms is a molecular surface generation program needed for be_blasti.py to run # which is put in your path set path = ( /home/tbalius/zzz.programs/msms $path ) # set list = "FXa_reference_XLD.pdb" # or use `cat filename` to list your pdb codes here from a text file like pdblist_rat, to loop over each variable (pdb code) later #set list = `cat $1` # # CHANGE THIS, according to where the magic is going to happen set mountdir = `pwd` # # loop over pdbnames e.g. 1DB1 or list foreach pdbname ( $list ) # echo " ${pdbname} " # # for each pdb makes a directory with its name #set workdir = ${mountdir}/${pdbname} set workdir = "${mountdir}/FXa" # ## so you don't blow away stuff; continue means STOP here and continue with next pdb from list if ( -s $workdir ) then echo "$workdir exits" continue endif # mkdir -p ${workdir} cd ${workdir} # cp ../$pdbname . # the atom type definition is needed for msms which is sym-linked into the cwd ln -s /home/tbalius/zzz.programs/msms/atmtypenumbers . #python ~/zzz.scripts/be_blasti.py --pdbcode $pdbname nocarbohydrate renumber | tee -a pdbinfo_using_biopython.log # carbs are disregarded as ligands! if it is: carbohydrate instead of nocarbohydrate # renumber renumbers the residue number python ${DOCKBASE}/proteins/pdb_breaker/be_blasti.py --pdbfile $pdbname nocarbohydrate original_numbers | tee -a pdbinfo_using_biopython.log # python ${DOCKBASE}/proteins/pdb_breaker/be_blasti.py --pdbcode $pdbname nocarbohydrate original_numbers | tee -a pdbinfo_using_biopython.log # # error checking looks for receptor and ligand file which should be produced by be_blasti.py if !(-s rec.pdb) then echo "rec.pdb is not found" endif # mv rec.pdb temp.pdb grep -v TER temp.pdb | grep -v END > rec.pdb # rm temp.pdb # # be_blasti.py produces peptide which may be used as a ligand if no other ligand is produced if (-s lig.pdb) then sed -e "s/HETATM/ATOM /g" lig.pdb > xtal-lig.pdb else if (-s pep.pdb) then ## if no ligand and peptide sed -e "s/HETATM/ATOM /g" pep.pdb > xtal-lig.pdb else echo "Warning: No ligand or peptid." endif end # system
The program sphgen will produce spheres that fill the nooks and crannies on the protein surface.
The matching spheres are used during docking to orient the ligand into the binding pocket. The matching spheres are produced by converting the crystallographic ligand atoms into sphere and also using the spheres from sphgen.
This image was made with chimera. To visualize the sphere there should be no sphere with a radius of zero. the recommendation is to change "0.00" to "0.70". Also you should remove the header from the file.
A final important set of spheres are the low dielectric spheres. These spheres are used during the PB calculation to force the binding site to have low dielectric.
This image read shows the spheres in the rec.crg.pdb. This is the file on which qnifft runs the PB calculation.
= pose visualization
use chimera:
This part of the tutorial uses the GIST development version of DOCK
Put your rec.pdb and xtal-lig.pdb in the same frame as you simulation.
This chimera script might help.