Difference between revisions of "Lab Journal Hemochromatosis Task9"

From Bioinformatikpedia
Line 27: Line 27:
 
f.write("".join(mut_seq[3:])) #leave out first three residues because they are missing in the PDB structure
 
f.write("".join(mut_seq[3:])) #leave out first three residues because they are missing in the PDB structure
   
  +
  +
</source>
  +
  +
=== min_structures.sh ===
  +
  +
<source lang="bash">
  +
  +
fx=./foldx/*.pdb
  +
  +
for f in $fx
  +
do
  +
base=${f%.*}
  +
mkdir $base
  +
  +
/opt/SS12-Practical/minimise/minimise $f $base/iter1.pdb > $base/iter1.out
  +
  +
for i in 2 3 4 5
  +
do
  +
p=$(($i-1))
  +
/opt/SS12-Practical/minimise/minimise $base/iter$p.pdb $base/iter$i.pdb > $base/iter$i.out
  +
done
  +
  +
done
  +
</source>
  +
  +
  +
=== get_res.py ===
  +
  +
<source lang="python">
  +
import sys
  +
import os
  +
from collections import defaultdict
  +
  +
folder = sys.argv[1]
  +
  +
mutNames = os.listdir(folder)
  +
eList = defaultdict(list)
  +
for mut in sorted(mutNames):
  +
if not mut.endswith(".pdb"):
  +
continue
  +
mFolder = folder + "/" + mut[:-4]
  +
for i in range(1,6):
  +
fName = mFolder + "/iter"+ str(i) + ".out"
  +
with open(fName) as f:
  +
t = f.readlines()
  +
energy = t[-6].strip()[7:].strip(")")
  +
energy = str(round(float(energy),2))
  +
eList[mut[:-4]].append(energy)
  +
  +
  +
for mut in sorted(eList.keys()):
  +
eList[mut].insert(0,mut)
  +
print "| " + " || ".join(eList[mut])
  +
print "|-"
   
 
</source>
 
</source>

Revision as of 17:08, 25 August 2013

3D mutations with SCWRL4

First, the wild type sequence was extracted from the FASTA entry of 1A6Z on rcsb.org. Then, using mut_seq.py, all mutant sequences were generated. The mutated structures were then generated with SCWRL4 using the following command

Scwrl4 -i <1a6z chain A pdb file> -o <mutated pdb> -s <mutated sequence file>

To check, whether only the right residue was mutated, the sequence of the PDB files containing the mutations were extracted and compared:

RSHSLHYLFMGASEQDLGLSLFEALGYVDDQLFVFYDHESRRVEPRTPWVSSRISSQMWLQLSQSLKGWDHMFTVDFWTIMENHNHSKESHTLQVILGCEMQEDNSTEGYWKYGYDGQDHLEFCPDTLDWRAAEPRAWPTKLEWERHKIRARQNRAYLERDCPAQLQQLLELGRGVLDQQVPPLVKVTHHVTSSVTTLRCRALNYYPQNITMKWLKDKQPMDAKEFEPKDVLPNGDGTYQGWITLAVPPGEEQRYTYQVEHPGLDQPLIVIW
RSHSLHYLFMGASEQDLGLSLFEALGYVDDQLFVFYDDESRRVEPRTPWVSSRISSQMWLQLSQSLKGWDHMFTVDFWTIMENHNHSKESHTLQVILGCEMQEDNSTEGYWKYGYDGQDHLEFCPDTLDWRAAEPRAWPTKLEWERHKIRARQNRAYLERDCPAQLQQLLELGRGVLDQQVPPLVKVTHHVTSSVTTLRCRALNYYPQNITMKWLKDKQPMDAKEFEPKDVLPNGDGTYQGWITLAVPPGEEQRYTCQVEHPGLDQPLIVIW
RSHSLHYLFMGASEQDLGLSLFEALGYVDDQLFVFYDHESRRVEPRTPWVSSRISSQMWLQLSQSLKGWDHIFTVDFWTIMENHNHSKESHTLQVILGCEMQEDNSTEGYWKYGYDGQDHLEFCPDTLDWRAAEPRAWPTKLEWERHKIRARQNRAYLERDCPAQLQQLLELGRGVLDQQVPPLVKVTHHVTSSVTTLRCRALNYYPQNITMKWLKDKQPMDAKEFEPKDVLPNGDGTYQGWITLAVPPGEEQRYTCQVEHPGLDQPLIVIW
RSHSLHYLFMGASEQDLGLSLFEALGYVDDQLFVFYDHESRRVEPRTPWVSSRISSQMWLQLSQSLKGWDHMFTVDFWTIMENHNHSKESHTLQVILGCEMQEDNSTEGYWKYGYDGQDHLEFCPDTLDWRAAEPRAWPTKLEWERHKIRARQNRAYLERDCPAQLQQLLELGRGVLDQQVPPLVKVTHHVISSVTTLRCRALNYYPQNITMKWLKDKQPMDAKEFEPKDVLPNGDGTYQGWITLAVPPGEEQRYTCQVEHPGLDQPLIVIW
RSHSLHYLFMGASEQDLGLSLFEALGYMDDQLFVFYDHESRRVEPRTPWVSSRISSQMWLQLSQSLKGWDHMFTVDFWTIMENHNHSKESHTLQVILGCEMQEDNSTEGYWKYGYDGQDHLEFCPDTLDWRAAEPRAWPTKLEWERHKIRARQNRAYLERDCPAQLQQLLELGRGVLDQQVPPLVKVTHHVTSSVTTLRCRALNYYPQNITMKWLKDKQPMDAKEFEPKDVLPNGDGTYQGWITLAVPPGEEQRYTCQVEHPGLDQPLIVIW

mut_seq.py

<source lang="python"> import copy seq="rllrshslhylfmgaseqdlglslfealgyvddqlfvfydhesrrveprtpwvssrissqmwlqlsqslkgwdhmftvdfwtimenhnhskeshtlqvilgcemqednstegywkygydgqdhlefcpdtldwraaeprawptklewerhkirarqnraylerdcpaqlqqllelgrgvldqqvpplvkvthhvtssvttlrcralnyypqnitmkwlkdkqpmdakefepkdvlpngdgtyqgwitlavppgeeqrytcqvehpgldqpliviw" seq= list(seq)

mut = {53:"M",63:"D",97:"I",217:"I",282:"Y"}

for key in mut.iterkeys(): mut_seq = copy.deepcopy(seq) mut_seq[key-23] = mut[key] ## -(22+1) 22 for PDB - seq offset and 1 for indexing starting at 0 fName= str(key) + mut[key] + ".seq" with open(fName,"w+") as f: f.write("".join(mut_seq[3:])) #leave out first three residues because they are missing in the PDB structure


</source>

min_structures.sh

<source lang="bash">

fx=./foldx/*.pdb

for f in $fx do base=${f%.*} mkdir $base

/opt/SS12-Practical/minimise/minimise $f $base/iter1.pdb > $base/iter1.out

for i in 2 3 4 5 do p=$(($i-1)) /opt/SS12-Practical/minimise/minimise $base/iter$p.pdb $base/iter$i.pdb > $base/iter$i.out done

done </source>


get_res.py

<source lang="python"> import sys import os from collections import defaultdict

folder = sys.argv[1]

mutNames = os.listdir(folder) eList = defaultdict(list) for mut in sorted(mutNames): if not mut.endswith(".pdb"): continue mFolder = folder + "/" + mut[:-4] for i in range(1,6): fName = mFolder + "/iter"+ str(i) + ".out" with open(fName) as f: t = f.readlines() energy = t[-6].strip()[7:].strip(")") energy = str(round(float(energy),2)) eList[mut[:-4]].append(energy)


for mut in sorted(eList.keys()): eList[mut].insert(0,mut) print "| " + " || ".join(eList[mut]) print "|-"

</source>