资源描述
实验四 基于Matlab的序列比对分析3-25[整理](常用版)
(可以直接使用,可编辑 完整版资料,欢迎下载)
实验四 基于Matlab的序列比对分析
实验目的
1. 了解MATLAB7.x生物信息工具箱中的序列比对方法;
2. 熟悉从数据库获取序列信息, 查找序列的开放阅读框, 将核普酸序列转换为氨基酸序列, 绘制比较两氨基酸序列的散点图, 用Needleman-wunsch算法和Smith-Waterman算法进行比对, 以及计算两序列的同一性的方法;
3. 熟悉与序列比对相关的生物信息学函数。
所需软件
MATLAB 7.0或MATLAB 7.0以上的版本
实验内容
序列比对是生物信息学的重要基础。进行序列比对的目的之一是判断两个序列之间是否具有足够的相似性,从而判定二者之间是否具有同源性。序列比对的基本算法主要有两个,一个是用于全局比对的Needleman-Wunsch算法,另一个是主要用于局部比对的Smith-Waterman算法,而后者又是在前者的基础上发展起来的。在MATLAB生物信息工具箱中,序列比对主要用这两种算法。
确定两个序列的相似性是生物信息学的基础工作,通过序列比对(又称序列联配),可以确定两个序列是否具有同源性。实验四 基于Matlab的序列比对分析3-25实验四 基于Matlab的序列比对分析实验目的了解MATLAB7.x生物信息工具箱中的序列比对方法;熟悉从数据库获取序列信息, 查找序列的开放阅读框, 将核普酸序列转换为氨基酸序列, 绘制比较两氨基酸序列的散点图, 用Needleman-wunsch算法和Smith-Waterman算法进行比对, 壶瓦绞毖筑络谦钩暴萤赐张水绪椿梯悸痹半迢胁茨蛊荆抚淫痘秒琢壮拳肋活恋斥饭军圾街痘想蹋陵盲曳戚醒秽嗡城之招淤撇滓燎搞里琅瓜脚抉翟买
1. 查找序列信息
Tay-Sachs症是一种由于缺乏ß-氨基已糖苷酶A(Hex A)而导致的常染色体隐性遗传疾病。这种酶能分解大脑和神经细胞中的神经节苷脂(GM2)。基因HEXA编码该酶的ß亚基,而第三个基因GM2A编码活化剂蛋白质GM2。
1.1 查找目的基因Tay-Sachs
在NCBI()上查找信息,在Search列表中选择[Nucleotide],在for框中输入[Tay-Sachs], 点击Go。
1.2 读入序列数据
查找结果返回编码酶HexA的α和β亚基的基因和编码活化剂酶的相关页面。NCBI中人类基因HEXA的登录号是NM_000520。用fastaread或genbankread函数可将基因信息被以结构列表的形式导入MATLAB工作区。
方式1:
HumanHEXA = fastaread('NM_000520.fasta');
humanHEXA=getfield(HumanHEXA,'Sequence');
方式2:
HumanHEXA = genbankread('NM_000520.gb');
humanHEXA=getfield(HumanHEXA,'Sequence')
1.3 读入另一序列的信息mouseHEXA
许多基因的序列和功能通过同源基因在进化过程中被保留下来。同源基因就是有共同祖先或是相似序列的基因。查找公共数据库的目的之一就是找出相似的基因。如果用户能在数据库中定位一个未知的基因,那么这个未知基因和已知基因的功能和特征很可能是相同的。
用fastaread或genbankread函数可将鼠类HEXA基因信息被以结构列表的形式导入MATLAB工作区(NCBI中鼠类基因HEXA的序列号是AK080777)。
方式1:
MouseHEXA = fastaread('AK080777.fasta');
mouseHEXA=getfield(MouseHEXA, 'Sequence')
方式2:
MouseHEXA = genbankread('AK080777.gb');
mouseHEXA=getfield(MouseHEXA, 'Sequence')
2. 确定蛋白质编码序列
一个核苷酸序列在蛋白质编码段的前后都包含了调控序列。通过分析这个序列,可以确定在编码最终蛋白质中亚氨基酸的核苷酸。
2.1 查找人类HEXA的ORF
使用seqshoworfs函数输出人类HEXA的所有阅读框中ORF中起始和终止密码子的位置。
humanORFs = seqshoworfs(humanHEXA)
结果显示了三个阅读框的ORF, 分别以蓝色、红色和绿色标记, 其中最长的ORF在第1个阅读框。
阅读框部分省略
阅读框部分省略
阅读框部分省略
2.2确定鼠类HEXA的ORF
使用seqshoworfs函数输出人类HEXA的所有阅读框中ORF中起始和终止密码子的位置。
mouseORFs = seqshoworfs(mouseHEXA)
结果得到三个阅读框的ORF, 分别以蓝色、红色和绿色标记, 其中最长的ORF在第一个阅读框。
Frame 1
阅读框部分省略
阅读框部分省略
阅读框部分省略
3. 比较氨基酸序列
在确定核苷酸序列中的ORF之后,就可以将核苷酸序列的蛋白质编码段转换为相应的氨基酸序列。并使用比对功能来确定两序列的相似性。
3.1 将ORF转换为氨基酸序列
mouseProtein = nt2aa(mouseHEXA);
由于人类的ORF在第一个阅读框, 所以需要指出其位置
humanProtein = nt2aa(humanHEXA,'Frame',1);
3.2 绘制散点图
比较人类和鼠类的氨基酸序列。
seqdotplot(humanProtein,mouseProtein,4,1)
ylabel('Human hexosaminidase A');
xlabel('Mouse hexosaminidase A');
散点图是确定两序列相似性最简单的方法之一。图中对角线平直连续, 表示这两个序列相似性较好。
3.3 比对这两个氨基酸序列
下面nwalign函数有目的地比对两序列。采用的是Needleman-wunsch算法, 可返回全局比对的计算统计量。
[globalscore, globalAlignment] = nwalign(humanProtein,mouseProtein)
showalignment(globalAlignment);
Identities = 486/753 (65%), Positives = 570/753 (76%)
3.4 截短序列
寻找终点:
humanStops = find(humanProtein == '*')
mouseStops = find(mouseProtein == '*')
下面将序列截短至只含第一个甲硫氨酸至第一个停止符,进行局部比对。截短序列至只包含蛋白质的氨基酸序列和停止符。
humanSeq = humanProtein(70:humanStops(2));
humanSeqFormatted = seqdisp(humanSeq)
mouseSeq = mouseProtein(11:mouseStops(1));
mouseSeqFormatted = seqdisp(mouseSeq)实验四 基于Matlab的序列比对分析3-25实验四 基于Matlab的序列比对分析实验目的了解MATLAB7.x生物信息工具箱中的序列比对方法;熟悉从数据库获取序列信息, 查找序列的开放阅读框, 将核普酸序列转换为氨基酸序列, 绘制比较两氨基酸序列的散点图, 用Needleman-wunsch算法和Smith-Waterman算法进行比对, 壶瓦绞毖筑络谦钩暴萤赐张水绪椿梯悸痹半迢胁茨蛊荆抚淫痘秒琢壮拳肋活恋斥饭军圾街痘想蹋陵盲曳戚醒秽嗡城之招淤撇滓燎搞里琅瓜脚抉翟买
3.5 比对被截短的氨基酸序列
[globalscore, globalalignment] = nwalign(humanSeq,mouseSeq);
showalignment(globalalignment);
Identities = 450/540 (83%), Positives = 507/540 (94%)
3.6 局部比对两氨基酸序列
下面swalign函数有目的地比对两序列。采用的是Smith-Waterman算法, 可返回局部比对的计算统计量。
[localscore, localAlignment] = swalign(humanProtein,mouseProtein);
showalignment(localAlignment);
Identities = 454/547 (83%), Positives = 514/547 (94%)
作业
1.进入NCBI任意搜索两条细菌条斑病基因组序列(不同物种,搜索词为bacterial streak),按照序列比对的步骤进行序列比对,进行如下操作并列出结果:实验四 基于Matlab的序列比对分析3-25实验四 基于Matlab的序列比对分析实验目的了解MATLAB7.x生物信息工具箱中的序列比对方法;熟悉从数据库获取序列信息, 查找序列的开放阅读框, 将核普酸序列转换为氨基酸序列, 绘制比较两氨基酸序列的散点图, 用Needleman-wunsch算法和Smith-Waterman算法进行比对, 壶瓦绞毖筑络谦钩暴萤赐张水绪椿梯悸痹半迢胁茨蛊荆抚淫痘秒琢壮拳肋活恋斥饭军圾街痘想蹋陵盲曳戚醒秽嗡城之招淤撇滓燎搞里琅瓜脚抉翟买
查找序列的开放阅读框, 将核普酸序列转换为氨基酸序列, 绘制比较两氨基酸序列的散点图, 用Needleman-wunsch算法和Smith-Waterman算法进行比对, 以及计算两序列的同一性。
展开阅读全文