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 这样的兄弟项目。


特点

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

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

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

  • 处理序列格式的选项。

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

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

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

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


目标

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

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

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

  • 可用于聚类代码、PDB、NaiveBayes 和 Markov 模型的快速数组操作。

  • 基因组数据分析。


优势

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

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

  • 读取和写入树视图类型的文件。

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

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

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

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

  • 基于食谱样式的清晰文档。


案例研究示例

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

群体遗传学

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

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

RNA结构

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

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