# This demonstrates one way to generate an initial alignment between two # PDB sequences. It can later be edited by hand. # Set Modeller environment (including search patch for Model.read()) from modeller import * env = Environ() env.io.atom_files_directory = [".", "../atom_files/"] # Create a new empty alignment and model: aln = Alignment(env) mdl = Model(env) # Read the whole 1fdn atom file code='1fdn' mdl.read(file=code, model_segment=('FIRST:@', 'END:')) # Add the model sequence to the alignment aln.append_model(mdl, align_codes=code, atom_files=code) # Read 5fd1 atom file chain A from 1-63, and add to alignment code='5fd1' mdl.read(file=code, model_segment=('1:A', '63:A')) aln.append_model(mdl, align_codes=code, atom_files=code) # Align them by sequence aln.malign(gap_penalties_1d=(-500, -300)) aln.write(file='fer1-seq.ali') # Align them by structure aln.malign3d(gap_penalties_3d=(0.0, 2.0)) # check the alignment for its suitability for modeling aln.check() aln.write(file='fer1.ali')