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 和马尔可夫模型中使用的快速数组操作。

  • 基因组数据分析。

优点

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

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

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

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

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

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

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

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

案例研究样本

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

群体遗传学

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

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

RNA结构

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

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