4-Perl基础【兰州大学生物信息学】

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Perl 的一些基础概念
提纲
• 1. Perl 的数据类型 • 2. Perl 的控制结构 • 3.Perl 中的正则表达式 • 4. 其他高频函数 • 5. BioPerl的简单使用 • 6. 关于Perl 应该努力的方向 • 7. 几个值得保持的好习惯 • 调试常见问题
1. Perl 的数据类型
4. 其他高频函数
• Split • Chomp • Substr • System or ``
4.1 分隔函数 split
正 则
4.2 去掉结尾多余的换行符
注:一般紧随文件读取操作使用
4.3 根据坐标提取序列 substr
注: 起始坐标为0
4.4 脚本内调用linux命令
5. BioPerl的简单使用
6. 关于Perl 应该努力的方向
• 增加程序稳定性和准确性(多用 if) • 减少调试时间 (功能分块,多用子程序) • 增加程序可读性 (一致清晰的变量命名,添加必要注释)
6.1 增加程序稳定性和准确性
6.2 子程序的使用
7. 几个值得保持的好习惯
• 变量命名清晰明了 • 多使用子程序 • 记录自己的跑过的命令到 Run.sh • 大型的工作流程, 给未来写一个readme
1.3 哈希
• 定义赋值: my %rpkm; $rpkm{$geneId}{$sample}=$rpkm; • 调用: $rpkm{$geneId}{$sample}; • 处理方法: keys, values, exists, delete • 遍历多层哈希 %{ }
Foreach my $geneId (keys %rpkm){ foreach my $sample(keys %{$rpkm{$geneId}}){ print “$rpkm{$geneId}{$sample}\n”; }
}ຫໍສະໝຸດ Baidu
2. Perl 的控制结构
• 分支结构 if..else.. • 循环结构 for, while
2.1 分支结构
• 常用于判断一个条件是否成立
2.2 循环结构
• 处理重复任务. 读取文件, 遍历哈希列表.
3.Perl 中的正则表达式
• 字符串是否匹配特定规则 • $value =~ /^\d+/; • 替换功能 • $value =~ s/^(\d+)/$1/g;
谢谢
• 标量变量 $ • 列表 @ • 哈希 %
1.1 标量变量
• 定义赋值: my $value = 1 • 调用: 正确书写变量名字 $value • 处理方法: 各种运算符
1.2 列表
• 定义赋值: My @array =(‘a’,1,”world”); • 调用: @array,$array[0] • 处理方法: push, pop, reverse, sort
网络资源
• http://www.cnblogs.com/yumtaoist/ • http://www.cnblogs.com/yangyongzhi/ • Baidu and google
调试常见问题
• 变量没有赋值 • 变量没有定义 (拼写错误) • 文件格式不标准
• 意想不到的奇怪空白 (s/\s+//g); • 文件不完整 (重新下载)
相关文档
最新文档