||
生物信息学的倚天剑和屠龙刀
(The Top Two Tools of Bioinformatics)
————Python & R
生物信息学(Bioinformatics)就是大数据时代的生物学,数据科学=数学和统计学+计算机科学+专业知识(见“数据科学 (Data Science)——成就你的未来”),把专业知识换成生物学,就是生物信息学了,不过通常所说的生物信息学是比较狭义的,专指分子生物信息学,主要是分析核酸和蛋白质数据,不包括免疫信息学、神经信息学、生态信息学、医学信息学、社会信息学.........................
“把思想放在首位,只注重思想” 已经根深蒂固,但科研范式正在改变,若没有能力处理海量数据甚至是以后的宇量数据,纵然有再好的思想也是白搭。 能力和思想平起平坐,同等重要。
生物信息学中的数据就是各种字符的一个多重有序集合(有重复,有次序),用C语言处理很麻烦,若换为解释型语言Perl,则非常方便,其简单的数据类型和强大的正则表达式用起来真的很爽,同一个问题perl源代码只有C源代码的十分之一甚至更少,我本人超过90%的时候都用perl, 要求运行效率的时候才改用C,但也是把C嵌入Perl,统计作图用R。
但perl的语法很随意,而有同样功能的python或Ruby在语法上要好的多,特别是python, 用的很广,在生物信息学和系统生物学中有很多现成的包,在TIOBE的排行中,Python的关注度在最近几个月也一直是perl的两倍左右。
本人也用python写了1000多行代码,总觉得比Perl要麻烦一点点,可能是还没有习惯的原因,不过python程序看起来真的很舒服,很工整,很清晰。
若要用各种统计方法,那R语言很方便,很多时候调用两个函数就可以了,也可以很容易地画出很漂亮的图。当然也可以用Matlab,不过R语言会越来越流行。
就像 “大数据时代的倚天剑和屠龙刀是Hadoop和OpenStack”一样,Python和R在生物信息学中有着同样的地位,不过要求运行效率的时候还是的改用C或者Go语言!
总之,若掌握了Python和R这两种编程语言,就不至于望海兴叹了!(海指海量数据)
若再加上很了解统计学和分子生物学,灌水就很容易了!
若不想灌水,就必须再加上另外一半“思想”了!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-26 23:45
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社