从 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])
我正在尝试使用 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])