biopython和bioperl, biojava项目类似,都是Open Bioinformatics Foundation组织的项目之一,旨在提供一个编程接口,方便生物信息数据的处理。OBF的成员项目部分如下
biopython基于python这个简单易学的编程语言,提供了一系列处理常见生物信息任务的接口,具体可以完成以下几种任务
1. 对常用的文件格式,比如fasta, blast等,进行读写
2. 对blast, clustalw等常用软件的集成
3. 对NCBI, SwissPort, PDB等常用生物信息学数据库的检索和解析
4. 进化树的构建
5. 基因组数据的可视化
biopython采用了面向对象的开发模式,将各个功能封装成了不同的class。学习biopython, 就是对不同class及其方法的学习过程。为了方便管理源代码,根据不同功能分拆成了不同的子模块,常用的子模块有以下几个
1. Bio.Seq, 提供了Seq类,即生物学序列对象,最常见的就是碱基或者核酸序列,比如fasta文件中保存的序列
2. Bio.SeqRecord, 提供了SeqRecord类,包含了序列的注释信息,比如fasta文件中的序列标识符
3. Bio.SeqIO, 提供了parse方法,来读取不同格式的序列文件,比如fasta/genebank等格式
4. Bio.Align, 提供了MultipleSeqAlignment对象,以及读取多序列比输出结果文件的方法
5. Bio.Blast, 提供了运行blast比对软件的方法,以及解析blast输出结果的方法
6. Bio.Entrez, 提供了NCBI Entrez 系统的接口,可以查询,检索,下载, 解析数据库中的内容
7. Bio.SwissPort, 提供了Swiss-prot数据库的接口,可以查询,检索,下载, 解析数据库中的内容
8. Bio.PDB, 提供了PDB数据库的接口,可以查询,检索,下载, 解析数据库中的内容
9. Bio.Phylo, 提供了查看系统发育树和可视化的各种方法
10. Bio.Graphics, 提供了基因组数据的可视化功能
学习biopython, 不仅可以学习它处理各项任务的具体语法,还可以学习其源代码的组织结构,提供我们的编码能力。在后续的文章中,会详细介绍常用模块的用法。
·end·
—如果喜欢,快分享给你的朋友们吧—
关注我们,解锁更多精彩内容!