Perl程序设计实验
医学信息检测实验指导书
Perl程序设计实验
指导书
(第一版)
生物信息学院
生物信息学教学部版权所有
2015.1
目 录
3
前 言
4
实验须知
7
实验一 :Windows下Perl开发环境的安装和配置
11
实验二 :perl的变量和操作符操作
13
实验三 :perl的列表和数组变量操作
15
实验四 :perl的模式匹配操作
18
实验五 :perl控制结构和子程序
20
实验六 :perl的关联数组
22
实验七 :perl的格式化输出操作
24
实验八 :perl文件读写操作
前 言
实验教学是理工科院校三大教学环节之一,通过实验不仅可以巩固、加深对基础理论知识的理解,而且可以培养学生独立分析问题、解决问题的能力和严谨的工作作风,以适应未来工作的需要。
由于知识更新周期大大地缩短,为了顺应生物信息学学科的快速发展,必须深化教学改革,加强实践性教学环节,加强对学生动手能力的培养。结合本专业要求,以及理论课程教学内容,我们编写这本教材时加强了Perl程序设计基本技能,使学生通过亲手编程掌握perl语言编程的方法,从而提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解perl语言的基本结构和程序设计方法,本实验指导书针对课程内容编写了8 个实验,力求在打牢基础,重点突出,达到学生分析问题和解决实际问题的能力等实践技能培养。
本书在编写过程中参考了许多同行的研究成果,编者在此表示感谢。由于编者水平有限和时间仓促,难免有不足之处,希望读者提出宝贵意见,批评指正。
编 者
2015年1月
实验须知
一、学生实验守则
实验教学是对学生进行最佳智能结构培养的必要教学环节,也是培养合格人才的重要环节。学生应通过科学实验努力培养自己的独立工作能力、动手能力、观察能力、分析能力和创造能力;培养严肃认真的科学态度,理论联系实际和求真务实的作风;努力通过实验教学深化对所学理论知识的认识。为了严肃认真地完成教学所规定的全部任务,特作如下规定,必须认真执行。
实验前认真预习,经指导教师质疑不合格者不应盲目进行实验操作。
学生在实验室工作必须严肃认真、提倡创新,听从教师指导。严格按操作规程进行操作,认真观察分析实验现象,如实记录实验数据,不得捏造数据或抄袭他人结果。
不得迟到,保持环境安静、整洁,严禁吸烟、随地吐痰和丢弃垃圾废弃物。
爱护公共财物,未经许可,不得随意动用别组的仪器、工具、材料。损坏公物,照价赔偿。
注意安全,如遇异常情况,应立即切断电源、熄灭火源、关闭水源,防止事故蔓延扩大。并保持现场,及时报告指导老师作好善后处理。
实验结束,应切断仪器电源、数据交教师评阅合格后,整理好仪器设备、工具、器材、桌椅等。
认真完成实验报告,按时交指导教师评阅。
实验报告要求
实验报告是实验工作的全面总结和最终成果,要能完整和真实地反映实验结果。编写实验报告也是一种基本训练,必须以严肃认真的态度来对待。
撰写实验报告要遵守一定的规范和要求。实验报告应书写简洁、文理通顺、数据、图表齐全。报告主要内容应包括:
1 有设计性的实验先要作好预设计工作。
实验名称。
实验目的。
实验设备与器件。(实际使用的设备、器件名称及型号)
对设计性的实验,要求有设计的整个过程。
记录实验数据,填写表格、程序运行结果要截图,程序要写出关键代码及其解释说明,,由指导教师签字,否则实验无效。
故障现象、分析及解决方案。
原始数据不能代替报告数据。实验报告没有按时上交及报告中的原始数据没有指导教师签字或伪造指导教师签字,都无效。
实验一 :Windows下Perl开发环境的安装和配置
【实验目的】
学习windows下Perl开发环境的安装与配置,编辑器以及测试注释;
通过本实验复习、加深和巩固所学的理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
内容一: Perl安装和配置
1、 操作系统是win 95/98的话,先下载InstMsi.exe。
如果是WIN NT请先在Winnt的安装光碟里搜寻InstMsi.exe,安装InstMsi.exe,安装后重新开机,或是下载InstMsi.exe ,安装完后重新开机,再安装ActivePerl
己安裝過nstMsi.exe或是使用WIN 2000/XP 跳過這個步驟
InstMsi.exe (for NT)
InstMsi.exe (for 9x)
2、搜索“perl”下载解释器如ActivePerl For Win, ActivePerl V5.8.8 for Windows
默认情况下应该会装到c:\perl目录下面,其内重要的目录为:bin
首先单击开始菜单,再选择运行。输入cmd然后回车,进入控制台窗口。输入c:回车,然后输入cd perl回车,然后再cd bin,可以看到一个叫做Perl.exe的文件。
3、安装测试
用一个文本编辑器输入以下内容:
#!c:/perl/bin/perl
use strict;
{
print “hello perl world, test success!\n”;
}
存盘为test.pl,存储目录要好找,便于在控制台窗口里面输入:perl test.pl,看到窗口中打印出“hello perl world, test success!” ,就表明安装成功了
二、采用“袖珍apache+perl5.8.exe”安装perl
三、bioperl安装
1 参考http://www.bioperl.org/wiki/Installing_BioPerl安装说明
To install ActivePerl:
1) Download the ActivePerl MSI from ActiveState
2) Run the ActivePerl Installer (accepting all defaults is fine).
GUI Installation
1) Start the Perl Package Manager GUI from the Start menu.
2) Go to Edit >> Preferences and click the Repositories tab. Add a new repository for each of the following (note the difference based on the perl version):
Repositories to add
3) Select View >> All Packages.
4) In the search box type bioperl.
5) Right click the latest version of Bioperl available and choose install. (Note for users of previous Bioperl releases: you should not have to use the Bundle-BioPerl package anymore.)
5a) From bioperl 1.5.2 onward, all ‘optional’ pre-requisites will be marked for installation. If you see that some of them complain about needing a command-line installation (eg. XML::SAX::ExpatXS), and you want those particular pre-requisites, stop now (skip step 6) and see the ‘Command-line Installation’ section.
6) Click the green arrow (Run marked actions) to complete the installation.
2、安装测试
use Bio::Seq;
use Bio::SeqIO;
# create a sequence object of some DNA
my $seq = Bio::Seq->new(-id => ‘testseq’, -seq => ‘CATGTAGATAG’);
# print out some details about it
print “seq is “, $seq->length, ” bases long\n”;
print “revcom seq is “, $seq->revcom->seq, “\n”;
# write it to a file in Fasta format
my $out = Bio::SeqIO->new(-file => ‘>testseq.fsa’, -format => ‘Fasta’);
$out->write_seq($seq);
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl或bioperl安装配置要注意什么问题。
【推荐参考书】
本理论教程讲义1。
实验二 :perl的变量和操作符操作
【实验目的】
学习perl各种变量的定义和应用,掌握各种操作符应用的规则;
通过本实验复习、加深和巩固所学的Perl的变量和操作符基础理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
内容一:perl语言共有5大类变量,注意每类变量的定义与赋值
Perl标量定义与应用;
Perl数组定义与应用;
Perl哈希表定义与应用;
Perl句柄定义与应用;
Perl指针定义与应用;
内容二:perl语言共有十种操作符,一类是数字操作符,另一类是字符串操作符。注意在perl中这两类数据可以相互转化,但是操作还是有区别的。
算术操作符
整数比较操作符
字符串比较操作符
逻辑操作符
位操作符
赋值操作符
自增自减操作符
字符串联结和重复操作符
逗号操作符
条件操作符
操作符的次序
几个常用函数
根据课程内容编写程序,编程和测试五种变量的定义、运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl变量中要重点注意什么问题。
【推荐资料】
本理论教程讲义2,3
实验三 :perl的列表和数组变量操作
【实验目的】
学习perl列表和数组的定义和应用;
通过本实验复习、加深和巩固所学的Perl的列表和数组基础理论知识及其区别。
【实验器材】
计算机,Perl安装包:
【实验内容】
根据理论课程讲义4内容,练习perl列表和数组的定义和应用等操作。
内容一 列表
内容二、数组–列表的存贮
1、数组的存取
2、字符串中的方括号和变量替换
3、列表范围
4、数组的输出及内插
5、列表/数组的长度
6、子数组
7、有关数组的库函数(pop、push、shift、unshift、splice、reverse、sort等)
8、列表上下文中使用
根据课程内容编写程序,编程和测试列表和数组的定义、应用和运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl操作符中要重点注意什么问题。
【推荐参考书】
理论课程讲义4
实验四 :perl的模式匹配操作
【实验目的】
学习Perl模式匹配和语法规则和基本应用;
通过本实验复习、加深和巩固所学的Perl模式匹配和语法规则和基本应用基础理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
内容一、匹配操作符
内容二、模式中的特殊字符
1、字符 +
2、字符 []和[^]
3、字符 *和?
4、转义字符
5、匹配任意字母或数字
6、锚模式
7、模式中的变量替换
8、字符范围转义前缀
9、匹配任意字符
10、匹配指定数目的字符
11、指定选项
12、模式的部分重用
13、转义和特定字符的执行次序
14、指定模式定界符
15、模式次序变量
内容三、模式匹配选项
1、匹配所有可能的模式(g选项)
2、忽略大小写(i选项)例
3、将字符串看作多行(m选项)
4、只执行一次变量替换例
5、将字符串看作单行例
6、在模式中忽略空格
内容四、替换操作符
内容五、翻译操作符
内容六、扩展模式匹配
1、不存贮括号内的匹配内容
2、内嵌模式选项
3、肯定的和否定的预见匹配
4、模式注释
根据课程内容编写程序,编程和测试Perl模式匹配和语法规则、基本应用和运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl模式匹配在生物信息学中应用。
【推荐参考书】
实验五 :perl控制结构和子程序
【实验目的】
学习Perl控制结构和子程序语法规则和基本应用;
通过本实验复习、加深和巩固所学的Perl控制结构和子程序语法规则和基本应用基础理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
A 内容一、Perl控制结构
一、条件判断
二、循环:
1、while循环
2、until循环
3、for循环
4、针对列表(数组)每个元素的foreach循环
5、do循环
6、循环控制
7、传统的goto语句
三、单行条件
B 内容二、Perl子程序
一、定义
二、调用
1、用&调用
2、先定义后调用
3、前向引用
4、用do调用
三、返回值
四、局部变量
五、子程序参数传递
1、形式
2、传送数组
六、递归子程序
七、用别名传递数组参数
八、预定义的子程序
根据课程内容编写程序,编程和测试控制结构和子程序语法规则和基本应用运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl控制结构和子程序与java、c语言中的区别。
【推荐参考书】
实验六 :perl的关联数组
【实验目的】
学习Perl关联数组的语法规则和基本应用;
通过本实验复习、加深和巩固所学的Perl关联数组的语法规则和基本应用基础理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
内容一、数组变量的限制
内容二、关联数组的定义
内容三、访问关联数组的元素
内容四、增加元素
内容五、创建关联数组
内容六、从数组变量复制到关联数组
内容七、元素的增删
内容八、列出数组的索引和值
内容九、用关联数组循环
内容十、用关联数组创建数据结构
1、(单)链表
2、结构
3、树
根据课程内容编写程序,编程和测试关联数组的语法规则和基本应用运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl关联数组与一般数组的区别。
【推荐参考书】
实验七 :perl的格式化输出操作
【实验目的】
学习Perl格式化输出的语法规则和基本应用;
通过本实验复习、加深和巩固所学的Perl格式化输出的语法规则和基本应用基础理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
内容一、定义打印格式
内容二、显示打印格式
内容三、在打印格式中显示值
1、通用的打印格式
2、格式和局域变量
3、选择值域格式
4、输出值域字符
内容四、输出到其它文件
内容五、分页
内容六、格式化长字符串
内容七、用printf格式化输出
根据课程内容编写程序,编程和测试格式化输出的语法规则和基本应用运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl格式化输出在生物信息学软件设计中的应用。
【推荐参考书】
实验八 :perl文件读写操作
【实验目的】
学习Perl文件读写的语法规则和基本应用;
通过本实验复习、加深和巩固所学的Perl文件读写的语法规则和基本应用基础理论知识。
【实验器材】
计算机,Perl安装包:
【实验内容】
内容一、打开、关闭文件
内容二、读文件
内容三、写文件
内容四、判断文件状态
内容五、删除文件
根据课程内容编写程序,编程和测试文件读写的语法规则和基本应用运行情况。
【实验记录】
图形记录:
关键程序代码:
结果分析与结论:
心得与思考:
【实验报告】
按实验报告格式要求撰写实验报告(见该讲义前言部分)
【思考题】
结合本实验,谈谈perl文件读写注意的问题。
【推荐参考书】