Difference between revisions of "Task04 protocol"
(One intermediate revision by the same user not shown) | |||
Line 176: | Line 176: | ||
== I-TASSER server == |
== I-TASSER server == |
||
− | We used the [http://zhanglab.ccmb.med.umich.edu/I-TASSER/ web-interface] and specified the template under 'Option 1: Specify template without alignment'. |
+ | We used the [http://zhanglab.ccmb.med.umich.edu/I-TASSER/ 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 <tt>modeller.pdb</tt> and <tt>itasser.pdb</tt> with [https://github.com/offmarc/AGroS repairPDB] and combined them to a single PDB file: |
||
+ | <pre> |
||
+ | ../repairPDB.pl modeller.pdb >> joint.pdb |
||
+ | ../repairPDB.pl itasser.pdb >> joint.pdb |
||
+ | </pre> |
||
+ | The target sequence and joint.pdb were used as input parameters for the [http://bmm.cancerresearchuk.org/~populus/populus_submit.html 3D-JIGSAW web-interface]. |
Latest revision as of 21:26, 3 June 2012
Contents
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
- Building the target profile
hhblits -i templates/1ogs_A.seq -oa3m templates/1ogs_A.a3m -n 1
- Building the HMM
hhmake -i templates/1ogs_A.a3m -o templates/1ogs_A.hhm
- 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
- 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')
- 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
- 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')
- 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')
- 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
- 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)
- 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()
- 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.