将GenBank平面文件转换为FASTA
我需要解析一个初步的GenBank平面文件。这个序列还没有公开,所以我不能通过访问号去查找并下载FASTA文件。我对生物信息学还很陌生,有没有人能告诉我在哪里可以找到BioPerl或BioPython的脚本,让我自己来做这个?谢谢!
2 个回答
0
这里有一个使用Biopython的解决方案。首先,我假设你的genbank文件是关于基因组序列的,然后我会提供一个不同的解决方案,假设它实际上是基因序列。其实如果能知道你在处理哪种情况会更有帮助。
基因组序列解析:
从文件中解析你的自定义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文件中注释的这个完整序列的各种同义词。
基因序列解析:
从文件中解析你的自定义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]
0
你需要用到 Bio::SeqIO 这个模块来读取或写出生物信息学的数据。SeqIO使用指南 会告诉你所有需要知道的内容,不过这里有一个简单的Perl脚本,可以用来读取GenBank文件,可以帮助你入门!