io = <io_data> | Options for reading atom files | |
edit_align_codes = <str:0> | 'last' | codes of proteins in the alignment to be edited |
base_align_codes = <str:0> | 'rest' | codes of proteins in the alignment to be used as the base |
min_base_entries = <int:1> | 1 | minimal number of templates in EDIT_ALIGNMENT |
overhang = <int:1> | 0 | un-penalized overhangs in protein comparisons |
edit_align_codes specifies the alignment codes for the alignment entries whose overhangs are to be cut; in addition, all or last can be used.
base_align_codes specifies the alignment codes for the alignment entries that are used to determine the extent of the overhangs to be cut from the edited entries; in addition, all or rest (relative to edit_align_codes) can be used.
The same entries can be cut and used for determining the base.
The base of the alignment is determined by the first and last alignment positions that have at least min_base_entries entries that started by that position, beginning from the first and last alignment positions, respectively.
The cuts are shortened by overhang residues respectively, so that reasonably short terminii can be easily modeled ab initio if desired.
The io argument is used because the beginning and ending residue numbers for the `structure' entries in the alignment are renumbered automatically by reading the appropriate atom files.
# Example for: alignment.edit() # Read an alignment, write it out in the 'PAP' format, with overhangs cut. log.level(1, 1, 1, 1, 0) env = environ() env.io.atom_files_directory = './:../atom_files' aln = alignment(env, file='overhang.ali', align_codes='all', alignment_format='PIR') # Cut overhangs in the 1is4 sequence that are longer than 3 residues # relative to the longest remaining entry in the alignment: aln.edit(edit_align_codes='1is4', base_align_codes='rest', min_base_entries=1, overhang=3) aln.write(file='overhang-1.pir', alignment_format='PIR') aln.write(file='overhang-1.pap', alignment_format='PAP')