Journal structure based mutation analysis (PKU)
scwrl
The script we used for the scwrl execution <source lang="bash">
- !/bin/sh
- should be executed at the biolab only
if [ -f /opt/SS12-Practical/scwrl4/Scwrl4 ] then if [ -f ../1J8U.pdb ] then /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JU.seq -o Wildtype.pdb > wildtype.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut158.seq -o mut158.pdb > mut158.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut172.seq -o mut172.pdb > mut172.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut243.seq -o mut243.pdb > mut243.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut255.seq -o mut255.pdb > mut255.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut276.seq -o mut276.pdb > mut276.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut297.seq -o mut297.pdb > mut297.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut322.seq -o mut322.pdb > mut322.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut330.seq -o mut330.pdb > mut330.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut337.seq -o mut337.pdb > mut337.log /opt/SS12-Practical/scwrl4/Scwrl4 -i ../1J8U.pdb -s lower18JUmut408.seq -o mut408.pdb > mut408.log fi fi </source>
foldX
In the list.txt' we just changed the structure to 1J8U.pdb.
the induvidual list.txt is shown below
RA158Q; QA172H; RA243Q; LA255S; MA276V; RA297C; AA322G; EA330D; GA337V; RA408W;
where each line resembles a mutation of kind
<1Letter amino acid original><chain><position><1Letter amino acid new>
Keep in mind that even if there is only one chain, the <chain> has to be specified
runAllMinimiser.sh
Usage: runAllMinimiser.sh <filestem>
where filestem is the name of the pdb-file you want to start your minimization on, without the .pdb-ending. The rest of the script is done automaticly.
<source lang="bash">
- !/bin/sh
- only for use in the biolab
if [ -f /opt/SS12-Practical/minimise/minimise ]; then
echo minimise has/home/hpc/pr58ni/di34faw been located echo starting for ${1}.pdb i=0 while [ $i != 5 ]; do echo iteration $i if [ $i -eq 0 ]; then echo "calling: /opt/SS12-Practical/minimise/minimise ${1}.pdb ${1}_min1.pdb > minimise${1}_1.log 2> /dev/null" /opt/SS12-Practical/minimise/minimise ${1}.pdb ${1}_min1.pdb > minimise${1}_1.log 2> /dev/null else next=$((i+1)) echo "calling: /opt/SS12-Practical/minimise/minimise ${1}_min${i}.pdb ${1}_min${next}.pdb > minimise${1}_${next}.log 2> /dev/null" /opt/SS12-Practical/minimise/minimise ${1}_min${i}.pdb ${1}_min${next}.pdb > minimise${1}_${next}.log 2> /dev/null fi i=$((i+1)) done fi echo end
</source>
prepare for Gromacs
copy the scripts from the git to $HOME/AGroS, install scwrl (don't forget the .ini), copy the mutation models from scwrl to $dir/Models. Let's go! <source lang="bash">
#done on the lrz... #!/bin/bash scriptdir=$HOME/AGroS dir=$HOME/minimizeGromacs
for struct in `ls $dir/Models/*.pdb` ; do tmp=$(basename $struct) basestruc=${tmp%\.*} $scriptdir/repairPDB $struct -jprot > $dir/Models/$basestruc\_jprot.pdb $scriptdir/repairPDB $struct -seq |tr 'A-Z' 'a-z' > $dir/Models/$basestruc.seq $scriptdir/scwrl -s $dir/Models/$basestruc.seq -i $dir/Models/$basestruc\_jprot.pdb -o $dir/Models/$basestruc\_scwrl.pdb $scriptdir/repairPDB $dir/Models/$basestruc\_scwrl.pdb -jprot > $dir/Models/$basestruc\_nh.pdb rm $dir/Models/$basestruc\_jprot.pdb $dir/Models/$basestruc\_scwrl.pdb $dir/Models/$basestruc.seq done for forcefield in amber03 charmm27 oplsaa ; do mkdir -p $dir/Models/$forcefield/tpr/ for struct in `ls $dir/Models/1*_nh.pdb` ; do strucname=${struct%\.*} tmp=$(basename $struct) basestruc=${tmp%\.*} cd $dir/Models/$forcefield echo "call pdb2gmx" pdb2gmx -f $strucname -o $dir/Models/$forcefield/$basestruc.gro -p $dir/Models/$forcefield/$basestruc.top -water tip3p -ff $forcefield > $dir/logs/pdb2gmx\_$basestruc\_$forcefield.log grompp -v -f $dir/gromacs$i.mdp -c $dir/Models/$forcefield/$basestruc.gro -p $dir/Models/$forcefield/$basestruc.top -o $dir/Models/$forcefield/tpr/$basestruc.tpr > $dir/logs/grompp\_$basestruc\_$forcefield.log done done
</source>
now we have a lot of .tpr files, that need a mdrun, e.g.: <source lang="bash">
- !/bin/bash
- $-N MDSIM
- $-S /bin/bash
- $-M <mail>
- $-o $HOME/logs/mdrun_amber03_1J8U_nh.log -j y
. profile
cd $HOME #not strictly neccessary, but who knows.. mdrun -v -deffnm minimizeGromacs/Models/amber03/tpr/1J8U_nh.tpr </source> create a lot of these scripts and qsub them, done.
run g_energy
run g_energy for all minimization runs: <source lang="bash">
- !/bin/bash
for fi in `ls minimizeGromacs/Models/*/tpr/*.edr` ; do
tmp=$(basename $fi) fname=${tmp%\.tpr*} echo -e "1\n2\n12\n\n"|g_energy -f $fi -o $fname\_$(echo $fi|cut -d '/' -f 3)_all.xvg > $fname\_$(echo $fi|cut -d '/' -f 3)_all.stats
done
for fi in `ls minimizeGromacs/Models/*/tpr/*.edr` ; do tmp=$(basename $fi) fname=${tmp%\.tpr*} echo -e "1\n\n"|g_energy -f $fi -o $fname\_$(echo $fi|cut -d '/' -f 3)_bonds.xvg done
for fi in `ls minimizeGromacs/Models/*/tpr/*.edr` ; do
tmp=$(basename $fi) fname=${tmp%\.tpr*} echo -e "2\n\n"|g_energy -f $fi -o $fname\_$(echo $fi|cut -d '/' -f 3)_angle.xvg
done
for fi in `ls minimizeGromacs/Models/*/tpr/*.edr` ; do
tmp=$(basename $fi) fname=${tmp%\.tpr*} attribute=12 if [ -n "$(echo $fi|grep -i charmm )" ] ; then attribute=13 fi echo -e "$attribute\n\n"|g_energy -f $fi -o $fname\_$(echo $fi|cut -d '/' -f 3)_potential.xvg
done </source>