为什么在生物信息学中如此大量地使用Perl?[关闭]


14

Perl是什么使它在生物信息学中如此有用?为什么C ++,Matlab或Python并不是主流语言?

Answers:


13

使Perl对生物信息学如此有用的原因是:1)它是一种相对容易学习的语言,2)有很多预先存在的脚本可供使用,包括bioPerl,以及3)机会是您从事的实验室拥有数百个脚本和模块,已用Perl编写。

程序员的水平与语言的选择无关,而与语言的选择有关。通常,任何高级或计算昂贵的作业都用Java或C编写,并在集群上运行。

关于生物信息学,要了解的一件事是,它是一个多元化的领域,要求实践它的人承担各种任务。在一天之内使用Perl,R和Java对我来说并不罕见。Perl用于编写脚本,移动文件,下载文件,进行一些基本的数据分析等,R用于数据可视化,而Java用于算法计算/与应用程序进行修改。话虽这么说,我确实需要执行大多数任务,但是,我想切换到Ruby,因为它具有更高级的功能,lambda和procs,可以导致更简洁的代码并且完全面向对象。


1
别客气。如果您还有其他问题,或者正在考虑进入该领域,这是另一种可能对您有所帮助的答复。
wespiserA 2011年


24

除了Perl的固有优点之外,其中的一部分还只是历史。由于人类基因组计划,本世纪初,生物信息学有了重大发展。当时的Perl是迄今为止最流行的脚本语言的一般使用。Ruby和Python肯定存在,但几乎没有今天提供的支持/帮助。这给Perl带来了很多动力。

我认为Perl在生物信息学中的使用正在减少,并且R的受欢迎程度正在迅速增加。但是对于您想命名的任何语言,您都可以找到使用它的生物信息学实验室。


2
同意 我记得一篇文章,我相信Dobbs博士或90年代中期的类似文章,标题为“ Perl如何拯救人类基因组计划”或类似的文章。我已经在生物信息学领域工作了大约10年,但是还没有遇到实际使用Perl的人。大部分是R语言,很少使用Matlab和Python。
geoffjentry,2011年

6
它不像R要取代Perl。R用于探索性数据的数据分析/可视化。常规脚本任务仍将使用perl完成。
wespiserA 2011年

+1:而且,日本人似乎仍然使用Perl比Python或Ruby(来自与我聊天的日本招聘人员)多得多,因此,它可能会对涉及日本研究的技术(如生物信息学)产生巨大影响他们是美国的领导人吗?
克莱姆2012年

@geoffjentry:尽管我在该领域还没有10年的经验,但我已经在Perl中完成了很多处理工作(到目前为止,只有2年的经验,再加上几年前的一些简短经验)。但是,当期望进行数学计算(想到大型数据集的统计分析)并生成良好的可视化效果时,R是王者(实际上,许多解决方案都倾向于简单地与R Engine集成而不是推出自己的解决方案)。
haylem 2012年

自从我写了我必须撤回声明的8个月以来,我现在已经看到perl使用了:)。在那些情况下,尽管它似乎仍然具有历史性-要么是旧代码,要么是有人用perl咬牙并坚持使用。在我的新工作中,大多数计算生物学家都使用python&r的某种混合(取决于人),并加入了一些matlab和上述的perl。
geoffjentry 2012年

10

我将在此处添加一个答案,因为我认为其中许多人错过了关键点...

Perl在生物信息学中很流行,因为它最初是一种文本处理语言

文字为王

Perl使您轻松:

  • 实施NLP和生物信息学算法,
  • 提取文本数据,
  • 生成文本数据。

语言还不错(一半)

它还具有以下优点:

  • 一个像样的表现
  • 相对较低的学习曲线 (直到您发现所有的花招和技巧)
  • 而且表现不错

尽管它不允许创建像C语言一样快的处理程序,但是开发时间却很短,并且在处理文本时还附带电池功能强大的正则表达式,有人吗?),因此很容易以在实验室环境中使用并解决这些任务。

便携性和可扩展性变得容易

同样,它显然也:

  • 在许多平台之间移植
  • 带有很大的扩展库

但是,首先为Perl提供如此多的生物信息学(通常是科学的)扩展和模块的原因是由于上述原因。在很多情况下,该语言的设计和能力使其非常适合该工作(尽管可能有很多怨恨可能阻碍它)。


所有这些使Perl成为科学研究的有力竞争者,尤其是在要处理的数据大部分为文本格式的领域。

当然,其他语言也出现了,并且由于不同的原因而占有市场份额(增强的表达能力,更好的可读性,明确地避免晦涩的hack和粗俗的单一语言……),但是它们仍然在某些方面与Perl竞争(Ruby是(例如,学习速度和处理数据的速度一样慢)。因此,在生物信息学(或NLP)领域中,您需要处理文本格式,快速的研究周期以及越来越多的大数据(感谢您,基因组学和NGS),Perl仍然非常重要。


实际上,只是注意到了maple_shaftCharlesgeoffjentry的评论,它们也提到了正则表达式的重要性,因此并非所有人都忽略了这一点。:)


6

Perl在生物信息学中受欢迎的主要原因之一是BioPerl,它是用于处理相关数据的一套全面的模块。

看起来像大多数模块的实际设计工作与其他程序产生的数据。毕竟,Perl可以提供出色的报告胶带。


5

根据操作员的技术水平和易用性来选择工具-编译后的程序或IDE可能需要一段时间才能超越简单的解释语言。

Perl有一些严重的问题,严重的文档,严重的库和广泛的免费可用性。什么都不喜欢呢?


2

Perl具有与其他语言相同的功能,数据构造和方法,并且比大多数语言更容易学习。这对不具备编程经验的研究人员和科学家非常有用,因为他们可以轻松掌握Perl并完成所需的任务

另外:

提供大量在线支持和免费脚本,这显然是有利的!=)

总而言之,大多数科学家和研究人员只是想把工作做好,并且尽快完成,Perl非常适合完成这项工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.