Given an initial alignment of two or more structures, this will run Alignment.salign() in an iterative fashion, exploring a range of suitable parameter values, to determine the best structural alignment, as detailed in [Madhusudhan et al., 2009].
# Illustrates the SALIGN iterative multiple structure alignment from modeller import * import modeller.salign log.none() env = Environ() env.io.atom_files_directory = ['.', '../atom_files'] aln = Alignment(env) for (code, chain) in (('1is4', 'A'), ('1uld', 'D'), ('1ulf', 'B'), ('1ulg', 'B'), ('1is5', 'A')): mdl = Model(env, file=code, model_segment=('FIRST:'+chain, 'LAST:'+chain)) aln.append_model(mdl, atom_files=code, align_codes=code+chain) modeller.salign.iterative_structural_align(aln) aln.write(file='1is3A-it.pap', alignment_format='PAP') aln.write(file='1is3A-it.ali', alignment_format='PIR')