将GenBank Flatfiles转换为FASTA

时间:2011-06-13 21:55:11

标签: python perl biopython bioperl fasta

我需要解析一个初步的GenBank Flatfile。该序列尚未发布,因此我无法通过加入查找并下载FASTA文件。我是Bioinformatics的新手,有人可以告诉我在哪里可以找到BioPerl或BioPython脚本来自己做吗?谢谢!

2 个答案:

答案 0 :(得分:0)

您需要Bio::SeqIO模块来读取或写出生物信息学数据。 SeqIO HOWTO应该告诉您需要了解的所有内容,但here's a small read-a-GenBank-file script in Perl可以帮助您入门!

答案 1 :(得分:0)

我在这里为您提供Biopython解决方案。我将首先假设您的genbank文件与基因组序列有关,然后我会提供一个不同的解决方案,假设它是一个基因序列。事实上,知道你正在处理哪些内容会很有帮助。

基因组序列解析:

从文件中解析您的自定义genbank flatfile:

from Bio import SeqIO
record = SeqIO.read("yourGenbankFileDirectory/yourGenbankFile.gb","genbank")

如果您只想要原始序列:

rawSequence = record.seq.tostring()

现在也许您需要这个序列的名称,在制作.fasta之前给序列一个“>标题”。让我们看看genbank .gb文件中包含的名称:

nameSequence = record.features[0].qualifiers

这应该返回一个字典,其中包含该genbank文件的作者注释的整个序列的各种同义词

基因序列解析:

从文件中解析您的自定义genbank flatfile:

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]