从 FASTA 文件中提取基因位置

Extracting gene location from FASTA file

我正在尝试使用 BioPython 从 fasta 文件中提取基因位置,但 .location 函数不起作用。我想避免使用正则表达式,因为此函数必须处理不同的文件,并且所有文件都略有不同 headers.

header 看起来像: >Xdna:chromosomechromosome:GRCh38:X:111410060:111411807:-1

我希望输出为: 开始 = 111410060 结束 = 111411807

如果您的不同 fasta 文件的 headers 总是以 '...chr:start:end:strand' 结尾并且不同的部分由':' 您可以尝试将 .description 拆分为 .split(":") 和 select 结果列表的倒数第二个和倒数第二个位置。

下面的例子对我有用header:

from Bio import SeqIO
path = 'fasta_test.fasta'
records = SeqIO.parse(open(path), 'fasta')
record = next(records)
parts = record.description.split(":")
print('start =', parts[-3], 'end =', parts[-2])