Task04 protocol

From Bioinformatikpedia

Sources

You can checkout the git repository containing all relevant data an scripts by:

git clone /mnt/home/student/angermue/mp/tasks/task04 <your destination>

Template selection

  1. Building the target profile
hhblits -i templates/1ogs_A.seq -oa3m templates/1ogs_A.a3m -n 1
  1. Building the HMM
hhmake -i templates/1ogs_A.a3m -o templates/1ogs_A.hhm
  1. Searching the pdb70 (done on a server at the soeding lab)
hhsearch -i templates/1ogs_A.hhm -d /cluster/databases/casp/casp_db70/db/pdb.hhm -o templates/1ogs_A.hhr

Modeller

Single-template modelling

  1. Creating the target-template alignment
from modeller import *
import sys

target   = sys.argv[1]
template = sys.argv[2]
alifile  = '-'.join([target, template])

log.verbose()
env = environ()
aln = alignment(env)
mdl = model(env, file=template, model_segment=('FIRST:@', 'END:'))
aln.append_model(mdl, align_codes=template, atom_files=template)
aln.append(file=target+".pir", align_codes=target)

aln.align2d()
aln.check()
aln.write(file=alifile+'.pir', alignment_format='PIR')
  1. Creating the model
from modeller import *
from modeller.automodel import *    
import sys

target   = sys.argv[1]
template = sys.argv[2]
alifile  = '-'.join([target, template])

log.verbose()   
env = environ() 
a = automodel(env,
             alnfile  = alifile + '.pir',   
             knowns   = template,              
             sequence = target,
             assess_methods=(assess.DOPE, assess.GA341))
a.starting_model= 1                
a.ending_model  = 1                
a.make()

Multiple-template modelling

  1. Aligning the templates
from modeller import *

templates = ['2wnw_A', '2y24_A', '3kl0_A']
files = templates
ali = "-".join(templates) + '.pir'

log.verbose()
env = environ()
aln = alignment(env)
for file in files:
          mdl = model(env, file=file, model_segment=('FIRST:A', 'LAST:A'))
          aln.append_model(mdl, atom_files=file, align_codes=file+'A')
aln.salign()
aln.write(file=ali, alignment_format='PIR')
  1. Adding the target to the template
from modeller import *
log.verbose()
env = environ()
env.libs.topology.read(file='$(LIB)/top_heav.lib')

name='2wnw_A-2y24_A-3kl0_A'

aln = alignment(env)
aln.append(file=name+'.pir', align_codes='all')
aln_block = len(aln)
aln.append(file='1ogs_A.pir', align_codes='1ogs_A')
aln.salign()
aln.write(file='1ogs_A-'+name+'.pir', alignment_format='PIR')
  1. Creating the model
from modeller import *
from modeller.automodel import *

templates = ['2wnw_A', '2y24_A', '3kl0_A']
files = templates
ali = "-".join(templates)+'.pir'

env = environ()
a = automodel(env, alnfile='1ogs_A-'+ali,
              knowns=(files), sequence='1ogs_A')
a.starting_model = 1
a.ending_model = 1
a.make()

Model evaluation

  1. Computing the DOPE score per residue
from modeller import *
from modeller.scripts import complete_pdb
import sys

pdbfile = sys.argv[1] + '.pdb'
profile = sys.argv[1] + '.profile'

log.verbose()    # request verbose output
env = environ()
env.libs.topology.read(file='$(LIB)/top_heav.lib') # read topology
env.libs.parameters.read(file='$(LIB)/par.lib') # read parameters

# read model file
mdl = complete_pdb(env, pdbfile)

# Assess with DOPE:
s = selection(mdl)   # all atom selection
s.assess_dope(output='ENERGY_PROFILE NO_REPORT', file=profile,
              normalize_profile=True, smoothing_window=15)
  1. Computing the normalized DOPE score
from modeller import *
from modeller.scripts import complete_pdb
import sys

pdbfile = sys.argv[1] + '.pdb'

log.verbose()    # request verbose output
env = environ()
env.libs.topology.read(file='$(LIB)/top_heav.lib') # read topology
env.libs.parameters.read(file='$(LIB)/par.lib') # read parameters

mdl = complete_pdb(env, pdbfile)
zscore = mdl.assess_normalized_dope()
  1. Computing the QMEAN6 score

We used the structure assessment feature of the SWISS-MODEL web-interace.

Creating the HHsearch alignment

There is a script hhmakemodel.pl in the HHsearch package for extracting PIR alignments from hhr files:

hhmakemodel.pl -i templates/1ogs_A.hhr -m <hit> -pir <file.pir> [-q data/1ogs_A.seq]

SWISS-MODEL

Automated mode

We used the web-interface and specified the template in 'Use a specific template'.

Alignment mode

We used the web-interface and uploaded the alignment.

I-TASSER server

We used the web-interface and specified the template to use under 'Option 1: Specify template without alignment' and a maximum sequence identity of 60% under 'Option 2: Exclude homologous templates'.

3D-JIGSAW

We prepared the two input models modeller.pdb and itasser.pdb with repairPDB and combined them to a single PDB file:

../repairPDB.pl modeller.pdb >> joint.pdb
../repairPDB.pl itasser.pdb >> joint.pdb

The target sequence and joint.pdb were used as input parameters for the 3D-JIGSAW web-interface.