我正在研究RNA序列匹配
seq = 'UCAGCUGUCAGUCAUGAUC'
sub_seq =['UGUCAG', 'CAGUCA', 'UCAGCU','GAUC']
我将子序列与序列匹配,匹配的子序列在序列下,如果没有匹配的,使用虚线。输出如下所示:
UCAGCUGUCAGUCAUGAUC
UCAGCU--CAGUCA-GAUC
-----UGUCAG--------
我试着用字典来做这件事
index_dict = {}
for i in xrange(len(sub_seq)):
index_dict[seq.find(sub_seq[i])] = {}
index_dict[seq.find(sub_seq[i])]['sequence'] = sub_seq[i]
index_dict[seq.find(sub_seq[i])]['end_index'] = seq.find(sub_seq[i]) + len(sub_seq[i]) - 1
我无法找出算法做对齐,任何帮助将不胜感激!你知道吗
不确定
UCAGCU CAGUCA-GAUC
来自何处,因为在代码中一次只使用一个子序列假设您允许我稍微更改您的
index_dict
,请考虑:输出:
注意,这是相当冗长的,可以压缩一点。
while True
和for line in lines
循环可以合并成一个循环,但它应该有助于解释一种可能的方法。你知道吗编辑:这是连接最后两个循环的一种方法:
输出:
相关问题 更多 >
编程相关推荐