我有包含如下序列的文本文件(seq.fasta)
M1
MPMILGYWNVRGLTHPIRMLLEYTDSSYDEKRYTMGDAPDFDRSQWLNEKFKLGLDFPNL
PYLIDGSHKITQSNAILRYLARKHHLDGETEEERIRADIVENQVMDTRMQLIMLCYNPDF
EKQKPEFLKTIPEKMKLYSEFLGKRPWFAGDKVTYVDFLAYDILDQYRMFEPKCLDAFPN
LRDFLARFEGLKKISAYMKSSRYIATPIFSKMAHWSNK
我必须准确提取 4 个字符的主题 PXXP(XX 可以是任何字符)。
我尝试了以下代码:
import re
infile=open("seq.fasta",'r')
out=open("out.csv",'w')
for line in infile:
line = line.strip("\n")
if line.startswith('>'):
name=line
else:
motif = re.compile(r"(\bP{2}P\b)")
c = line.count('motif')
print '%s:%s' %(name,c)
out.write('%s:%s\n' %(name,c))
但它没有找到主题。
请您参考如下方法:
试试这个:
re.compile(r"(P..P)")
.表示任意字符。
{2} 表示最后一个标记必须重复两次(在您的正则表达式中,这表示 PP。
\b 匹配单词边界
