我正在尝试编写一个代码来查找蛋白质序列中的模式,然后找到已识别模式的位置(开始和结束)。对于已识别的模式,当我使用.index()搜索索引时,如果存在多个模式,则无法获得正确的起始位置。但在这里,我想要确定的模式的开始和结束位置。 我正在寻找一个简单快捷的方法,而不是做爆炸
import re
from io import StringIO
from Bio import SeqIO
sequence = StringIO(""">seq
FWSTQALLPTTLLGASP
""")
for seqs in SeqIO.parse(sequence, "fasta"):
# to find pattern
p = re.compile("L*")
seqstr = str(seqs.seq)
patternA = p.findall(seqstr)
print(patternA)
for t in patternA:
print(seqstr.index(t))
预期结果:
7 LL 8
12 LL 13
提前谢谢
^{} 是您可能想要使用的,因为它将为您提供一个^{} ,它具有匹配的
start
和end
坐标;这些可用于从原始字符串切片子字符串哪些产出:
关于python中字符串的注意事项,它们是基于零的,这意味着第一个字符编号为
0
。这本书值得一读。Breifly,使用您的序列:相关问题 更多 >
编程相关推荐