唐浩能perl语言实验技能课实验报告
2014 年暑假小学期实验技能课实验报告 课程名称:Perl 语言新手入门及生物序列实战分析 姓 名:
学 号:
专 业:生命科学类 院 系:生命科学大学院 指导老师:
一 实验目的 本次课程以训练科学的思维方式为核心,我们希望每一个想要从事生命科学的学生能专注于深刻的生物学问题,在此基础上有针对的接受训练和学习,让生物学问题去驱动自身的实验技能,最终解决生物学问题。
二 实验内容 本次技能课程分为 4 个部分:Linux 基本操作,Blast 基本原理及应用;Perl语言及实战分析,MySQL 基本操作及应用。
x A.linux 操作系统基本操作 学习了文件的复制、删除和移动命令,目录的创建、删除及更改目录命令,文本查看命令,文本处理命令,备份与压缩命令,磁盘及系统管理命令。
如 mkdir 创建目录,cd..表示切换至上一层目录,pwd 显示路径,ls 列出子目录与文件,more 查看文本,cat data1 data2>data3 连接文件 data1 和 data2,head 或 tail显示文本首或尾几行,grep 可搜索过滤出符合某个特征的行,sort 对文件各行进行排序,split 将文件分割成几个文件,tar、gzip、unzip、compress 可将文件压缩成不同的格式,top 可显示各用户的进程动态等等。
这些都是比较常用的命令。
t B.blast 的原理和在 s windows 和 和 x linux 系统下的安装 blast 可把核酸、蛋白质的任意组合进行相似性比对,它的方法是根据Needleman-Wunsch 算法进行全局比对和根据 Smith-Waterman 算法进行局部比对。
在比对两个序列时,不仅要考虑完全匹配的字符,还要考虑一个序列中的空格
或间隙(或者,相反地,要考虑另一个序列中的插入部分)和不匹配,在序列比对中,需要找到最优的比对(最优比对大致是指要将匹配的数量最大化,将空格和不匹配的数量最小化)。如果要更正式些,可以确定一个分数,为匹配的字符添加分数、为空格和不匹配的字符减去分数。
l C.perl 语言学习 1.变量:(variable),储存一个或者多个值的容器的名称 • 标量变量 • 数组 • 哈希 • 运算符 2.控制结构 • 条件判断:If, unless • 循环:while, for, foreach, until 其中运算符的学习又包括了 • 赋值(Assignment)运算符 • 算术(Arithmetic)运算符 • 数值(Numeric Values)关系运算符 • 字符串(String Values)关系运算符 3.学习了 split 操作符、join 函数、pop 和 push 操作符、shift 和 unshift 操作符、splice 命令、substr 命令等。
4.正则表达式:
regular expression,也叫做模式(pattern)查看一个字符串,然后判定它匹配或者不匹配 1)元字符匹配 点号(.)是能匹配任意一个字符的通配符,换行符(n)除外 2)择一匹配 竖线(|)通常可以读成“或”,意思是要么匹配左边的内容,要么匹配右边的内容 3)简单的量词 *、+、{}、? 4)限制首尾的符号
^、$ 5)择一选择方框 [] 6)反斜线转义 d、D、w、W、s、S、n、t 5.自定义的函数:子程序 sub 子程序名 { 语句块; } 子程序的名字可由字母、数字、下划线组成,但不能以数字开头 D.L MySQL 基本操作及应用。
MySQL 是一个关系型数据库管理系统,MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
三 实验工具
1.硬件:
Linux 服务器(IBM-7947),个人电脑(win7 操作系统); 2.软件:
SSHSecureShellClient-3.2.9.exe;(用于登陆 Linux 服务器)ncbi-blast-2.2.29+-win32.exe;ncbi-blast-2.2.29+-x64-linux.tar.gz;ActtivePerl_MSWin32-x86_5.12.1.1201.msi;(perl 编译器)Vim7.3.exe;(perl 脚本编辑器)Mysql-5.5.21-win32.msi;(MySQL 数据库)四 实验结果 1.BLAST(Basic L ocal Alignment Search Tool)以比对-COELACANTH-和-PELICAN-为例,如何让两段字符串得到最佳匹配。
Needleman--h Wunsch 算法规则:
1)每个空格会有三个得分,取最高分填入表格中,写好方向。如出现同分,可以任意在第一个同分任意选择一个方向,在后面出现同分情况,方向要与第一个同分的方向一致。字符匹配加 1 分,不匹配减 1 分,每有一个间隔减 1 分。
2)第一个分数:(水平方向)=左边一格分数+间隔得分 第二个分数:(垂直方向)=上面一格分数+间隔得分 第三个分数:(方向是箭头斜向上 45°)=左上对角线分数+匹配得分 3)从最右边找到最高分的格,按照方向走。匹配时,水平或垂直方向只填写最上面的字母,偏斜方向填两个字母。(一般来说,长的字符串在上面,短的字符串在左边。)步骤一:建表
步骤二:填入得分 步骤三:分析得分
步骤四:匹配字符串 步骤五:得出结果-COELACANTH---PELICAN---
Smith--Waterman 算法规则:
Smith-Waterman 算法与 Needleman-Wunsch 算法存在着三个区别。
首先,在初始化阶段,第一行和第一列全填充为 0(而且第一行和第一列的指针均为空)。
第二,在填充表格时,如果某个得分为负,那么就用 0 代替,只对得分为正的单元格添加返回指针。
最后,在回溯的时候,从得分最高的单元格开始,回溯到得分为 0 的单元格为止。除此之外,回溯的方式与 Needleman-Wunsch 算法完全相同。
步骤一:建表 步骤二:填入得分并分析
步骤三:匹配字符串,得出结果-ELACAN--ELICAN-2.x Linux 下 下 T BLAST 的安装及使用; 步骤一:安装 在 SSH 输入命令(下 载 安 装 包)wget ftp ://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.2.29+-x64-linux.tar.gz(显示文件)ls(解压文件)tar xvf ncbi-blast-2.2.29+-x64-linux.tar.gz 安装完成 步骤二:使用(对比序列)(设置环境变量)export PATH=${PATH}:/lab203/ncbi-blast-2.2.29+/bin(创建目录)mkdir db(进入另一个目录)cd db(创 建 新 数 据 库)../ncbi-blast-2.2.29+/bin/makelastdb –in alu.n –dbtype nucl –parse_seqids –out alu
(序列对比,输出结果)../ncbi-blast-2.2.29+/bin/blastn –query test.txt –db alu –evalue 1e-10 –out output.txt 3.l Perl 语言实战分析 题目:
第一题程序及结果:
第二题程序及结果:
第三题程序及结果:
第四题程序及结果:
第五题程序及结果:
第六题程序及结果:
4.MySQL 应用 1)打开 mysql 开始》》运行》》输入:mysql –h localhost –u root –p 》》输入密码 2)使用 mysql 展示数据库:show databases;使用数据库:use XX;展示表格:show tables;显示表格详细信息:describe XX;创建数据库:create database XX;创建表格:create table XX(column 1[attribute,default], column 2[attribute,default], „ Column n[attribute,default],)charset utf8;把数据放入表格中:
load data local infile’D:/script/chr19.txt’ into table chr19;查看表格:select * from chr19;输入信息:insert into XX(column1,column2„)values(value1,value2„);更新信息:update XX set column1=new_value1,column2=new_value2,„ where expr;删除信息:delete from XX
where expr;更增加/减少行:alter table XX add/drop column col 1(data_type);选择显示:select column1,column2„ from XX where expr;开放使用权限:grant all on *.* to user @’192.168.0.%’ Identified by ‘******’;收回使用权限:revoke all on *.* from user @’192.168.0.%’;3)mysql 命令字符区别 int(M)zerofill:数字不多于 M,占 M 位。
decimal(M,D)精确值,float(M,D)大约值 char(M)固定长度,中间有空格会消失,长度在最后用空格补齐 varchar(M)可变长度,中间空格不会消失 五、心得体会 在上小学期的实验技能课之前,还真的没试过这种那么少人的上课方式,跟平常上课很不一样,感觉就是像培训一样。而且俊锋师兄的讲课风格非常活泼轻松,倒有点像茶话会呀交流会呀什么的哈哈!自从听了俊锋师兄的建议去听听另外一门 perl 语言的课后,我就一直两门课都去学了,在刘黎老师的课上还学到了从 cpan 的网站上下载 bioperl 的模块、fastq 的格式(包括 ASCII 和 Phred quality)、还有其他的 perl 语言命令如 grep
等等。感觉刘黎老师讲得也挺清楚的,不过就是有点快,而且要自己带笔记本电脑过去(唉!~台式机的伤不起呀伤不起)最终是在那边借一个操作系统是 Unix的电脑用了哈~比较遗憾的是到最后有些一起上课的师兄师姐还是不知道叫什么名字。。
俊锋师兄的讲解给我最大的印象就是非常形象,而且经常引用生活中或者企业家的例子与 perl 语言联系起来,不得不说联想力真是太丰富了!而且来上课的同学们建立的微信群“19 号染色体”里经常会有一些充满正能量的信息,这也很不错。
最后有一晚跟俊锋师兄聊天聊到未来的生物产业发展前景和趋势,得到了俊峰师兄很多的建议和看法,也因此完善了我对未来所要做的事情的规划。
可见,这门实验技能课对于我的远远不止是掌握了 perl 语言这门技术这么简单,更重要的是它开拓了我的眼界,给我以后的学术、事业努力的方向提供了很重要的启发!我会好好记住这次实验技能课的经历,然后继续扬帆起航!19 号染色体,加油!前进!
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《唐浩能perl语言实验技能课实验报告》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
