我有兴趣提取数字" 4677450"从下面的fasta文件中,把它变成一个变量。我的代码有效,但看起来很难看。我想学习更有效的方法来做到这一点。有人可以教我怎么做?
>gi|47118301|dbj|BA000007.2| (4677450 - 4678851) AAACATCTCCCTGAACCGTTCCGCATTCGTGTTATTGAGCCAGTAAAACGTACCACTCGCGCTTATCGTG AAGAGGCAATTATTAAATCCGGTATGAACCCGTTCCTGCTGGATAGCGAAGATG
答案 0 :(得分:2)
使用BioPython获取读取的描述,然后使用正则表达式进行解析。
from Bio import SeqIO
import re
with open(fasta_path, 'rb') as fin:
s = SeqIO.parse(fin, 'fasta')
for r in s:
num_you_want = int(re.findall('\((\d+) - \d+\)', r.description)[0])