金桔
金币
威望
贡献
回帖0
精华
在线时间 小时
|
先说明一下,我用C/C++,Perl,R都比较多。
处理测序数据的时候,只是 Perl 用的比较多,但不是非得用 Perl 不可。
Perl 用的比较多是因为
- 历史原因:测序技术刚发展起来的时候(人类基因组计划完成之前),Perl 比较方便,而且人类基因组计划也确实在perl的帮助下才得以顺利完成(How Perl saved human genome)。当然这不代表非 Perl 不可,但人们选了 Perl,说明 Perl 至少是最方便的几种语言之一吧。
- BioPerl: 结果很快BioPerl就发展起来了,加上Ewan Birney等牛人的开发和推广,迅速流行起来。BioPerl更完善了Perl作为胶水,粘合各种不同程序的功能(整理程序A的输出,输入到程序B……),特别是Bio::SeqIO,Bio::SearchIO, Bio::AlignIO这些模块和bioperl-run包。
- EnsEMBL:Ewan Birney后来又在 BioPerl 基础上弄了 EnsEMBL (不只是那个数据库,更重要的是EnsEMBL整个系统及其接口,可以套用到各种物种上:Ensembl Genomes),让存储和访问基因组尺度数据的方便性又大大提高了。通用的基因组尺度的数据库,其实UCSC才是先行者,但是EnsEMBL的数据组织和访问比UCSC更系统和规范。而EnsEMBL提供的编程接口基本都是 Perl 的。类似的还有GBrowse和BioMart。
- 个人经验(欢迎指出错误):Perl 写个小脚本检验点小东西很快,不会给你原来的思路太多干扰。R其实也行,只是处理字符串 R (BioStrings)有点慢。
我想说Perl其实一点都不out,最近只是Python比较流行。同实验室用Python的同僚说,BioPython跟BioPerl实在差太远,因此最后投奔Perl了……
"Do not reinvent the wheel" |
|