【学习笔记】山东大学生物信息学——Perl 语言基础入门+高级

8.3 Perl 语言基础入门

Perl:Practical Extraction and Report Language 官网免费下载 (网不好可能打不开),支持多操作系统

  • 直译语言:Interpreted Language
  • 序列处理:特别适合字符串(序列)处理
  • 文件处理:方便简洁的文件写入与写出
  • 模式匹配:全面支持正则表达式

8.3.1 第一个 Perl

  • 创建一个文本文件,命名为 test.pl
  • 第一行Perl 执行环境(安装路径)
    linux 写:#!/usr/bin/perl
    Windows 写:#!C:/Strawberry/perl/bin/perl.exe
  • 第二行写一个简单的语句,比如:print "He1lo world!";
  • 保存 test.pl,打开 cmd 命令窗口。
  • 切换到 test.pl 所在目录。cd Desktop
  • 执行 perl test.pl 命令,运行你的第一个程序。
    在这里插入图片描述

8.3.2 Perl 的基本规则

在这里插入图片描述

  • 每条语句后面必须有";"。
  • 注释前面加"#",只对单行有效。
  • 变量的定义极其简单随便:
    ◆ 不用提前声明变量,随用随定义;
    ◆ 不用定义变量类型,赋值后程序会自动判断
    ◆ 变量名区分大小写,以字母开头,不能有特殊字符
    ◆ 变量名前面加"$“,用”="赋值。$scalar = expression

各种引号的使用

  • 单引号'' 完全直白的翻译引号里的全部内容。
    在这里插入图片描述
  • 双引号"" 可以识别引号里的变量反义字符
    在这里插入图片描述
  • 反引号``将引号里的内容当成命令来执行。
    在这里插入图片描述

各种操作符的使用

  • 比较操作符 Comparison Operators:
    针对字符串的比较操作符和针对数字的比较操作符是不一样的!
    数字字母小!
    大写字母比小写字母小!
    由小到大:数字 [0-9]、大写字母 [A-Z]、小写字母 [a-z]
    在这里插入图片描述

  • 逻辑操作符 Logical Operators:
    可以直接写:or, and, not
    也可以用符号代替:||, &&, !
    特殊逻辑操作符:xor 异或
    a xor b = (a' and b) or (a and b') (a’ = not a)
    如果 a、b 两个值不相同,则异或结果为 1。如果 a、b 两个值相同,异或结果为 0

  • 字符串操作符 String Operators:
    . 字符串拼接相连
    x 字符串重复复制
    .= 字符串拼接相连后赋值

    $string1 = "potato";
    $string2 = "head";
    $string3 = $string1 . $string2;	#patatohead
    $string4 = $string1 x 2;		#patato
    $string1 .= $string2; 			#string1 = patatohead
    

8.3.3 字符串常用函数

  • Perl 有许多提前定义好的函数:函数名 ( 参数 1, 参数 2,... 参数 n)
    注意:
    参数间的逗号必不可少
    括起参数的括号则是可有可无

  • length 函数:
    语法:length($string);
    说明:求出字符串$string 的字节值(长度)。

    $string="Per15";
    $size=length($string); #这时 $size=5
    
    #计算一条氨基酸序列的长度
    $seq="GHMGSSVLEELVQLVKDKNIDISIKYDPRKDSEVEANRVITDDIELLKKILAYFLPEDAILKGGHYDNQLQNGIKRVKEFLESSPNTQWELRAFMAVMHFSLTADRIDDDILKVIVDSMNHHGDARSKLREELAELTAE";
    $len=length($seq);
    print "The protein contains $len amino acids.";
    
  • substr 函数:
    语法:substr($string, offset, 1ength);
    说明:截取字符串$string 的子字符串
    ★ 注意:第一位是 0,不是 1。
    offset 代表起始字符的位置,而 offset 如果是负值的话,就会从字符串右边开始指定字符。
    length 代表引用的字符串长度,如果省略 length 则代表从起始值到字符串的最后一个字符长度。
    在这里插入图片描述

    $s1=substr("perl5",2,2);   	#$s="rl" 从第二个字符串后开始截取 2 个字符串
    $s2=substr("perl5",1);   	#$s="erl5" 从第一个字符串后开始截取剩余字符串
    $s3=substr("perl5",-5,3);    #$s="per" 从倒数第五个字符串开始截取 3 个字符串
    
    #提取出蛋白质序列的功能区,功能区位于第 12 个氨基酸到第 23 个氨基酸。
    $seq="GHMGSSVLEELVQLVKDKNIDISIKYDPRKDSEVEANRVITDDIELLKKILAYFLPEDALKGGHYDNQLQNGIKRVKEFLESSPNTQWELRAFMAVMHFSLTADRIDDDILKVIVDSMNHHGDARSKLREELAELTAE";
    $begin=11;
    $end=22;
    $length=$end-$begin+1; 
    $region=substr($seq, $begin, $length)
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值