问题描述
|
我需要解析一个初步的GenBank Flatfile。该序列尚未发布,因此我无法通过登录查找它并下载FASTA文件。我是Bio@R_674_4045@ics的新手,所以有人可以告诉我在哪里可以找到BioPerl或BioPython脚本来自己完成这项工作吗?谢谢!
解决方法
您需要Bio :: SeqIO模块来读取或写入生物信息学数据。 SeqIO HOWTO应该告诉您所有您需要了解的内容,但这是Perl中的一个小型Gen-file文件读取脚本,可帮助您入门!
, 我在这里为您提供Biopython解决方案。我将首先假设您的基因库文件与基因组序列有关,然后我将提供另一种解决方案,假设它是基因序列。确实,知道您要处理的是哪一个将很有帮助。
基因组序列解析:
通过以下方式从文件中解析自定义genbank平面文件:
from Bio import SeqIO
record = SeqIO.read(\"yourGenbankFileDirectory/yourGenbankFile.gb\",\"genbank\")
如果只需要原始序列,则:
rawSequence = record.seq.tostring()
现在,也许您需要为此序列命名,以便在创建.fasta之前为序列赋予\“> header \”。让我们看一下genbank .gb文件附带的名称:
nameSequence = record.features[0].qualifiers
这应该返回一个字典,该字典具有该序列库文件的作者注释的该整个序列的各种同义词
基因序列解析:
通过以下方式从文件中解析自定义genbank平面文件:
from Bio import SeqIO
record = SeqIO.read(\"yourGenbankFileDirectory/yourGenbankFile.gb\",\"genbank\")
要获取该基因的原始序列列表/所有基因列表,则:
rawSequenceList = [gene.extract(record.seq.tostring()) for gene in record.features]
获取每个基因序列的名称列表(更确切地说是每个基因的同义词字典)
nameSequenceList = [gene.qualifiers for gene in record.features]