Biopython 简介


Biopython 是最大和最流行的 Python 生物信息学包。它包含许多用于常见生物信息学任务的不同子模块。它由 Chapman 和 Chang 开发,主要用 Python 编写。它还包含用于优化软件复杂计算部分的 C 代码。它可以在 Windows、Linux、Mac OS X 等平台上运行。

基本上,Biopython 是一个 python 模块的集合,提供处理 DNA、RNA 和蛋白质序列操作的功能,例如 DNA 字符串的反向互补、在蛋白质序列中查找基序等。它提供了许多解析器来读取所有主要的遗传数据库如 GenBank、SwissPort、FASTA 等,以及在 python 环境中运行其他流行的生物信息学软件/工具(如 NCBI BLASTN、Entrez 等)的包装器/接口。它有像 BioPerl、BioJava 和 BioRuby 这样的兄弟项目。

Features


Biopython 是可移植的、清晰的并且具有易于学习的语法。下面列出了一些显着的特点:

  • 解释性、交互性和面向对象。

  • 支持 FASTA、PDB、GenBank、Blast、SCOP、PubMed/Medline、ExPASy 相关格式。

  • 处理序列格式的选项。

  • 管理蛋白质结构的工具。

  • BioSQL: 用于存储序列、特征和注释的标准 SQL 表集。

  • 访问在线服务和数据库,包括 NCBI 服务(Blast、Entrez、PubMed)和 ExPASY 服务(SwissProt、Prosite)。

  • 访问本地服务,包括 Blast、Clustalw、EMBOSS。

Goals


Biopython 的目标是通过 python 语言提供对生物信息学的简单、标准和广泛的访问。 Biopython的具体目标如下:

  • 提供对生物信息学资源的标准化访问。

  • 高质量、可重用的模块和脚本。

  • 可用于集群代码、PDB、NaiveBayes 和马尔科夫模型的快速数组操作。

  • 基因组数据分析。

优点


Biopython 需要的代码非常少,具有以下优点:

  • 提供用于聚类的微阵列数据类型。

  • 读取和写入 Tree-View 类型的文件。

  • 支持用于 PDB 解析、表示和分析的结构数据。

  • 支持 Medline 应用程序中使用的期刊数据。

  • 支持 BioSQL 数据库,这是所有生物信息学项目中广泛使用的标准数据库。

  • 通过提供模块来支持解析器开发,将生物信息学文件解析为 格式化特定的记录对象或序列加特征的通用类。

  • 基于食谱风格的清晰文档。

示例案例研究


让我们检查一些用例(种群遗传学、RNA 结构等),并尝试了解 Biopython 如何在该领域发挥重要作用:

种群遗传学

群体遗传学是对群体内遗传变异的研究,涉及对群体中基因和等位基因频率随空间和时间的变化进行检查和建模。

Biopython 为群体遗传学提供 Bio.PopGen 模块。该模块包含收集有关经典种群遗传学信息的所有必要功能。

RNA结构

对我们的生命至关重要的三种主要生物大分子是 DNA、RNA 和蛋白质。蛋白质是细胞的主力军,作为酶发挥着重要作用。 DNA(脱氧核糖核酸)被认为是细胞的“蓝图”。它携带细胞生长、吸收营养和繁殖所需的所有遗传信息。 RNA(核糖核酸)在细胞中充当“DNA 复印件”。

Biopython 提供了 Bio.Sequence 对象,这些对象代表核苷酸、DNA 和 RNA 的构建块。