如果我查看位置 234,如果该位置有 V、I、E,则打印 1,如果不打印 0,则我有 3 个序列块。输出将包含氨基酸名称以及 1 或 0每个名字。在这种情况下,每个氨基酸下面都会有三个 1 或 0。例如,输出如下所示:
Valine Isoleucine Glutamic Acid
0 0 0
1 0 0
0 1 0
代码给出了正确答案,但输出将是一条由 1 和 0 组成的垂直线。如有任何帮助,我们将不胜感激。
v_list = []
i_list = []
e_list = []
amino_list = 'Valine','Isoleucine' ,'Glutaminc Acid'
content = fasta.read()
print('Valine'+'\t'+'Isoleucine'+'\t'+ 'Glutamic Acid'+'\n')
for line in content.split(">"):
if re.search(r"fibroblast growth factor receptor 1 isoform", line):
sequence = re.sub('NP.*]', '', line)
amino = sequence[4]
if amino in ['V']:
v_list.append(1)
else:
v_list.append(0)
if amino in ['I']:
i_list.append(1)
else:
i_list.append(0)
if amino in ['E']:
e_list.append(1)
else:
e_list.append(0)
for row in v_list:
print row
我认为这应该有效
for i in range(len(v_list)):
print f"{v_list[i]}\t{i_list[i]}\t{e_list[i]}"
您可以通过添加或删除选项卡来调整每列之间的间距
\t