This command `colors' the model according to a given alignment, aln, between the model and a sequence. The model has to be the first protein in the alignment. The second protein can be any sequence, with or without known structure.
The coloring is done by setting the B (isotropic temperature factor) field in the model as follows:
The model can then be written out with model.write() as a PDB file, and colored using your PDB viewer based on the temperature factors. You can then inspect the model for the structural context of deletions and insertions. This is useful in optimizing the alignment for comparative modeling.
# Example for: model.color() # Two demos: # # 1) Use a given alignment to color a structure according to # insertions and deletions in a pairwise alignment. # # 2) Superpose two 3D structure and do (1). from modeller import * env = environ() env.io.atom_files_directory = ['../atom_files'] # Demo 1: mdl = model(env) aln = alignment(env) mdl.read(file='2nbt', model_segment=('FIRST:A', 'LAST:A')) aln.append(file='toxin.ali', align_codes=('2nbt', '1fas'), remove_gaps=True) mdl.color(aln) mdl.write(file='2nbt-1.clr') # Demo 2: aln = alignment(env) segs = {'2nbt':('1:A', '66:A'), '1fas':('1:A', '61:A')} for code in ('2nbt', '1fas'): mdl.read(file=code, model_segment=segs[code]) aln.append_model(mdl, align_codes=code, atom_files=code) aln.align(gap_penalties_1d=(-600, -400)) aln.malign3d(gap_penalties_3d=(0, 3.0)) aln.write(file='color_aln_model.pap', alignment_format='PAP') mdl.read(file='2nbt', model_segment=segs['2nbt']) mdl.color(aln) mdl.write(file='2nbt-2.clr')