This command adds the sequence and coordinates of the given model, mdl, to the end of the current alignment.
You should additionally set align_codes and atom_files to the PDB ID and file name, respectively. This information is added to the alignment with the new sequence. (Alternatively, you can set this information later by setting Sequence.code and Sequence.atom_file.)
This command can raise a ValueError if the align code is too long (see Sequence.code.)
# 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')