Journal structure based mutation analysis (PKU)

From Bioinformatikpedia

scwrl

The script we used for the scwrl execution <source lang="bash">

  1. !/bin/sh
  2. 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">

  1. !/bin/sh
  2. 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">

  1. !/bin/bash
  2. $-N MDSIM
  3. $-S /bin/bash
  4. $-M <mail>
  5. $-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">

  1. !/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>