PERL在生物信息学中的应用课件.ppt
《PERL在生物信息学中的应用课件.ppt》由会员分享,可在线阅读,更多相关《PERL在生物信息学中的应用课件.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PERL在生物信息学中的应用在生物信息学中的应用PERL在生物信息学中的应用要紧内容要紧内容PERL简介PERL脚本的编写PERL变量Perl语法PERL与正那么表达式PERL示例要紧内容PERL简介PERL释义释义Practical Extraction and Report Language 实用摘录和报告语言,但它事实上不是缩写实用摘录和报告语言,但它事实上不是缩写Larry Wall,1987.12.18Perl的历史的历史PERL释义Practical Extraction andPerl的环境准备的环境准备lUnix:大多数内置:大多数内置l一些软件也内置一些软件也内置perl,比
2、如,比如apache/oraclelWindows:ActivePerl5.10.0Perl的环境准备Unix:大多数内置Perl的工具的工具编辑工具:编辑工具:notepad,viIDE:Komodo,Perl Dev KitCGI:Top perl studio,Perl builder,perl edit,perlwiz,Mod_perlPerl的工具编辑工具:notepad,viPerl的功能的功能l脚本语言,解释执行脚本语言,解释执行,无需编译无需编译l具有编译语言如具有编译语言如c、Java的功能,又有的功能,又有shell脚本的方便脚本的方便l无数据类型区分,适于不太复杂的程序无
3、数据类型区分,适于不太复杂的程序l适于不要求速度,不在乎内存适于不要求速度,不在乎内存CPU等系统资源的任务等系统资源的任务l强大的字符串处理功能强大的字符串处理功能l灵活或复杂的正那么表达式灵活或复杂的正那么表达式l大多数平台支持,除了专用模块,可在不同平台运行大多数平台支持,除了专用模块,可在不同平台运行Perl的功能脚本语言,解释执行,无需编译Perl的应用的应用Web编程:CGI,XML处理系统管理网络编程(安全脚本).数据库管理图像处理其他众多的领域。Perl的应用Web编程:CGI,XML处理一个例如一个例如#!/usr/bin/perlPrint“This is my first
4、 perl programn”;$a=;Print$a;l第一行:#!/usr/bin/perl 由什么程序执行以下的内容l注释:l输入:l输出:printl$a:变量,无需指定数据类型一个例如#!/usr/bin/perl第一行:#!/usrperlperl的四种变量的四种变量的四种变量的四种变量nScalar:标量,以$开始,后面以字母或_开头,再后面能够是字母或数字narray:数组,列表,以开头nHash:哈希,散列,以%开头n文件:大写字母n区分大小写,$Var,$VAR,$varn内置变量$/,$等perl的四种变量Scalar:标量,以$开始,后面以字母或字符串变量字符串变量字符
5、串变量字符串变量n由双引号或单引号标识的一组字符组成。n最少0个字符(“”为空串),最多能够占满内存,末尾不含null(0)n“$string”=$str+“ing”!=$stringn记住一些常用的转义字符nprint“the$var is$var.”n注意单引号的用法:不替换、不转义$var=“str”;print“this is$var”;#”this is str”print this is$var;#this is$var字符串变量由双引号或单引号标识的一组字符组成。$var=“s变量初值变量初值变量初值变量初值l未创建时状态为undef,到达文件尾也为undefl说明变量为未定义:
6、undef$a;l用在条件判断中:if(undef$a)l代替不关心的变量:$s=“a:b:c:d;($a1,undef,undef,$d1)=split(/:/,$s);l假如有undef变量又不知在哪,可加-w参数进行提示#!/usr/bin/perl-wl创建后状态为defined 一般用在条件判断中if(defined$a)l整数初值为0,字符串初值为空串”。一般未赋值就使用时$result=$undefined+2;变量初值未创建时状态为undef,到达文件尾也为undef相关函数相关函数相关函数相关函数nlength():字符串长度nuc,lc,ucfirst,lcfirst:改变
7、大小写函数nsubstr,index,pos:字符串函数nsin等三角函数nrand(),srand():随机发生函数$lastchar=chop($str)#截去最后一个字符$result=chomp($str)#截去末尾的行分隔符(通常为”n”),行分隔符由$/定义相关函数length():字符串长度控制结构控制结构控制结构控制结构nif(condition1)elsif(condition2)elsenunless()nuntil()ndo until()nwhile()ndo while()nfor(;)nforeach循环语句控制结构if(condition1)elsif(confo
8、reachforeachn语法:foreach$w(list|array)statementn()内能够是数组a,也能够是列表(1,2,3)n数组元素值能够修改,列表那么是常量n$w不影响本来已定义的变量$w,循环结束后恢复n能够用$a(a)用相同的变量名称n例如:foreach$a(a)用于数组foreach$a(1,2,3,4)用于列表foreach$k(keys%h)用于哈希/散列foreach$a(a1,2,4)仅对数组部分元素foreach(a)缺省循环变量为$_foreach 语法:foreach$w(list|arra循环控制循环控制循环控制循环控制nlast:退出循环nnext
9、:进入下一循环nredo:重新执行本次循环ngoto:跳转ncontinuestatement循环控制last:退出循环单行条件语句与循环语句单行条件语句与循环语句单行条件语句与循环语句单行条件语句与循环语句nprint$a if$a=0;nprint$a unless($a=0);nprint$a while($a-=0);nprint$a until($a-=0)用|,&的条件语句:$a=0&print$a;open(F,file)|die“cant open”;die函数:在控制台标准错误输出信息后退出程序。warn:输出信息后不退出程序,只起警报作用。$!:内部变量,包含错误代码。$:
10、内部变量,包含错误信息。单行条件语句与循环语句print$a if$a=0;用列表列表列表列表数组的形式数组的形式数组的形式数组的形式n形式:(1,”a”,2.3,$a,$x+1),其元素能够是数字、字符串、变量、表达式n空列表(),单元素列表(2)不同于标量2nqw(1$a str)()能够用其他符号表示,如元素可以是数值、变量、不带引号的字符串,中间用空格分开列表数组的形式形式:(1,”a”,2.3,$a,$x范围表示的列表范围表示的列表范围表示的列表范围表示的列表.:范围运算符,每次增加1,如1.3n(1.6)=(1,2,3,4,5,6)n(1,2.5,6)=(1,2,3,4,5,6)n
11、(3.3)=(3)n(2.4.5.3)=(2.4,3.4,4.4)n(4.5.1.6)=()n(“aa”.”ad”)=(“aa”,”ab”,”ac”,”ad”)n$month=(01.31)n($a,$a+3)=(3,4,5,6)if$a=3范围表示的列表.:范围运算符,每次增加1,如1.3数组数组数组数组列表的存储列表的存储列表的存储列表的存储na=(1,2,3),不同于$a,初始值为()n元素形式:$a0表示第一个元素,索引从0开始,$a-1表示倒数第一个元素n数组的赋值:a=(1,2,3,4);b=a;b=(2,3);a=(1,a,4);a=;#从屏幕输入进行赋值,按下CTRL-d结束改
12、变元素的值:$a1=3;超出数组大小的元素赋值:$a5=6;#自动增长,其他元素为NULL读取不存在的元素为空:$b=$a6;数组列表的存储a=(1,2,3),不同于$a,初始值为数组的读出数组的读出数组的读出数组的读出a=(1,2,3);$a=$a1;($x,$y,$z)=a;$x=1,$y=2,$z=3;($x,$y)=a;$x=1,$y=2;($a,$b,$c,$d)=a;$a=1,$b=2,$c=3,$d=“”;$a=a=$#a+1;#$a为数组长度,$#a为数组的最后一个元素的索引($a)=a;#数组的第一个元素$a0打印数组:print a;#元素直截了当相连 print“a”;#
13、元素之间用空格分开数组的读出a=(1,2,3);数组片段数组片段数组片段数组片段a=(1.5)sub=a0,1,3;a1,3=(“a”,”b”);b=(1,2,3);sub=ab;a1,2=a2,1;a1,2,3=a3,2,4;数组片段a=(1.5)数组操作函数数组操作函数数组操作函数数组操作函数nsort:缺省按字母排序$a,$b表示数组元素,_代表数组本身reverse a;#取数组的逆序chop a;#每个元素截去最后一个字符shift(a);#删除数组第一个元素并返回该值,缺省对ARGV数组unshift(a);#在数组头部添加元素,返回新数组长度push(a,$a);#在数组末尾添加
14、元素pop(a);#删除数组末尾元素数组操作函数sort:缺省按字母排序数组操作函数(二)数组操作函数(二)数组操作函数(二)数组操作函数(二)njoin(连接符号,a)把数组连接为一个字串a=(a,b);join(:,a)=“a:b”;nsplit(/分隔符/,分割串,长度)分隔符:缺省为空格,可省略分割串:缺省为$_,可省略长度:可省略,缺省为全部分割$s=“a,b,c”;a=split(/,/,$s);a=(a,b,c);a=split(/,/,$s,2);a=(a,b,c);数组操作函数(二)join(连接符号,a)把数组连接为一数组函数(三)数组函数(三)数组函数(三)数组函数(三)
15、nsplice函数:ret=splice(a,skip,length,newlist);对数组a进行操作,跳过skip个元素,然后用newlist替换length个元素newlist长度能够不为length,但其替换长度总为length假如length=0表示为插入;假如newlist=()那么表示为删除当length和newlist都省略时表示全部删除nfound=grep(/pattern/,search)对数组search的每个元素进行搜索匹配pattern,匹配元素返回到foundnmap(expr,list)对数组list的每个元素进行expr运算,返回运算后的数组。元素用$_替代,
16、如map($_+1,(1,2)(2,3)数组函数(三)splice函数:ret=splice(二维数组二维数组二维数组二维数组aoa=1,2,3,a,b,c;该数组的元素为两个数组子数组访问:$aoa-0(1,2,3)子数组元素列表:$aoa-00,1,2子数组元素访问:$aoa-00a=(1,2,3);b=(a,b,c);$aoa=a,b;$aoa-00;二维数组aoa=1,2,3,a,b,c关联数组:哈希关联数组:哈希关联数组:哈希关联数组:哈希/散列散列散列散列n关联数组的表示:%h=(1,a,2,b);n关联数组的下标为关键字key,由key得到的值为valuen上式的意义是%h=(1
17、=a,2=b);n元素形式$h1=a关联数组:哈希/散列关联数组的表示:%h=(1,a,2,关联数组的赋值关联数组的赋值关联数组的赋值关联数组的赋值%a=(“key1”,1,”key2”,2);%h=a;a=%h;%h1=%h2;($a,%h)=array;%h=(%first,%second);%h1=(%h2,k,v)函数的返回:%h=split();keys=(a,b,c);hashkeys=hashreverse keys;关联数组的赋值%a=(“key1”,1,”key2”,2);关联数组操作函数关联数组操作函数关联数组操作函数关联数组操作函数nkeys(%hash),values(
18、%hash)分别返回键和值的列表,返回元素无顺序n($key,$value)=each(%hash)效率高于先用foreach$k(keys%h),再用$hash$knexists$hashkey判断关键字是否存在nundef(%h)相当于删除散列%h=();ndelete关联数组操作函数keys(%hash),values(%h关联数组的顺序关联数组的顺序关联数组的顺序关联数组的顺序foreach$w(sort keys(%hash)#按照字符串排序或者foreach$w(sort$a$b keys(%hash)#数值排序关联数组的顺序foreach$w(sort keys(%h文件文件文件
19、文件n存放于磁盘,用于读写访问,访问前必须先打开文件,结束时关闭文件open(HANDLE,“filename”)|die$!;n成功返回非零,失败返回零nHANDLE:文件句柄,用来代表操作的文件。以字母开头,字母、数字、下划线组成,一般用大写字母n缺省打开的句柄STDIN,STDOUT,STDERR,文件描述符为0,1,2。不必调用open就能够直截了当访问STDIN:键盘输入,控制台。STDOUT:屏幕,显示屏。STDERR:错误输出,显示屏。文件存放于磁盘,用于读写访问,访问前必须先打开文件,结束时关文件访问模式文件访问模式文件访问模式文件访问模式n只读:open(F,“filenam
20、e”);文件不存在那么创建新文件,存在那么清空重写n追加:open(F,“filename”);在存在的文件后面追加内容n读写:open(F,“+,文件不存在那么创建,存在那么清空再写n读写:+,文件不存在则创建,存在则追加n管道:|,open(F,“|cathello”);把文件F的输出(print F$a)作为后的输入。open(F,“comm|”);把comm的输出作为F的输入。以下的内容只要读出。comm为命令。文件访问模式只读:open(F,“filename”);文件缓冲文件缓冲文件缓冲文件缓冲 缓冲 无缓冲打开:open,sysopen sysopen关闭 close读 ,rea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PERL 生物 信息学 中的 应用 课件
限制150内