我在文本文件中有如下序列
>; 第一页
第二次是用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实现这一点吗
findall
方法返回匹配字符串的列表。{{cd2>你可以在代码中使用。在相关问题 更多 >
编程相关推荐