DOCK 3.7 2015/04/15 abl1 Tutorial: Difference between revisions
No edit summary |
|||
Line 67: | Line 67: | ||
== run be_blasti.py== | == run be_blasti.py== | ||
creat the following cshell script 0001.be_balsti_py.csh. | |||
#!/bin/csh | |||
# 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 = ( /nfs/home/tbalius/zzz.programs/msms $path ) | |||
# you will need to have msms on you system. | |||
set list = "2HYY" # 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` | |||
#set list = `cat /nfs/work/users/tbalius/VDR/Enrichment/pdblist_rat ` | |||
# CHANGE THIS, according to where the magic is going to happen | |||
#set mountdir = "/mnt/nfs/work/users/tbalius/VDR/" | |||
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} | |||
## 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} | |||
# the atom type definition is needed for msms which is sym-linked into the cwd | |||
ln -s /nfs/home/tbalius/zzz.programs/msms/atmtypenumbers . | |||
# 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 --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 | |||
running 0001.be_balsti_py.csh will run a script that come with dock call be_blasti. | |||
And it will do the following | |||
# download the pdb file from the web, | |||
# break the file into rec and ligand componates | |||
Note that you will need to have msms on you system. | |||
[[get msms]] | |||
== run blastermaster.py == | == run blastermaster.py == | ||
== run enrichment calucaltions == | == run enrichment calucaltions == |
Revision as of 21:21, 15 April 2015
This tutoral use the 3.7.2 beta version of dock release on XXX.
This is for a Linux environment and the scripts assume that you are running on SGE queueing system.
set up directories and get databases
Create directory called "RotationProject"
create a python file called "autodude_db_download.py"
# this gets the database from the autodude webpage import sys, os import urllib system = 'abl1' url = 'http://autodude.docking.org/dude_e_db2/' print "url = " + url #page=requests.get(url) webfile = urllib.urlopen(url) page = webfile.read() webfile.close() splitpage=page.split('\n') for line in splitpage: if system in line: file = line.replace('"',' ').split()[2] print url+file urllib.urlretrieve(url+file,file) # exit()
This python script will download the dockable db2 databases from the autodude webpage.
python /mnt/nfs/home/rstein/RotationProject/autodude_db_download.py
make a subdirectory called databases:
mkdir databases
go inside.
cd databases
make directories for ligands and decoys and move the corresponding files into those directories
mkdir decoys mv decoys*db2.gz decoys
mkdir ligands mv ligands*db2.gz ligands
download the ligand and decoy isomeric smiles file:
wget http://autodude.docking.org/abl1/decoys_final.ism mv decoys_final.ism decoys.ism
note that the scripts expect the name to be decoys.ism, so we changed the name.
wget http://autodude.docking.org/abl1/actives_final.ism mv actives_final.ism ligands.ism
run be_blasti.py
creat the following cshell script 0001.be_balsti_py.csh.
#!/bin/csh # 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 = ( /nfs/home/tbalius/zzz.programs/msms $path ) # you will need to have msms on you system. set list = "2HYY" # 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` #set list = `cat /nfs/work/users/tbalius/VDR/Enrichment/pdblist_rat ` # CHANGE THIS, according to where the magic is going to happen #set mountdir = "/mnt/nfs/work/users/tbalius/VDR/" 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} ## 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} # the atom type definition is needed for msms which is sym-linked into the cwd ln -s /nfs/home/tbalius/zzz.programs/msms/atmtypenumbers . # 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 --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
running 0001.be_balsti_py.csh will run a script that come with dock call be_blasti.
And it will do the following
- download the pdb file from the web,
- break the file into rec and ligand componates
Note that you will need to have msms on you system. get msms