【问题标题】:Convert GenBank Flatfiles to FASTA将 GenBank 平面文件转换为 FASTA
【发布时间】:2011-06-13 21:55:11
【问题描述】:

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

【问题讨论】:

  • 谷歌搜索“biopython parse fasta”将biopython.org/wiki/SeqIO 作为第一个匹配项。第二场比赛是解析fasta的教程。这是你要找的吗?
  • 当然,谷歌搜索“bioperl parse fasta”也会给出正确的结果,例如这个常见问题解答:“我想解析 FASTA 或 NCBI -m7 (XML) 格式,我该怎么做?”在bioperl.org/wiki/…

标签: python perl biopython bioperl fasta


【解决方案1】:

您需要Bio::SeqIO 模块来读取或写入生物信息学数据。 SeqIO HOWTO 应该告诉你你需要知道的一切,但 here's a small read-a-GenBank-file script in Perl 让你开始!

【讨论】:

  • 谢谢,这适用于普通的 genbank 文件,但我的实际上是一个初步提交,所以我必须自己解析它。
【解决方案2】:

我在这里为您准备了 Biopython 解决方案。我将首先假设您的 genbank 文件与基因组序列有关,然后我将提供不同的解决方案,假设它是基因序列。确实,知道您正在处理哪些问题会很有帮助。

基因组序列解析:

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

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 平面文件:

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]

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 2012-08-31
    • 2016-01-14
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 2020-04-18
    相关资源
    最近更新 更多