next up previous contents index
Next: Loop optimization Up: More advanced usage Previous: Adding additional restraints to   Contents   Index


Fully automated alignment and modeling

If you do not have an initial alignment between your templates and target sequence, MODELLER can derive one for you, fully automatically. All MODELLER requires is a a PIR file containing the target sequence and the template PDB codes (their sequences are not required -- just use a single '*' character -- as MODELLER will read these from the PDBs). Use the automodel class as per usual, but call the automodel.auto_align() method before automodel.make(); see the example below. (MODELLER has a variety of other alignment methods which you can use instead for this purpose; see Section 4.9 for more details.)

Please be aware that the single most important factor that determines the quality of a model is the quality of the alignment. If the alignment is incorrect, the model will also be incorrect. For this reason, automated alignment for comparative modeling should not be used unless the sequences are so similar that the calculated alignment is likely to be correct, which usually requires more than 50% sequence identity. Instead, the alignment should be carefully inspected, optimized by hand, and checked by the alignment.check() command before used in modeling. Moreover, several iterations of alignment and modeling may be necessary in general.

Example: examples/automodel/model-full.py


# A sample script for fully automated comparative modeling

from modeller.automodel import *    # Load the automodel class

log.verbose()
env = environ()

# directories for input atom files
env.io.atom_files_directory = './:../atom_files'

a = automodel(env,
              # file with template codes and target sequence
              alnfile  = 'alignment.seg',
              # PDB codes of the templates
              knowns   = ('5fd1', '1fdn', '1fxd', '2fxb'),
              # code of the target
              sequence = '1fdx')
a.auto_align()                      # get an automatic alignment
a.make()                            # do homology modelling

Example: examples/automodel/alignment.seg


>P1;1fdx
structureX:1fdx:FIRST:@:54:@:ferredoxin:Peptococcus aerogenes: 2.00:-1.00
AYVINDSCIACGACKPECPVNIIQGSIYAIDADSCIDCGSCASVCPVGAPNPED*
>P1;1fdn
structureX:1fdn:FIRST:@:55:@:ferredoxin:Clostrodium acidiurici: 1.84:-1.0
*
>P1;5fd1
structureX:5fd1:FIRST:@:60:@:ferredoxin:Azotobacter vinelandii: 1.90:0.192
*
>P1;1fxd
structureX:1fxd:FIRST:@:58:@:ferredoxin:Desolfovibrio gigas: 1.70:-1.0
*
>P1;2fxb
structureX:2fxb:FIRST:@:60:@:ferredoxin:Bacillus thermoproteolyticus: 2.30:-1.0
*


next up previous contents index
Next: Loop optimization Up: More advanced usage Previous: Adding additional restraints to   Contents   Index
Ben Webb 2006-02-28