It is straightforward a to build a model using information from multiple templates -- simply provide an alignment between all of the templates and your target sequence, and list all of the templates in the knowns argument, as demonstrated below. MODELLER will automatically combine the templates; there is no need to superpose the structures (although you can request that this is done by setting automodel.initial_malign3d).
# Homology modeling with multiple templates from modeller import * # Load standard Modeller classes from modeller.automodel import * # Load the automodel class log.verbose() # request verbose output env = environ() # create a new MODELLER environment to build this model in # directories for input atom files env.io.atom_files_directory = ['.', '../atom_files'] a = automodel(env, alnfile = 'align-multiple.ali', # alignment filename knowns = ('5fd1', '1bqx'), # codes of the templates sequence = '1fdx') # code of the target a.starting_model= 1 # index of the first model a.ending_model = 1 # index of the last model # (determines how many models to calculate) a.make() # do the actual homology modeling