Task7 Hemochromatosis Protocol

From Bioinformatikpedia

Data preparation

First we extracted the C chain (HFE) from the pdb structure and adjusted the residue numbers. We also extracted the sequence.

<source lang="bash">

  1. !/bin/bash

perl repairPDB.pl 1a6z.ent C: -offset 22 > 1a6zC.pdb; perl repairPDB.pl 1a6zC.pdb -seq > 1a6zC.seq; </source>


SCWRL

The mutations were manually inserted into the (lowercase) sequence. SCWRL was then run by an automated bash script.

<source lang="bash">

  1. !/bin/bash

SCWRL="/opt/SS12-Practical/scwrl4/Scwrl4"

  1. compute the native one

$SCWRL -i 1a6zC.pdb -s noMut.seq -o ./out/scwrl_noMut.pdb

  1. compute all mutations

for mut in {M35T,V53M,G93R,Q127H,A162S,L183P,T217I,R224W,E277K,C282S} do $SCWRL -i 1a6zC.pdb -s $mut.seq -o ./out/scwrl_$mut.pdb done </source>


FoldX

First the three following files were manually created:

  • run.txt
<TITLE>FOLDX_runscript;
<JOBSTART>#;
<PDBS>#;
<BATCH>list.txt;
<COMMANDS>FOLDX_commandfile;
<BuildModel>#,individual_list.txt;
<END>#;
<OPTIONS>FOLDX_optionfile;
<Temperature>298;
<R>#;
<pH>7;
<IonStrength>0.050;
<water>-CRYSTAL;
<metal>-CRYSTAL;
<VdWDesign>2;
<OutPDB>true;
<pdb_hydrogens>false;
<complex_with_DNA> true;
<END>#;
<JOBEND>#;
<ENDFILE>#;
  • list.txt
1a6zC.pdb
  • individual_list.txt
MC35T;
VC53M;
GC93R;
QC127H;
AC162S;
LC183P;
TC217I;
RC224W;
EC277K;
CC282S;

Then FoldX was run with

<source lang="bash">

  1. !/bin/bash

fX="/opt/SS12-Practical/foldx/FoldX.linux64"

$fX -runfile run.txt > foldX.log </source>


Minimise

The models were first cleaned by repairPDB and then run through minimise. All is automated by the following script:

<source lang="bash">

  1. !/bin/bash

MIN="/opt/SS12-Practical/minimise/minimise"

cd ./models/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Repairing model: "$MODELNAME perl ../repairPDB.pl $model -noh -jprot > ../repaired/$model done


cd ../repaired/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model 1: "$MODELNAME $MIN $model ../run1/$model > ../run1/$MODELNAME.log done


cd ../run1/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model 2: "$MODELNAME $MIN $model ../run2/$model > ../run2/$MODELNAME.log done


cd ../run2/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model 3: "$MODELNAME $MIN $model ../run3/$model > ../run3/$MODELNAME.log done


cd ../run3/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model 4: "$MODELNAME $MIN $model ../run4/$model > ../run4/$MODELNAME.log done


cd ../run4/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model 5: "$MODELNAME $MIN $model ../run5/$model > ../run5/$MODELNAME.log done </source>


Gromacs

To get all runtimes of the different mdrun calls we crated different .mdp files and then called mdrun with this file via the following script:

<source lang="perl">

  1. !/usr/bin/perl

use strict;

my $iterations=shift; my $groFile=shift;


open (TIMEFILE,">allTimes.txt") or die "schlupp"; close (TIMEFILE);

for (my $i=0;$i<$iterations;$i++){ my $currentIts=100+1*$i; open (WRITEFILE, ">$currentIts.mdp") or die "Heureka, we died!"; print WRITEFILE "title= PBSA minimization in vacuum\ncpp=/usr/bin/cpp\ndefine = -DFLEXIBLE -DPOSRES\nimplicit_solvent = GBSA\nintegrator = steep\nemtol = 1.0\nnsteps = $currentIts\nnstenergy = 1\nenergygrps = System\nns_type = grid\ncoulombtype = cut-off\nrcoulomb = 1.0\nrvdw = 1.0\nconstraints = none\npbc = no"; close WRITEFILE; `grompp -v -f $currentIts.mdp -c scwrl_WT.gro -p scwrl_WT.top -o scwrl_WT_$currentIts.tpr`; open(TIMEFILE,">>allTimes.txt")or die "Huch wasn jetz hier so nech?"; print TIMEFILE "$currentIts\t"; close (TIMEFILE); `/usr/bin/time -o allTimes.txt -f "%E\treal\t%U\tuser\t%S\tsystem" -a mdrun -v -deffnm scwrl_WT_$currentIts.tpr > testnew.txt`; `rm mdout.mdp`


  1. open(LOGFILE,"<scwrl_WT_$currentIts.tpr.log") or die "log file wasnt there";
  2. while(<LOGFILE>){
  3. my $currentLine=$_;
  4. chomp $currentLine;
  5. if ($currentLine=~m/


  1. }


} </source>


To create all energies for all created models we used the following bash-script.

<source lang="bash">

  1. !/bin/bash

cd repaired3/

for model in `ls | grep .pdb` do MODELNAME=${model%.[^.]*} echo "Processing model 1: "$MODELNAME" "$model mkdir Dir_$MODELNAME pdb2gmx -f $model -o amber03$MODELNAME.gro -p amber03$MODELNAME.top -ff amber03 -water tip3p grompp -v -f 500.mdp -c amber03$MODELNAME.gro -p amber03$MODELNAME.top -o amber03$MODELNAME.tpr mdrun -v -deffnm amber03$MODELNAME.tpr

  1. g_energy -f amber03$MODELNAME.tpr.edr -o amber03energy_1.xvg
    	pdb2gmx -f $model -o charmm27$MODELNAME.gro -p charmm27$MODELNAME.top -ff charmm27 -water tip3p
       grompp -v -f 500.mdp -c charmm27$MODELNAME.gro -p charmm27$MODELNAME.top -o charmm27$MODELNAME.tpr
       mdrun -v -deffnm charmm27$MODELNAME.tpr
  1. g_energy -f charmm27$MODELNAME.tpr.edr -o charmm27energy_1.xvg

pdb2gmx -f $model -o amber99sb-ildn$MODELNAME.gro -p amber99sb-ildn$MODELNAME.top -ff amber99sb-ildn -water tip3p

       grompp -v -f 500.mdp -c amber99sb-ildn$MODELNAME.gro -p amber99sb-ildn$MODELNAME.top -o amber99sb-ildn$MODELNAME.tpr
       mdrun -v -deffnm amber99sb-ildn$MODELNAME.tpr
  1. g_energy -f amber99sb-ildn$MODELNAME.tpr.edr -o amber99sb-ildnenergy_1.xvg

mv *$MODELNAME* Dir_$MODELNAME

  1. mv *energy* Dir_$MODELNAME

done


</source>

calling xmgrace :

<source lang="bash">

  1. !/bin/bash

cd repaired3/

for directory in `ls -d */` do cd $directory for model in `ls | grep .xvg` do MODELNAME=${model%.[^.]*} echo "Processing model 1: "$MODELNAME xmgrace -hardcopy -printfile $MODELNAME.eps -nxy $MODELNAME done cd .. done

</source>

Afterwards the eps files were converted into png.