我正在编写一个 python 程序,它必须计算突变残基和位置的数字编码一组字符串。这些字符串是蛋白质序列。这些序列存储在 fasta 格式文件中,每个蛋白质序列用逗号分隔。不同蛋白质的序列长度可能不同。在此我试图找到以下位置和序列:变异了。
我使用下面的代码来获得这个。
a = 'AGFESPKLH'
b = 'KGFEHMKLH'
for i in range(len(a)):
if a[i] != b[i]:
print i, a[i], b[i]
但我想要序列文件为输入文件下图将讲述我的项目。在该图中,第一个框代表输入文件序列的对齐。最后一个框代表输出文件。
我怎样才能在Python中做到这一点?
请帮我。
感谢大家抽出宝贵的时间。
example:
input file
MTAQDD,MTAQDD,MTSQED,MTAQDD,MKAQHD
positions 1 2 3 4 5 6 1 2 3 4 5 6
protein sequence1 M T A Q D D T A D
protein sequence2 M T A Q D D T A D
protein sequence3 M T S Q E D T S E
protein sequence4 M T A Q D D T A D
protein sequence5 M K A Q H D K A H
PROTEIN SEQUENCE ALIGNMENT DISCARD NON-VARIABLE REGION
positions 2 2 3 3 5 5 5
protein sequence1 T A D
protein sequence2 T A D
protein sequence3 T S E
protein sequence4 T A D
protein sequence5 K A H
MUTATED RESIDUE IS SPLITED TO SEPARATE COLUMN
输出文件应该是这样的:
position+residue 2T 2K 3A 3S 5D 5E 5H
sequence1 1 0 1 0 1 0 0
sequence2 1 0 1 0 1 0 0
sequence3 1 0 0 1 0 1 0
sequence4 1 0 1 0 1 0 0
sequence5 0 1 1 0 0 0 1
(RESIDUES ARE CODED 1 IF PRESENT, 0 IF ABSENT)