干货小卖铺|Perl语言与生物信息分析入门

Posted 生信草堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货小卖铺|Perl语言与生物信息分析入门相关的知识,希望对你有一定的参考价值。

PerlPractical Extraction and Report Language(实用获取与报表语言)的缩写,由语言学家Larry Wall19871218日最初发明及实现。Perl借取了Csedawkshell脚本语言以及很多其他程序语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,perlC一样强大,像awksed等脚本描述语言一样方便,被perl语言爱好者称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。


Perl是一种通用编程语言,最初开发用于文字处理,随着不断发展,perl目前被广泛用于CGI、图形编程、系统管理、网络编程、金融、生物以及其他领域。由于其灵活性,perl被称为脚本语言中的瑞士军刀。那么perl语言在生物信息领域是如何发挥作用的呢?

我们知道,通过生物软件得到的结果,需要进行很多的二次处理,比如设置条件过滤数据,合并结果,提取序列等,都需要编程。通过合理的编程可以极大的提高分析和处理数据的效率。比如从一堆序列中提取目的序列,如果序列数量多,不会编程的人就只能不断地复制粘贴,这样既浪费时间,又容易出错,而编程几秒钟就能解决问题。

另外,生物信息分析中往往需要处理多个样本数据,比如一次处理成百上千个样本数据,这成百上千个数据处理方式完全一致,都是过滤数据,序列拼接,基因组分析等。如果一个一个样品来处理,就需要处理成百上千次。而运用编程,则可以进行批量处理,极大地提升效率。


干货小卖铺|Perl语言与生物信息分析入门(一)


而perl语言都能完美地帮你实现上述编程处理。perl支持正则表达式,非常善于处理文本。事实上生物数据本质上就是文本,而生物信息分析本质上也就是处理文本,所以perl极其适合用于生物信息分析。

有人会问,为什么分析生物信息数据,其它编程语言就不如perl了呢?的确,perl语言能做到的事,其他语言例如C、python、java等都能做到。事实上,python也是生物信息分析中最常用的编程语言之一。但是笔者为什么尤其推崇perl语言呢?原因有三:

一是因为perl对字符、文本文件处理能力非常强,以前要求 shell+sed+awk+C才能完成的任务,现在只需perl脚本就可以完成了。在字符、文本处理方面,其它任何编程语言都没有perl强大与方便。而且perl语言运行效率很高,是解析语言中最快的语言之一。

二是因为perl语言非常的容易入门。如果单纯是处理生物信息数据,并且没有多少编程基础,那么perl是一个极好的选择,只要学会使用perl的正则表达式,就可以解决大部分的问题,然后再掌握一些数据结构,比如循环、哈希、数组,那么你就基本能处理生物信息数据了。

三是因为perl语言非常灵活,语法很自由。perl程序里,有各种各样奇特甚至说奇葩的操作符,这些操作符往往能非常高效地解决问题,甚至一行代码就能实现你的想法。这里举个例子,比如你从某数据库中获取了许多的基因,但是其中很多基因重复了多次,而我们需要去重复得到唯一的基因,那么该如何实现呢?请看以下代码:

干货小卖铺|Perl语言与生物信息分析入门(一)


当你运行这段代码时,你会发现结果输出了“ALK, BRAF, CASP8, CYP2A6, DDR2, DICER1”。是的,我们仅用一行代码就实现了去重复的功能,我不知道还有其他任何编程语言能这么轻易做到。这只是其中一个例子,perl语言的高效、灵活与简洁,随着你对perl的深入了解并熟练应用,你会越发迷恋上perl的这种风格。

接下来我们会不断向大家介绍Perl语言的学习方法,及在生物信息学应用的精彩案例,希望大家持续关注!


干货小卖铺|Perl语言与生物信息分析入门(一)






以上是关于干货小卖铺|Perl语言与生物信息分析入门的主要内容,如果未能解决你的问题,请参考以下文章

LaTeX 排版生物信息学 Perl 语言入门

LaTeX 排版的《生物信息学 Perl 语言入门》

生物信息数据处理与Perl语言编程应用专题培训班通知(10月9-11日)

perl语言快速入门的通道在这儿

这是不是perl语言的快速入门通道呢?

Perl,R,Python在生物信息学中是怎样的角色?