Upload
len-horn
View
154
Download
4
Embed Size (px)
DESCRIPTION
计算机科学与生命科学( 9 ) 生物信息学基础 2013 年秋季学期通选课程 上课时间:周一 18:30 点 上课地点:软件园 4 区 502d 主讲人:魏天迪 讲义网址: http://www.mbtech.sdu.edu.cn/biocomp/. 分子进化. 美国人 Linus Pauling 于 1964 年提出了分子进化的理论。 在分子水平上( DNA 、 RNA 或蛋白质序列)而不是物种的外在特征,来研究进化过程。 基于某一个特定的分子在不同物种中的序列差异来构建进化树。 - PowerPoint PPT Presentation
Citation preview
计算机科学与生命科学( 9)生物信息学基础
2013 年秋季学期通选课程上课时间:周一 18:30 点 上课地点:软件园 4 区 502d主讲人:魏天迪讲义网址: http://www.mbtech.sdu.edu.cn/biocomp/
分子进化
• 美国人 Linus Pauling 于 1964 年提出了分子进化的理论。• 在分子水平上( DNA 、 RNA 或蛋白质序列)而不是物种的外在特征,来研究进化过程。• 基于某一个特定的分子在不同物种中的序列差异来构建进化树。• 基本假设:( 1 ) DNA 、 RNA 或蛋白质序列包含了物种的所有进化史的信息;( 2 )分子钟理论:一个特定蛋白质的进化变异(不同碱基或氨基酸的个数)的速度在不同物种中是基本恒定的。即两个蛋白质的序列越相近,他们距离共同祖先就越近。
DNA序列
>nameCTCCTGACCTCAGGCGATTCGCCCGCCTCGGCCTCCCAAAGTGCTAGGATTACAGGCGTGAGCCACCACGCCCGGCCACACTAACTTTTTAAGAGCCAAGAGTTCGATCGGTAGCGGGAGCGGAGAGCGGACCCCAGAGAGCCCTGAGCAGCCCCACCACCACCGCTGGCCTAGCTACCATCACACCCCGGGAGGAGCCGCAGCTGCCGCAGCCGGCCCCAGTCACCATCACCACAACCTTGAGCAGCGAGGCCGAGACCCAGCAGCCGCCCGCCGCTTGCCGCTCGCCGCCCCCCGCCCTCAGCGCCGGTGACACCACGCCCGGCACTACGGGCAGCGGCACAGGAAACGGTGGCCCGGGAGGCTTCACATCAGCAGCACCTGCCGGCGGGGACAAGAAGGTCATCGCAACGAAGGT
由 4 个不同的字母(碱基)排列组合而成。
FASTA 格式:第一行:大于号加名称或其它注释;第二行以后:每行 60 个字母。
蛋白质序列
>nameMHHHHHHSSGRENLYFQGKLPEPQFYAEPHTYEEPGRAGRSFTREIEASRIHIEKIIGSGDSGEVCYGRLRVPGQRDVPVAIKALKAGYTERQRRDFLSEASIMGQFDHPNIIRLEGVVTRGRLAMIVTEYMENGSLDTFLRTHDGQFTIMQLVGMLRGVGAGMRYLSDLGYVHRDLAARNVLVDSNLVCKVSDFGLSRVLEDDPDAAXTTTGGKIPIRWTAPEAIAFRTFSSASDVWSFGVVMWEVLAYGERPYWNMTNRDVISSVEEGYRLPAPMGCPHALHQLMLDCWHKDRAQRPRFSQIVSVLDALIRSPESLRATATVS
由 20 个不同的字母(氨基酸)排列组合而成。
FASTA 格式:第一行:大于号加名称或其它注释;第二行以后:每行 60 个字母。
创建进化树
http://www.ebi.ac.uk/Tools/phylogeny/clustalw2_phylogeny/
输入文件: sequences.txt
输出树:
基本序列算法
1. 精确子字符串搜索如:在一个 DNA 序列中搜索起始子 ATG 。• 在文本文件或 WORD 文件中直接用搜索功能。• 使用简单的计算机语言编程,如: PERL
open (FH,"<dna.txt");@get=<FH>;close FH;$content=join("", @get);$n=0;$find=index($content, "ATG", $n);while($find!=-1){print "$find\n";$n=$find+1;$find=index($content, "ATG", $n);}
基本序列算法
2. 模式匹配搜索(正则表达式)如:在一个蛋白质序列中搜索 LxxLxLxxNxL 其中 L 代表 L, I , F 或 V , x 代表任意氨基酸。使用简单的计算机语言编程,如: PERL
open (FH,"<protein.txt");@get=<FH>;close FH;$content=join("", @get);while($content=~/[LIFV]\w{2}[LIFV]\w{1}[LIFV]\w{2}N\w{1}[LIFV]/g){print "$&\n";}
模式匹配搜索也可以实现上一张幻灯片里的精确子字符串搜索:while($content=~/ATG/g){print "$&\n";}
基本序列算法
3. 后缀树
序列: SDSDFSDFG
1: SDSDFSDFG$2: DSDFSDFG$3: SDFSDFG$4: DFSDFG$5: FSDFG$6: SDFG$7: DFG$8: FG$9: G$
基本序列算法
3. 后缀树
SDSDFSDFG功能: 2. 指定字符串 s 在字符串 S 中的重复次数:从树根开始,按照功能1 的办法找到 s ,然后看 s 之后有几片树叶。 s1: SD ( 3 次) ; s2: DF( 2 次)
基本序列算法
4. 最高分子序列问题
Input: 一个序列 (a1,…,an) R∈ n
Output: 一个子序列 (ai,…,aj) ,使得函数 f(i, j) 最大, f(i, j) = ∑ ah
jh=i
最短原则:在几个子序列同时拥有最高分时,如果某一个完全包含在另一之内,则只返回被包含的那一个。
基本序列算法
4. 最高分子序列问题
Input: 一个序列 (a1,…,an) R∈ n
Output: 一个子序列 (ai,…,aj) ,使得函数 f(i, j) 最大, f(i, j) = ∑ ah
jh=i
Naïve 算法:对于所有 i<=j [1, n]∈ ,计算 f(i, j) ,在找出最大值对应的 (i, j) 。
所有可能的 (i, j) 组合的数量,即计算 f(i, j) 的次数:
(n-1)+(n-2)+…+1 = n*(n-1)/2 = O(n2)
计算一次 f(i, j) 所需的步骤: O(n)
=> Naïve 算法的总运算步骤为 O(n3)
一个算法的运算步骤: k -> log(n) -> n -> n*log(n) -> n2
基本序列算法
4. 最高分子序列问题
Input: 一个序列 (a1,…,an) R∈ n
Output: 一个子序列 (ai,…,aj) ,使得函数 f(i, j) 最大, f(i, j) = ∑ ah
jh=i
动态算法: O(n2)
分而治之算法: O(n*log(n))
聪明算法: O(n)
数据库中的序列相似性搜索
对于一个蛋白质或 DNA 序列,你需要从序列数据库中找到与它相同或相似的序列。不可能再用眼睛去比较每一对序列,因为数据库中有太多序列,甚至用眼睛比较一对序列都是不可能做到的。
…… > 100,000
BLAST
序列相似性
序列相似性的重要性
相似的序列往往起源于一个共同的祖先序列。它们很可能有相似的空间结构和生物学功能 ,因此对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,则可以推测这个未知结构和功能的蛋白质的结构和功能。
相似的序列
相似的结构 相似的功能
序列相似性
结构相似?功能相似?
序列相似性
序列相似性的重要性
相似的序列往往起源于一个共同的祖先序列。它们很可能有相似的空间结构和生物学功能 ,因此对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,则可以推测这个未知结构和功能的蛋白质的结构和功能。
序列相似性
序列相似性的重要性
相似的序列往往起源于一个共同的祖先序列。它们很可能有相似的空间结构和生物学功能 ,因此对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,则可以推测这个未知结构和功能的蛋白质的结构和功能。
结构相似?功能相似?
一致度与相似度
一致度:如果两个序列(蛋白质或 DNA )长度相同,那么它们的一致度定义为他们对应位置上相同的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。
相似度:如果两个序列(蛋白质或 DNA )长度相同,那么它们的相似度定义为他们对应位置上相似的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。问题:哪个残基与哪个残基算作相似?答:残基两两相似的量化关系被一个称为 BLOSUM的矩阵所定义。
序列相似性
一致度与相似度
一致度:如果两个序列(蛋白质或 DNA )长度相同,那么它们的一致度定义为他们对应位置上相同的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。
相似度:如果两个序列(蛋白质或 DNA )长度相同,那么它们的一致度定义为他们对应位置上相似的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。问题:哪个残基与哪个残基算作相似?答:残基两两相似的量化关系被一个称为 BLOSUM的矩阵所定义。
序列相似性
序列 1 : CLHK序列 2 : CIHL
一致度 = 2/4 = 50%
相似度 = 3/4 = 75%
一致度与相似度
一致度:如果两个序列(蛋白质或 DNA )长度相同,那么它们的一致度定义为他们对应位置上相同的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。
相似度:如果两个序列(蛋白质或 DNA )长度相同,那么它们的一致度定义为他们对应位置上相似的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。问题:哪个残基与哪个残基算作相似?答:残基两两相似的量化关系被一个称为 BLOSUM的矩阵所定义。
序列相似性
如果像个序列的长度不同怎么计算一致度与相似度?
seq 1 : CLHKAseq 2 : CIHL
比较两个长度不同的序列的方法:打点法、序列比对法
打点法:最简单的比较两个序列的方法,理论上可以用纸和笔来完成。
Seq1: THEFASTCAT
Seq2: THEFATCAT
T H E F A S T C A TT x x xH xE xF xA x xT x x xC xA x xT x x x
length(seq1) = 10length(seq2) = 910 x 9 = 90 次比较
序列两两比较
Seq 1
Seq 2
序列两两比较
打点法:对角线及对角线的平行线代表两条序列中相同的区域。
1. THEFA2. TCAT3. AT
Seq1: THEFASTCAT
Seq2: THEFATCAT
T H E F A S T C A TT x x xH xE xF xA x xT x x xC xA x xT x x x
Seq 1
Seq 2