Python 从fasta文件的头解析特定字符串
我希望从fasta头文件中获取有机体名称,我感兴趣的是从描述中提取OS=(有机体名称) 法斯塔头球 获取FastaHeader的代码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:
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