以前上课学的C/C++/Java/C#/汇编 。自学的perl/python/matlab/R/等等。
其实用什么语言搞科研主要看老板,我最初老板和组里其他人都用perl,我也学perl。这样方便大家交换程序。现在的老板用python,我就开始学python了。其实觉得bioinformatics的本科都会教c或者java,会了c/java其中任何一个,再学perl或者python或者matlab就都是非常容易的。现在这个领域里用的最多的我觉得是python,正在慢慢取代perl。matlab因为不免费,流行不广不如python,perl,java。但是我觉得确实最方便最适合搞计算方面研究的(如bioinformatics)。
生物信息学,离不开大规模的数据处理,因此很多只能是通过计算机来实现.另一方面,生物信息学的数据和其他的计算机处理的数据也没有多大的特殊性,因此理论上来讲几乎所有的编程语言都可以用于生物信息的数据处理,但是效率却很不一样.
就目前来说,在生物信息学中常用的语言有c,c++,python,perl,java,matlab,r/bioconductor,SAS,SPSS(这几个主要用于统计),等.
其中python和perl属于脚本语言,并且现在都有生物学上的扩展,如python有biopython,perl有bioperl,由于perl出现的比较早,因此其在bioperl可能是老一辈的生物信息学家或者甚至是有些生物学家常用的语言.但是,另一方面,我们也要看到python也很快的提供了许多生物学上的便利,并且一步步显示出其优势.(个人习惯用biopython),脚本语言在文本序列上的处理是得天独厚的,但是有时候我们在需要对大规模的数据进行运算的时候,却显得有点力不从心了(其实这个问题在python中并不存在,因为python提供了很好的c的扩展),这也就需要我们采用更加高效的进行编译的语言 -- c和c++.
其实,对于c,我们肯定都不陌生,因为c可能是所有理科学生的一名必修课.(尽管现在有很多人反对c作为编程的入门语言,但是归于国内来说,目前还是这种状况的).c语言,有史以来,就是作为一门系统语言存在的,她的美丽,使无数人为之疯狂,但是c语言真正在生物信息学的数据分析中应该范围是不大的,她和c++一起,很多是在界面的编写上.
java,在生物信息学上的应用是很广的,从数据处理,到界面程序的设计,然后到网页界面的交互,无一不体现出其优势,我们可以看到很多生物信息学的门户网站在3d结构的显示都是以java插件的形式存在的.但是,java的广泛应用,也存在着很大的缺陷,速度慢,体积大等缺点也让很多人望而却步.
matlab作为一种商业软件,在工程和数学上取得很大的应用,但是其价格的昂贵,其软件本身的闭源,还有其为其在生物信息学中的广泛应用设置了障碍.但是,我们另一方面也要看到其在数据处理和其提供的商业支持的强大的各种工具箱为研究者以一种初等的利用提供了很好的条件
r/bioconductor 主要是生物信息统计