# Example for: model.transfer_xyz() # This will build a model for a given sequence by copying # coordinates from aligned templates. When the templates # have the same sequence as the target, this procedure ensures # that the new model corresponds to the MODELLER topology library. from modeller import * env = environ() env.io.atom_files_directory = ['.', '../atom_files'] env.libs.topology.read(file='$(LIB)/top_heav.lib') env.libs.parameters.read(file='$(LIB)/par.lib') # Read the sequence and calculate its topology: aln = alignment(env, file='toxin.ali', align_codes=('2ctx', '2nbt')) aln.malign3d(fit=False) aln.append(file='toxin.ali', align_codes='1fas') mdl = model(env) mdl.generate_topology(aln['1fas']) # Assign the average of the equivalent template coordinates to MODEL: mdl.transfer_xyz(aln) # Get the remaining undefined coordinates from internal coordinates: mdl.build(initialize_xyz=False, build_method='INTERNAL_COORDINATES') # Write the final MODEL coordinates to a PDB file: mdl.write(file='1fas.ini')