Python 从fasta文件的头解析特定字符串

Python 从fasta文件的头解析特定字符串,python,bioinformatics,biopython,fasta,Python,Bioinformatics,Biopython,Fasta,我希望从fasta头文件中获取有机体名称,我感兴趣的是从描述中提取OS=(有机体名称) 法斯塔头球 获取FastaHeader的代码 from Bio import SeqIO import re import pandas as pd input_file = "ANIMAL.fasta" fasta_sequences = SeqIO.parse(open(input_file),'fasta') for fasta in fasta_sequences:

我希望从fasta头文件中获取有机体名称,我感兴趣的是从描述中提取OS=(有机体名称)

法斯塔头球 获取FastaHeader的代码
from Bio import SeqIO
import re
import pandas as pd


input_file = "ANIMAL.fasta" 

fasta_sequences = SeqIO.parse(open(input_file),'fasta')
for fasta in fasta_sequences:
    fasta_id, sequence = fasta.id, str(fasta.seq)
    print(fasta.description)
电流输出:

>sp|Q8T8B9|ACMSD_CAEEL 2-amino-3-carboxymuconate-6-semialdehyde decarboxylase OS=Caenorhabditis elegans GN=acsd-1 PE=2 SV=1

>sp|P34455|ACON_CAEEL Probable aconitate hydratase, mitochondrial OS=Caenorhabditis elegans GN=aco-2 PE=3 SV=2
期望输出:

Caenorhabditis elegans
Caenorhabditis elegans

您可以使用正则表达式搜索您的信息:

import re
example = "sp|P34455|ACON_CAEEL Probable aconitate hydratase, mitochondrial OS=Caenorhabditis elegans GN=aco-2 PE=3 SV=2"

start = re.search("OS", example).start()
result = example[start+3:].split("GN")[0].strip()
print(result)
>> Caenorhabditis elegans

这段代码查找“OS=”直到“GN”之后的文本,并删除结尾处的空格

您是否尝试过regex?交叉发布:非常好的方法,谢谢@yannick!:).start()只返回“OS”字符串正确的起始位置的索引?
import re
example = "sp|P34455|ACON_CAEEL Probable aconitate hydratase, mitochondrial OS=Caenorhabditis elegans GN=aco-2 PE=3 SV=2"

start = re.search("OS", example).start()
result = example[start+3:].split("GN")[0].strip()
print(result)
>> Caenorhabditis elegans