顺序计数模式

2024-10-01 07:11:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我在文本文件中有如下序列

>; 第一页

第二次是用VvkVvVdVkVrVkrVpnkkVyyIrvTWsgateryRrySkffDqqQMLdKp梅ggqkdpkqrIpflpgkKilRrshirAvkrlipIdkKalqlpPyqqqqqqqqqqqqqqqqqqqqqqqtqqqqqtqyyyykqtqqqqqeeeqggvgqgqgqgqqqqeeekyTvyyyTadqdqdqdqdqdqdqdqdqdqdqdqdqdqdqqqqqqqdqdqqdqqdqqqqqqqq我DGVSRHQNAMGREKELLNNQRDGRFEGRLVDGDVKQRSPKMRPPPRRDMTIPRGLNL

>; 第2页

Maevrkptkrskpkgtaaelqsvseavrgsvlekaklevpldyenvitqrkqiysdp lrdlmfpmedisisvigrqrrtvqstvedaekraqslvkeciktystdwhvnykye dfsgfrmlpckslrpekipnhvfeidedCekdesslcsqgggvikqgwlhkanvnst itvmkvfkrryltqlpdgsyilnsykdeknskskskiyldacidvqpkmrrhafeldkyshylaeteqewimlkkiiquintdslvekdtveaeetssqgkaEnimaslersmhpelmkygreteqlnklsrgdgrqnlfsfdsevqrldfsgepdvkpfe ekcnkrfmvnchdltfnilgigdnakgpptnverpfinlalfdvkknckisdfhvdlnppsvremwgtstqlsndgnakgfspesligiaesqlcykqgifsvtnphpeiflvvr

>; P3页

gddsewklpvdqkcehklwkarlsgyealskiqkikdekspewskylklikkFvTds NAVQLkgLeaAlvvenahvagkttgevsvsvskvvfnqpkakelgielgielmyveie kgesvqellkgldnknpkiivacietlklskiiskpiikvlfesrdkav rdeaklfaiyrwnrdavkhtlqinsvqleewkleEwvkleEwkLptgapkpsrflsqqelea klqqsgdaeggddgDgDgDayelldayellDaveilskelpkydkiekKwKwklekleklekleklekleqelsquel屋檐

。在

在这些序列中总共有100个序列,我使用python脚本搜索了一个感兴趣的模式,如下所示

import re

infile=open("seq.fasta",'r')

out=open("results.csv",'w')
pattern=re.compile(r"(P[A-Z]{2}P)")
for line in infile:
    line = line.strip("\n")
    if line.startswith('>'):
        name=line
    else:
        s = re.findall(pattern,line)
    print '%s:%s' %(name,s)
    out.write('%s:\t%s\n' %(name,s))

这个脚本完美地工作了它给了我想要的模式…现在我想计算每个序列中感兴趣的模式,脚本输出如下

>

p1:PGCP

>

p1:PHCP,PKCP。等等

但我想说的是:

第一页:1页

>

p1:2。在

有谁能告诉我如何使用python实现这一点吗


Tags: namegtre脚本line模式序列open
1条回答
网友
1楼 · 发布于 2024-10-01 07:11:31

findall方法返回匹配字符串的列表。{{cd2>你可以在代码中使用。在

out.write('%s:\t%s\n' %(name,len(s)))

相关问题 更多 >