X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=examples%2FUNRES-Dock%2Foutput%2Fprepare_all.csh;fp=examples%2FUNRES-Dock%2Foutput%2Fprepare_all.csh;h=134ca2cc6256166c50e642e6c59da65b81469f7d;hb=018446aca1e32faf80f41e818acbfc61e5d872c9;hp=0000000000000000000000000000000000000000;hpb=88d4f45c783f3644ff7ae49572b7b609ef3c9617;p=unres.git diff --git a/examples/UNRES-Dock/output/prepare_all.csh b/examples/UNRES-Dock/output/prepare_all.csh new file mode 100755 index 0000000..134ca2c --- /dev/null +++ b/examples/UNRES-Dock/output/prepare_all.csh @@ -0,0 +1,195 @@ +#!/bin/csh -f + +# Provide names of the pdb files +set protein1 = 1UDI_A.pdb +set protein2 = 1UDI_B.pdb + +# Provide number of steps in milions +set nstep = 0.05 + +# Provide number of clusters +set nclust = 10 + +# Provide temperature of clustering +set temper = 300 + +# Provide UNRES instalation pathway +set UNRES = /users2/vetinari/unres_hom_m/unres + + + +################################################################################ +################################################################################ +################################################################################ +sed -e "s=UUU=$UNRES=" start_unres_example.mat > start_unres.mat +sed -e "s=UUU=$UNRES=" start_wham_example.mat > start_wham.mat +sed -e "s=UUU=$UNRES=" start_cluster_example.mat > start_cluster.mat + + +# Generation of initial orientations +echo "Generation of initial orientations" +echo "TER" > TER +#gfortran -O3 generator_v13b.f -o generator_v13b +#./generator_v13b $protein1 $protein2 0 > log +grep -v "TER" $protein1 > prot1 +grep -v "TER" $protein2 > prot2 +cat prot1 "TER" prot2 > reference.pdb +rm TER prot1 prot2 + + +################################################################################ +# Setting up and running MREMD +echo "Setting up and running MREMD" +set nstep2 = `echo $nstep \* 1000000 | bc | awk -F "." '{print $1}'` +set box = `grep -A1 "Boxsize (suggested)" log | tail -1 | cut -c 3-8` +sed "s/boxxx/$box/g" unres_example.inp > unres_dock.inp +sed "s/NNN/$nstep2/g" unres_dock.inp > unres_dock.in +mv unres_dock.in unres_dock.inp + +#qsub start_unres.mat + + + +################################################################################ +# Setting up and running WHAM analysis +echo "Setting up and running WHAM analysis" +#set resnum = `grep -A 1 "PDB data will be read from file" dimer.out_GB000 | tail -1 | awk '{print $2}'` +#set resnum = `echo $resnum + 5 | bc` + +#grep -A $resnum "PDB data will be read from file" dimer.out_GB000 | grep -B 9999 "nsup=" | egrep -v "PDB|Nres:|nsup=" | awk '{print $3}' > seq_raw + +egrep "CA|TER" reference.pdb > temp.pdb +set res1 = `grep -B 9999 "TER" temp.pdb | grep -v TER | grep -c CA` +set res2 = `grep -A 9999 "TER" temp.pdb | grep -v TER | grep -c CA` +set start1 = `head -1 temp.pdb | awk '{print $4}'` +set end2 = `tail -1 temp.pdb | awk '{print $4}'` +set start2 = `grep -A 1 TER temp.pdb | tail -1 | awk '{print $4}'` +set end1 = `grep -B 1 TER temp.pdb | head -1 | awk '{print $4}'` + +echo First protein has $res1 residues, while second molecule has $res2 residues. +echo $start1 $end1 $start2 $end2 + +rm seq_raw + +if ($start1 != GLY) then +echo D > seq_raw +endif + +head -$res1 temp.pdb | awk '{print $4}' >> seq_raw + +if ($end1 != GLY) then +echo D >> seq_raw +endif + +if ($start2 != GLY) then +echo D >> seq_raw +endif + +tail -$res2 temp.pdb | awk '{print $4}' >> seq_raw + +if ($end2 != GLY) then +echo D >> seq_raw +endif + + +set resnum = `grep -c "." seq_raw` + +echo System contains $resnum residues including dummy atoms. + +set i = 1 +set j = 1 +set seqq = "" +rm seq +while ($i <= $resnum) + +set aa = `head -$i seq_raw | tail -1` +if ($aa == D) then +set seqq = ${seqq}X +else if ($aa == ALA) then +set seqq = ${seqq}A +else if ($aa == ARG) then +set seqq = ${seqq}R +else if ($aa == ASN) then +set seqq = ${seqq}N +else if ($aa == ASP) then +set seqq = ${seqq}D +else if ($aa == CYS) then +set seqq = ${seqq}C +else if ($aa == GLU) then +set seqq = ${seqq}E +else if ($aa == GLN) then +set seqq = ${seqq}Q +else if ($aa == GLY) then +set seqq = ${seqq}G +else if ($aa == HIS) then +set seqq = ${seqq}H +else if ($aa == ILE) then +set seqq = ${seqq}I +else if ($aa == LEU) then +set seqq = ${seqq}L +else if ($aa == LYS) then +set seqq = ${seqq}K +else if ($aa == MET) then +set seqq = ${seqq}M +else if ($aa == PHE) then +set seqq = ${seqq}F +else if ($aa == PRO) then +set seqq = ${seqq}P +else if ($aa == SER) then +set seqq = ${seqq}S +else if ($aa == THR) then +set seqq = ${seqq}T +else if ($aa == TRP) then +set seqq = ${seqq}W +else if ($aa == TYR) then +set seqq = ${seqq}Y +else if ($aa == VAL) then +set seqq = ${seqq}V +endif + +if ($j == 80) then +echo $seqq >> seq +set seqq = "" +set j = 0 +endif + +set i = `echo $i + 1 | bc` +set j = `echo $j + 1 | bc` +end +echo $seqq >> seq +rm seq_raw + +set range1 = `echo $nstep2 / 2500 | bc | awk -F "." '{print $1}'` +set range1 = `echo $range1 | bc` +set div = `echo 12000 \* 10 / 24 | bc | awk -F "." '{print $1}'` +set range0 = `echo $range1 - $div | bc | awk -F "." '{print $1}'` +if ($range0 < 0 ) then +set range0 = 10 +endif + +#echo $nstep2 $div +echo WHAM will analyze range of snapshots from $range0 to $range1. + +sed "s/xxxxx/$box/g" wham_example.inp > wham.inp +sed "s/XXX/$resnum/g" wham.inp > wham +head -4 wham > wham.in +grep -B 1 -A 999 "HOMOL_DIST" wham_example.inp > wham +cat wham.in seq wham > wham.inp +sed "s/BBB/$range0/g" wham.inp > wham +sed "s/CCC/$range1/g" wham > wham.inp +rm wham wham.in +#qsub start_wham.mat + + +################################################################################ +# Setting up and running cluster analysis +echo "Setting up and running cluster analysis" + +sed "s/XXX/$resnum/g" cluster_example.inp > clust +head -8 clust > clust.in +grep -B 1 -A 999 "HOMOL_DIST" cluster_example.inp > clus +cat clust.in seq clus > cluster.inp +sed "s/nclust=ZZZ/nclust=$nclust/g" cluster.inp > clut +sed "s/temper=AAA/temper=$temper/g" clut > cluster.inp +rm clust clust.in clus +#qsub start_cluster.mat