Biopython 简介
Biopython是最大和最流行的Python生物信息学包。它包含许多不同的子模块,用于常见的生物信息学任务。它是由Chapman和Chang开发的,主要用Python编写。它还包含C代码以优化软件的复杂计算部分。它可以在Windows、Linux、Mac OS X等系统上运行。
基本上,Biopython是一个Python模块的集合,提供了处理DNA、RNA和蛋白质序列操作的功能,如DNA字符串的反向互补,寻找蛋白质序列中的主题等。它提供了很多解析器来读取所有主要的基因数据库,如GenBank、SwissPort、FASTA等,以及包装器/接口来运行其他流行的生物信息学软件/工具,如NCBI BLASTN、Entrez等,在python环境中运行。它的兄弟项目包括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的具体目标列举如下
- 提供对生物信息学资源的标准化访问。
-
高质量的、可重复使用的模块和脚本。
-
快速阵列操作,可用于Cluster代码、PDB、NaiveBayes和Markov模型。
-
基因组数据分析。
优势
Biopython需要的代码非常少,并且具有以下优点
- 提供用于聚类的微阵列数据类型。
-
读取和写入Tree-View类型的文件。
-
支持用于PDB解析、表示和分析的结构数据。
-
支持Medline应用中使用的期刊数据。
-
支持BioSQL数据库,它是所有生物信息学项目中广泛使用的标准数据库。
-
通过提供模块将生物信息学文件解析为 特定格式的记录对象或序列加特征的通用类别, 支持解析器的开发。
-
基于烹饪书风格的清晰文档。
案例研究样本
让我们来看看一些使用案例(群体遗传学,RNA结构等),并尝试了解Biopython在这个领域是如何发挥重要作用的。
群体遗传学
群体遗传学是对群体内遗传变异的研究,涉及对群体中基因和等位基因频率随空间和时间变化的检查和建模。
Biopython提供了用于群体遗传学的Bio.PopGen模块。这个模块包含了收集经典种群遗传学信息的所有必要功能。
RNA结构
DNA、RNA和蛋白质是我们生活中必不可少的三大生物大分子。蛋白质是细胞的工作母机,作为酶发挥着重要作用。DNA(脱氧核糖核酸)被认为是细胞的 “蓝图”。它携带细胞生长、吸收营养和繁殖所需的所有遗传信息。RNA(核糖核酸)在细胞中起着 “DNA影印 “的作用。
Biopython提供了代表核苷酸的Bio.Sequence对象,它是DNA和RNA的构建块。