Bioops

Bioinformatics=(ACGAAG->AK)+(#!/bin/sh)+(P(A|B)=P(B|A)*P(A)/P(B))

Bioperl 入门(Bioperl HOWTO翻译1)

| Comments

Beginners HOWTO

英文原文

原作者

Brian Osborne

briano at bioteam.net

版权

原作者保留版权,基于 Perl Artistic License协议可有限共享。

摘要

基于生物学者需要,此HOWTO文档主要是关于如何利用Bioperl进行脚本编程,来进行生物信息学方面的研究。Bioperl是开源的生物信息学工具箱,并且有独立的社区支持。Bioperl其实是一些Perl模块的集成,提供了生物信息学分析的Perl基本模块。虽然有简单的使用例子,但是没有针对具体需要的脚本例子。(译者注:HOWTO文档是基于具体任务的,对生物学者更有针对性。)

入门简介

如果你是在做分子生物学的研究,并且用一些常规的方法对基因和蛋白质序列进行分析。也许你想要把这些任务自动化,或者你只是想学一下生物信息学方面的编程技术。这个HOWTO正合你意。此文档会讲述一些Bioperl的常见应用,比如:利用BLAST进行序列分析,以及从公共数据库中提取序列。有时候会把很多不同的任务放在一起,这时候bioperl就显得非常强大高效。

不可避免会有一些晦涩的编程术语。如果你对编程越了解越好。不太了解也不必担心,这里只是介绍一些基本的编程知识。另外会有一些模块化和面向对象编程的基础内容,如果你需要写一些复杂的脚本,这一点是必须要掌握的。

当学习一门新技术的时候,所面临的挑战之一就是专业术语的学习。编程也不例外。耐心是最好的解决办法!你要知道,学计算机的再去学生物照样十分头疼,有木有!!!

注:bioperl中有一个模块,Bio::Perl,适用于Bioperl新手入门。(译者注:把bioperl一些基本应用转化成函数的形式调用,而不是大量的模块,更易于新手理解。)但这个HOWTO文档并不介绍这个模块,因为这只是其中一个很小的模块,不是真正的面向对象的,且不具备扩展性。这里会主要介绍Bioperl的核心,以及如何举一反三利用好Bioperl。

安装Bioperl

安装Bioperl是首要任务。总是不断的有人问关于安装的问题。下面三点是问的最多的问题:
  1. 在windows下,会出现“Error: Failed to download URL http://bioperl.org/DIST/GD.ppd”,或者“Error: Failed to download URL http://bioperl.org/DIST/GD.ppd”等错误信息。这说明有一些安装Bioperl必须的Perl模块没有被安装,你需要手动安装这些模块。详见“在windows上安装Bioperl”。
  2. 在Unix下,类似“Can’t locate <some module>.pm in @INC…”的错误信息说明这个模块没有安装。详见“在Unix下安装Bioperl”。
  3. “Tests Failed”错误信息表明在安装过程中有些模块安装是测试不成功,可能会影响今后的使用。Bioperl大约有1一千多个模块,安装时会进行一万多个测试。(译者注:复杂性难以想象,很难避免出错。)一般这种情况出现在GD模块上,GD只和Bio::Graphics相关,不影响其他的模块;XML parser也可能出现这种情况,但也只是影响到读取XML文件。如果要把所有模块安装成功,需要大量的工作。(译者注:新手勿入)
(译者注:将来会专门翻译“安装bioperl”、在windows上安装Bioperl”和“在Unix下安装Bioperl”。)

获取帮助

在安装和使用Bioperl过程中,出现问题是不可避免的。可以给bioperl-l@bioperl.org邮件列表发邮件寻求帮助。有一批专业人员维护此邮件列表,并提供答复。在询问是,尽量提供详细的信息,这样他们才能有效的帮助你解决问题。

需要提供的信息包括但不限于以下几点:

1. 所使用的Bioperl版本号

2. 操作系统

3. 你的目的

4. 代码

5. 所有出现的错误信息

总是会有人给bioperl-l发邮件抱怨自己的问题没有被回复。一般原因是因为没有提供以上的所有信息,通常是没有提供代码和错误信息。

关于Perl

如果想学习更多关于Perl的知识,下面列举了一些学习资源:
  1. Learning Perl是最流行的perl入门书籍。(译者注:google之,很多免费下载链接,包括中文翻译版《perl语言入门》。)
  2. Perl in a Nutshell也很好。提供的例子可能并不那么好,但覆盖了大量的内容。
  3. Perl有自己的文档。试着在命令行中输入“perldoc perl”查看perl帮助文档。对于特定的模块,输入“perldoc <模块名字>”,可以查看关于此模块的帮助文档。举例说明:
perldoc Bio::SeqIO

写脚本

万事开头难。对初学者来说最困难的莫过于写个简单的脚本并运行成功。

在Unix环境下,一般在命令行(shell)环境下工作。可在命令行中用这个命令查看Perl版本(译者注:windows下同样有效。以下命令除特殊说明外,默认在Unix系统下):

perl –v
输出结果:
This is perl, v5.10.0 built for cygwin-thread-multi-64int

Copyright 1987-2007, Larry Wall Perl may be copied only under the terms of
either the Artistic License or the GNU General Public License, which may be
found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on this
system using “man perl” or “perldoc perl”.  If you have access to the Internet,
point your browser at http://www.perl.org/, the Perl Home Page. 最好使用最新版本,5.4一下的版本可能会有些问题。查看Perl程序所在的位置

which perl
输出类似结果:
/bin/perl
知道perl的位置就可以编写脚本,在脚本中的第一行指定Perl所在位置,然后就可一通过Perl来运行此脚本。在Unix下,emacsvi都是比较强大的命令行文本编辑器,另外,nanopico比较简单,容易上手。有些Unix系统可能没有自带这些编辑器,自行安装即可。Widows下记事本或者写字板都可。(译者注:Mac下推荐BBEdit,windows下推荐notepad++,都有语法高亮等强大功能。)

开始写脚本:

emacs seqio.pl
第一行中输入:

1
#!/bin/perl

Comments