Answers:
使Perl对生物信息学如此有用的原因是:1)它是一种相对容易学习的语言,2)有很多预先存在的脚本可供使用,包括bioPerl,以及3)机会是您从事的实验室拥有数百个脚本和模块,已用Perl编写。
程序员的水平与语言的选择无关,而与语言的选择有关。通常,任何高级或计算昂贵的作业都用Java或C编写,并在集群上运行。
关于生物信息学,要了解的一件事是,它是一个多元化的领域,要求实践它的人承担各种任务。在一天之内使用Perl,R和Java对我来说并不罕见。Perl用于编写脚本,移动文件,下载文件,进行一些基本的数据分析等,R用于数据可视化,而Java用于算法计算/与应用程序进行修改。话虽这么说,我确实需要执行大多数任务,但是,我想切换到Ruby,因为它具有更高级的功能,lambda和procs,可以导致更简洁的代码并且完全面向对象。
除了Perl的固有优点之外,其中的一部分还只是历史。由于人类基因组计划,本世纪初,生物信息学有了重大发展。当时的Perl是迄今为止最流行的脚本语言的一般使用。Ruby和Python肯定存在,但几乎没有今天提供的支持/帮助。这给Perl带来了很多动力。
我认为Perl在生物信息学中的使用正在减少,并且R的受欢迎程度正在迅速增加。但是对于您想命名的任何语言,您都可以找到使用它的生物信息学实验室。
我将在此处添加一个答案,因为我认为其中许多人错过了关键点...
Perl在生物信息学中很流行,因为它最初是一种文本处理语言。
Perl使您轻松:
它还具有以下优点:
尽管它不允许创建像C语言一样快的处理程序,但是开发时间却很短,并且在处理文本时还附带电池(功能强大的正则表达式,有人吗?),因此很容易以在实验室环境中使用并解决这些任务。
同样,它显然也:
但是,首先为Perl提供如此多的生物信息学(通常是科学的)扩展和模块的原因是由于上述原因。在很多情况下,该语言的设计和能力使其非常适合该工作(尽管可能有很多怨恨可能阻碍它)。
所有这些使Perl成为科学研究的有力竞争者,尤其是在要处理的数据大部分为文本格式的领域。
当然,其他语言也出现了,并且由于不同的原因而占有市场份额(增强的表达能力,更好的可读性,明确地避免晦涩的hack和粗俗的单一语言……),但是它们仍然在某些方面与Perl竞争(Ruby是(例如,学习速度和处理数据的速度一样慢)。因此,在生物信息学(或NLP)领域中,您需要处理文本格式,快速的研究周期以及越来越多的大数据(感谢您,基因组学和NGS),Perl仍然非常重要。
实际上,只是注意到了maple_shaft,Charles和geoffjentry的评论,它们也提到了正则表达式的重要性,因此并非所有人都忽略了这一点。:)