Biopython 简明教程

Biopython - Introduction

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 可移植、清晰且具有易于学习的语法。下面列出了一些显著的特性:

  1. 解释型、交互式且面向对象。

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

  3. 处理序列格式的选项。

  4. 管理蛋白质结构的工具。

  5. BioSQL - 用于存储序列及特性和注释的标准 SQL 表集。

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

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

Goals

Biopython 的目标是通过 Python 语言为生物信息学提供简单、标准且广泛的访问途径。以下列出 Biopython 的具体目标:

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

  2. 高质量、可重复使用的模块和脚本。

  3. 可在集群代码、PDB、朴素贝叶斯和马尔可夫模型中使用的快速数组操纵。

  4. Genomic data analysis.

Advantages

Biopython 所需的代码极少,并具有以下优势:

  1. 提供用于聚类中的微阵列数据类型。

  2. 读取并写入 Tree-View 类型文件。

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

  4. 支持在 Medline 应用程序中使用的日志数据。

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

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

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

Sample Case Study

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

Population Genetics

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

Biopython 提供用于群体遗传学的 Bio.PopGen 模块。此模块包含收集有关经典群体遗传学的信息所需的所有函数。

RNA Structure

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

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