Task7 Hemochromatosis Protocol
Contents
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">
- !/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">
- !/bin/bash
SCWRL="/opt/SS12-Practical/scwrl4/Scwrl4"
- compute the native one
$SCWRL -i 1a6zC.pdb -s noMut.seq -o ./out/scwrl_noMut.pdb
- 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">
- !/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">
- !/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">
- !/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`
- open(LOGFILE,"<scwrl_WT_$currentIts.tpr.log") or die "log file wasnt there";
- while(<LOGFILE>){
- my $currentLine=$_;
- chomp $currentLine;
- if ($currentLine=~m/
- }
}
</source>
To create all energies for all created models we used the following bash-script.
<source lang="bash">
- !/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
- 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
- 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
- g_energy -f amber99sb-ildn$MODELNAME.tpr.edr -o amber99sb-ildnenergy_1.xvg
mv *$MODELNAME* Dir_$MODELNAME
- mv *energy* Dir_$MODELNAME
done
</source>
calling xmgrace :
<source lang="bash">
- !/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.