perl程序设计课程考核。
院系部门: 生物信息学院。
学生专业: 生物信息专业
学生学号: 2009212256
学生姓名: 彭莉
2023年6月。
perl程序设计课程考试大作业。
设置目的】1、 贯彻实施高等教育的质量工程,深化教学改革,对本课程考试实施改革,以课程大作业形式取代原有的卷面考试;
2、 运用本课程所学知识,掌握perl和bioperl程序开发环境的搭建、配置和测试;
3、 熟悉和巩固运用perl编程实现生物信息学中生物信息的分析处理等实践技能;
考评方法】满分100分:(大作业:70分;随机提问回答情况:30分);
合格控制线:(大作业:>40分;随机提问回答情况:>20分),任意一部分不合格则为不合格。
第一题:请问bioperl怎样安装和配置,请结合文字图表概述bioperl的安装、配置与测试,并简述该过程**现问题解决经历(10分)。
一、求解过程。
1)、安装最新版本的后启动ppm,见图1-1;
图1-1:启动ppm安装软件。
图1-2:per ppm软件包管理界面。
2)、打开后,选择edit >>preferences。添加fig1.3图的站点,添加bribes的例子见图1-4;
图1-3:模块相应的站点。
图1-4:添加bribes模块的站点地址。
3)、选择view >>all packages,在搜索框输入bioperl进行搜索,结果见图1-5;这个结果个人觉得有些奇怪,因为搜索结果里面有些包是一样的,我觉得会不会是在不同的站点里存在了同样的包,然后就出现了一些相同的包。
图1-5:搜索bioperl软件包的结果。
4)、安装相应的包,首先安装bioperl包,选中bioperl,右键选择安装,然后按图1-5中右上角的右箭头开始进行**并安装,其实可以一次性选择所有想安装的模块,然后再一起进行**安装;不过为了让电脑更好的运行,就分开一个一个进行安装,bioperl安装情况见图1-6,bioperl-db安装情况见图1-7,bioperl-network安装情况见图1-8,图1-9,bioperl-run和bundle-bioperl情况见图1-10,bioperl-bioperl-core安装情况见fig1.11,bio-mgen和bundle-bioperl-xml******1.0见图;
图1-6:安装bioperl完成。
图1-7:安装完成bioperl-db
图1-8:正在**安装bioperl-network
图1-9:安装完成bioperl-network
图1-10:同时安装bioperl-run和bundle-bioperl完成。
图1-11:bioperl-bioperl-core安装完成。
图1-12:同时**安装bio-mgen和bundle-bioperl-xml******1.0,图1-13:完成所有的模块安装;
5)、检测安装情况由图1-13和图1-14,可知安装成功;
图1-14:安装bioperl所在的文件夹。
二、心得与体会。
第一次装得时候居然没有成功,结果原因是网速不够,再试了一次终于成功了。
第二题:结合图形和程序回答下面问题。
2.1、编程实现一个dna序列文件的酶切位点的分析(包括酶切位点统计、酶切位点的标记和计数,以及可视化输出等,不准用模式匹配知识)(10分)。
实现过程:#!/usr/bin/perl
print"输入一段序列:";
open(file,"d:\\perl\\"
a=;string=join(""a);
print"$string", n";
print "我们将标记每一个酶切位点at:";
print" $string", n";
foundat = 0;
offset = 0;
label = 1;
positions;
while ( foundat = index( $string, 'at', offset ) 1 )
= label++;
offset = foundat + 1;
foreach ( 0 ..length( $string ) 1 )
print "";
foreach ( 0 ..length( $string ) 1 )
测试的结果见图2-1;
图2-1 心得体会:
刚开始题目都没读懂,老师给了个模板,说是上一届做的,结果看都看不懂**,后来经过老师讲解了之后,慢慢开始理解那个学长(或是学姐)的**是怎么回事了,但是还是不知道怎么用。因为老师足够的狡猾,把**删的就剩下几行,还是完全不懂得。在同学的讲了又看看了又讲的情况下,终于把它写出来了,但是,结果还是不知道怎么来的。
浑浑噩噩的就弄出来了。写出来了,运行出来了还是有很多问题。不知道为什么只能运行一行**,两行怎么都运行不了。
不知道怎么回事?
2.2、对1中编写的程序采用子程序进行优化,并阐述子程序输入输出和内部算法实现的理由和心得(10分)。
一、解题思想。
本做法主要是对于题2.1中运用子程序进行优化……,并且采用子程序的实现也有利于提高**的可读性。
2、实现过程:
核心**:while ( foundat = index( $string,$tags,$offset ) 1 )
= label++;
offset = foundat + 1;
print" "
foreach ( 0 ..length( $string ) 1 )
print "";print" "
foreach ( 0 ..length( $string ) 1 )
程序**:#!/usr/bin/perl
print"上传序列文件到d:盘中的perl下面,输入序列的文件名:";
b=;open(file,"d:\\perl\\$b");
while()
print"$string", n";
print "输入你想查找的酶切位点:";
chomp($tags=);
print "我们将标记每一个酶切位点$tags:";
print" $string","n";
meiqie_site($string,$tags);
sub meiqie_site
my($strings,$tags)=@
my $foundat = 1;
my $offset = 0;
my $label = 1;
while ( foundat = index( $string,$tags,$offset ) 1 )
= label++;
offset = foundat + 1;
print" "
foreach ( 0 ..length( $string ) 1 )
print "";print" "
foreach ( 0 ..length( $string ) 1 )
测试结果输出见图2-2:
图2-2:子程序优化2-1题测试输出。
心得体会:当然第一题如果做出来了的话,这道题就简单多了,只需要加一个子程序,通过对子程序的调用,将需要的参数传进去就好了,其他的什么也不用做。但是在做这道题的时候还是改了很久。
因为做第一题的很多地方都不是很人性化,所以就加了一些个人的元素进去,能够自动的上传文档,然后就可以对任意序列进行分析。
2.3、进一步完善上面的程序,编写的系列酶切酶管理程序,实现酶切酶信息的添加、删除和修改,并简述理由和心得(20分)。
一、解题思想。
本题中的要求实现添加、删显示功能,该子程序通过两层的循环实现二维数组的输出。count功能,该子程序使用index函数和while循环来实现位点信的不断循环运行,并提示用户可以通过相应的操作来退出程序。
2、实现过程:
核心**:if($c==1)
print"输入你想增加的酶切位点名字:";
chomp($d=);
print"输入对应的酶切位点的序列:";
chomp($e=);
print"加入的酶切位点为:";
$name=$e;
while(($f,$num)=each (%name))
$m=&meiqie_site($string,$num);
printf(" f $num ");
perl期末考试大作业
perl程序设计课程考核。院系部门 生物信息学院。学生专业 生物信息专业 学生学号 学生姓名 彭莉 2011年6月。perl程序设计课程考试大作业。设置目的 1 贯彻实施高等教育的质量工程,深化教学改革,对本课程考试实施改革,以课程大作业形式取代原有的卷面考试 2 运用本课程所学知识,掌握perl和...
《现代物流概论》期末考试大作业
一 结合实际,谈谈对物流活动的认识?时下,物流一词频繁见诸于报端,几乎成为了 利润源泉 的代名词。随着中国市场的进一步对外开放以及wto的加入,中国经济与世界经济融为一体的趋势已成必然。在中国,现代企业竞争的结果使生产企业和商业企业都进入一个微利时代,产品的成本和利润也变得非常透明。企业之间的竞争现...
期末考试期末考试记事作文
期末考试 期末考试记事作文。今天是期末考试,第一天考的是语文8 10 10 10,地理10 30 11 30,英语13 40 15 20,生物16 00 17 00,两门主课两门小课。早上我早早的起了床,吃完早饭骑着自行车来到学校。这句话说得简单,做起来可是不简单。因为骑车的路程是very苦的呀!我...