我有一个像这样的大文本文件:
示例:
>chr9:128683-128744
GGATTTCTTCTTAGTTTGGATCCATTGCTGGTGAGCTAGTGGGATTTTTTGGGGGGTGTTA
>chr16:134222-134283
AGCTGGAAGCAGCGTGGGAATCACAGAATGGCCGGGACCTTAAAGGCTTTGCTTGGCCTGG
>chr16:134226-134287
GGAAGCAGCGTGGGAATCACAGAATGGACGGCCGATTAAAGGCTTTGCTTGGCCTGGATTT
>chr1:134723-134784
AAGTGATTCACCCTGCCTTTCCGACCTTCCCCAGAACAGAACACGTTGATCGTGGGCGATA
>chr16:135770-135831
GCCTGAGCAAAGGGCCTGCCCAGACAAGATTTTTTAATTGTTTAAAAACCGAATAAATGTT
这个文件被分成不同的部分,每个部分有2行。第一行以>
(这一行称为ID)开头,第二行是字母序列。
我想在字母序列中搜索一个短的motif(GGAC
),如果它们包含motif,我想得到那一行的ID(在那上面一行)。你知道吗
对于上述示例,以下是预期输出:
预期产量:
>chr16:134222-134283
>chr16:134226-134287
我试图在python中使用以下命令来实现这一点,但它并没有返回我想要的结果。你知道吗
infile = open('infile.txt', 'r')
ss = 'CCGA'
new = []
for line in range(len(infile)):
if not infile[line].startswith('>'):
for match in pattern.finder(ss):
new.append(infile[line-1])
你知道怎么修吗?你知道吗
在这里使用发电机可能很方便。你知道吗
所以:
输出:
将Biopython用于此目的将更加健壮和简单:
相关问题 更多 >
编程相关推荐