Fully automated alignment and modeling
Keywords: manual

Next: Loop optimization Up: More advanced usage Previous: Accessing output data after 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 6.14 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 import *
      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 modeling

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: Loop optimization Up: More advanced usage Previous: Accessing output data after Contents Index