Difference between revisions of "TSD Homology modelling protocol"

From Bioinformatikpedia
(6 A RMSD)
(Modeller)
Line 12: Line 12:
 
Get all necessary files
 
Get all necessary files
 
<source lang="bash">
 
<source lang="bash">
  +
cd ../input/
   
  +
#HEXA sequence
test
 
  +
wget http://www.uniprot.org/uniprot/P06865.fasta
  +
sed -ri 's/^>.+/>P06865/' P06865.fasta
   
  +
#Reference structure
  +
wget http://www.pdb.org/pdb/files/2GJX.pdb
  +
  +
#Templates
  +
wget http://www.pdb.org/pdb/files/2GK1.pdb
  +
wget http://www.pdb.org/pdb/files/3GH5.pdb
  +
wget http://www.pdb.org/pdb/files/1O7A.pdb
  +
</source>
  +
  +
Create the pairwise alignments, using Modeller internal methods
  +
<source lang=python>
  +
#!/usr/bin/env python
  +
from modeller import *
  +
  +
OUT='../prediction/'
  +
  +
def makeAli(targetId, targetFile, templateId, templateFile, templateChain) :
  +
env = environ()
  +
aln = alignment(env)
  +
mdl = model(env, file=templateFile, model_segment=('FIRST:'+templateChain, 'LAST:'+templateChain))
  +
aln.append_model(mdl, align_codes=templateId, atom_files=templateFile)
  +
aln.append(file=targetFile, align_codes=targetId, alignment_format='FASTA')
  +
aln.align2d()
  +
aln.check()
  +
aln.write(file=OUT+targetId+templateId+'-2d.ali', alignment_format='PIR')
  +
aln.malign()
  +
aln.check()
  +
aln.write(file=OUT+targetId+templateId+'.ali', alignment_format='PIR')
  +
return
  +
  +
makeAli('P06865','../input/P06865.fasta','2GK1', '../input/2GK1.pdb','A' )
  +
makeAli('P06865','../input/P06865.fasta','1O7A', '../input/1O7A.pdb','D' )
  +
makeAli('P06865','../input/P06865.fasta','3GH5', '../input/3GH5.pdb','A' )
  +
</source>
  +
  +
Call modeller on a single alignment file
  +
<source lang="python">
  +
#!/usr/bin/env python
  +
  +
from modeller import *
  +
from modeller.automodel import *
  +
import os
  +
import sys
  +
  +
ali = sys.argv[1]
  +
strc = sys.argv[2]
  +
wd = sys.argv[3]
  +
  +
os.chdir(wd)
  +
  +
env = environ()
  +
  +
a = automodel(env,
  +
alnfile = ali,
  +
knowns = strc,
  +
sequence = 'P06865',
  +
assess_methods=(assess.DOPE, assess.GA341))
  +
  +
a.starting_model= 1
  +
a.ending_model = 1
  +
a.make()
  +
</source>
  +
  +
Caller script for all modeller predictions
  +
  +
<source lang="python">
  +
#!/bin/bash
  +
  +
#Ugly hotfix so we can work in our own folders later on (who hardcodes filepaths AND doesn't allow output folders?!)
  +
sed -i 's|X:../input|X:../../input|' ../prediction/*.ali
  +
  +
PDBS=( 2GK1 1O7A 3GH5 )
  +
  +
for pdb in "${PDBS[@]}" #Gotta love bash syntax
  +
do
  +
echo "$pdb"
  +
mkdir -p ../prediction/$pdb/
  +
mkdir -p ../prediction/${pdb}_2D/
  +
  +
./createModel.py ../P06865${pdb}.ali ${pdb} ../prediction/$pdb/ &> ../prediction/$pdb/log
  +
./createModel.py ../P06865${pdb}-2d.ali ${pdb} ../prediction/${pdb}_2D/ &> ../prediction/${pdb}_2D/log
  +
  +
done
 
</source>
 
</source>
   

Revision as of 01:58, 2 June 2012

Back to results.

Template selection

HHpred and COMA were employed in order to complement the 3 sequence identity classes.

SWISS-MODEL

The modelling was performed with the webserver of SWISS-MODEL in automated mode and alignment mode.


iTasser

Modeller

Get all necessary files <source lang="bash"> cd ../input/

  1. HEXA sequence

wget http://www.uniprot.org/uniprot/P06865.fasta sed -ri 's/^>.+/>P06865/' P06865.fasta

  1. Reference structure

wget http://www.pdb.org/pdb/files/2GJX.pdb

  1. Templates

wget http://www.pdb.org/pdb/files/2GK1.pdb wget http://www.pdb.org/pdb/files/3GH5.pdb wget http://www.pdb.org/pdb/files/1O7A.pdb </source>

Create the pairwise alignments, using Modeller internal methods <source lang=python>

  1. !/usr/bin/env python

from modeller import *

OUT='../prediction/'

def makeAli(targetId, targetFile, templateId, templateFile, templateChain) :

       env = environ()
       aln = alignment(env)
       mdl = model(env, file=templateFile, model_segment=('FIRST:'+templateChain, 'LAST:'+templateChain))
       aln.append_model(mdl, align_codes=templateId, atom_files=templateFile)
       aln.append(file=targetFile, align_codes=targetId, alignment_format='FASTA')
       aln.align2d()
       aln.check()
       aln.write(file=OUT+targetId+templateId+'-2d.ali', alignment_format='PIR')
       aln.malign()
       aln.check()
       aln.write(file=OUT+targetId+templateId+'.ali', alignment_format='PIR')
       return

makeAli('P06865','../input/P06865.fasta','2GK1', '../input/2GK1.pdb','A' ) makeAli('P06865','../input/P06865.fasta','1O7A', '../input/1O7A.pdb','D' ) makeAli('P06865','../input/P06865.fasta','3GH5', '../input/3GH5.pdb','A' ) </source>

Call modeller on a single alignment file <source lang="python">

  1. !/usr/bin/env python

from modeller import * from modeller.automodel import * import os import sys

ali = sys.argv[1] strc = sys.argv[2] wd = sys.argv[3]

os.chdir(wd)

env = environ()

a = automodel(env,

            alnfile  = ali,
            knowns   = strc,
            sequence = 'P06865',
            assess_methods=(assess.DOPE, assess.GA341))

a.starting_model= 1 a.ending_model = 1 a.make() </source>

Caller script for all modeller predictions

<source lang="python">

  1. !/bin/bash
  1. Ugly hotfix so we can work in our own folders later on (who hardcodes filepaths AND doesn't allow output folders?!)

sed -i 's|X:../input|X:../../input|' ../prediction/*.ali

PDBS=( 2GK1 1O7A 3GH5 )

for pdb in "${PDBS[@]}" #Gotta love bash syntax do

 echo "$pdb"
 mkdir -p ../prediction/$pdb/
 mkdir -p ../prediction/${pdb}_2D/
 ./createModel.py ../P06865${pdb}.ali ${pdb} ../prediction/$pdb/ &> ../prediction/$pdb/log
 ./createModel.py ../P06865${pdb}-2d.ali ${pdb} ../prediction/${pdb}_2D/ &> ../prediction/${pdb}_2D/log

done </source>

6Å RMSD using Pymol

  • Load template and model
  • For each select active site
  • Expand selections by 6Å
  • Extract selections into objects
  • Align objects