1 / 32

计算机科学与生命科学( 9 ) 生物信息学基础 2013 年秋季学期通选课程 上课时间:周一 18:30 点 上课地点:软件园 4 区 502d 主讲人:魏天迪

计算机科学与生命科学( 9 ) 生物信息学基础 2013 年秋季学期通选课程 上课时间:周一 18:30 点 上课地点:软件园 4 区 502d 主讲人:魏天迪 讲义网址: http://www.mbtech.sdu.edu.cn/biocomp/. 分子进化. 美国人 Linus Pauling 于 1964 年提出了分子进化的理论。 在分子水平上( DNA 、 RNA 或蛋白质序列)而不是物种的外在特征,来研究进化过程。 基于某一个特定的分子在不同物种中的序列差异来构建进化树。

len-horn
Download Presentation

计算机科学与生命科学( 9 ) 生物信息学基础 2013 年秋季学期通选课程 上课时间:周一 18:30 点 上课地点:软件园 4 区 502d 主讲人:魏天迪

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机科学与生命科学(9) 生物信息学基础 2013年秋季学期通选课程 上课时间:周一 18:30点 上课地点:软件园4区502d 主讲人:魏天迪 讲义网址:http://www.mbtech.sdu.edu.cn/biocomp/

  2. 分子进化 • 美国人Linus Pauling于1964年提出了分子进化的理论。 • 在分子水平上(DNA、RNA或蛋白质序列)而不是物种的外在特征,来研究进化过程。 • 基于某一个特定的分子在不同物种中的序列差异来构建进化树。 • 基本假设:(1) DNA、RNA或蛋白质序列包含了物种的所有进化史的信息;(2)分子钟理论:一个特定蛋白质的进化变异(不同碱基或氨基酸的个数)的速度在不同物种中是基本恒定的。即两个蛋白质的序列越相近,他们距离共同祖先就越近。

  3. DNA序列 >name CTCCTGACCTCAGGCGATTCGCCCGCCTCGGCCTCCCAAAGTGCTAGGATTACAGGCGTG AGCCACCACGCCCGGCCACACTAACTTTTTAAGAGCCAAGAGTTCGATCGGTAGCGGGAG CGGAGAGCGGACCCCAGAGAGCCCTGAGCAGCCCCACCACCACCGCTGGCCTAGCTACCA TCACACCCCGGGAGGAGCCGCAGCTGCCGCAGCCGGCCCCAGTCACCATCACCACAACCT TGAGCAGCGAGGCCGAGACCCAGCAGCCGCCCGCCGCTTGCCGCTCGCCGCCCCCCGCCC TCAGCGCCGGTGACACCACGCCCGGCACTACGGGCAGCGGCACAGGAAACGGTGGCCCGG GAGGCTTCACATCAGCAGCACCTGCCGGCGGGGACAAGAAGGTCATCGCAACGAAGGT 由4个不同的字母(碱基)排列组合而成。 FASTA格式: 第一行:大于号加名称或其它注释;第二行以后:每行60个字母。

  4. 蛋白质序列 >name MHHHHHHSSGRENLYFQGKLPEPQFYAEPHTYEEPGRAGRSFTREIEASRIHIEKIIGSG DSGEVCYGRLRVPGQRDVPVAIKALKAGYTERQRRDFLSEASIMGQFDHPNIIRLEGVVT RGRLAMIVTEYMENGSLDTFLRTHDGQFTIMQLVGMLRGVGAGMRYLSDLGYVHRDLAAR NVLVDSNLVCKVSDFGLSRVLEDDPDAAXTTTGGKIPIRWTAPEAIAFRTFSSASDVWSF GVVMWEVLAYGERPYWNMTNRDVISSVEEGYRLPAPMGCPHALHQLMLDCWHKDRAQRPR FSQIVSVLDALIRSPESLRATATVS 由20个不同的字母(氨基酸)排列组合而成。 FASTA格式: 第一行:大于号加名称或其它注释;第二行以后:每行60个字母。

  5. 创建进化树 http://www.ebi.ac.uk/Tools/phylogeny/clustalw2_phylogeny/ 输入文件:sequences.txt 输出树:

  6. 看三个与进化有关的短片

  7. 基本序列算法 • 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); • }

  8. 基本序列算法 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"; }

  9. 基本序列算法 3. 后缀树 序列:SDSDFSDFG 1: SDSDFSDFG$ 2: DSDFSDFG$ 3: SDFSDFG$ 4: DFSDFG$ 5: FSDFG$ 6: SDFG$ 7: DFG$ 8: FG$ 9: G$

  10. 基本序列算法 3. 后缀树 SDSDFSDFG 功能:1. 查找字符串s是否在字符串S中: 从树根开始,与s的字符逐一比对。s1: DFSD(在); s2: SDFD (不在)

  11. 基本序列算法 3. 后缀树 SDSDFSDFG 功能:2. 指定字符串s在字符串S中的重复次数:从树根开始,按照功能1的办法找到s,然后看s之后有几片树叶。s1: SD(3次); s2: DF(2次)

  12. 基本序列算法 3. 后缀树 SDSDFSDFG 功能:3. 字符串S中的最长重复子串:找到从树根到所有节点(非叶片)的子字符串,从中找到最长的。SDF

  13. 基本序列算法 3. 后缀树 $的作用:如果某一个后缀是另一个后缀的前缀,那么需要用$标识出一个独立的叶片。

  14. 基本序列算法 3. 后缀树 $的作用:如果某一个后缀是另一个后缀的前缀,那么需要用$标识出一个独立的叶片。假如第n个后缀是SDSD: n $

  15. 基本序列算法 程序自动创建sufixtree: http://www.allisons.org/ll/AlgDS/Tree/Suffix/

  16. 基本序列算法 4. 最高分子序列问题 Input: 一个序列(a1,…,an)∈Rn Output: 一个子序列(ai,…,aj),使得函数f(i, j)最大, f(i, j) = ∑ ah j h=i 最短原则:在几个子序列同时拥有最高分时,如果某一个完全包含在另一之内,则只返回被包含的那一个。

  17. 基本序列算法 4. 最高分子序列问题 生物学应用:(1)蛋白质序列跨膜区域的预测。疏水氨基酸[0, 3],亲水氨基酸[-5,0]。

  18. 基本序列算法 4. 最高分子序列问题 生物学应用:(2)DNA序列中富含GC区域的预测。G, C给正分;A,T给负分。

  19. 基本序列算法 4. 最高分子序列问题 Input: 一个序列(a1,…,an)∈Rn Output: 一个子序列(ai,…,aj),使得函数f(i, j)最大, f(i, j) = ∑ ah j h=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

  20. 基本序列算法 4. 最高分子序列问题 Input: 一个序列(a1,…,an)∈Rn Output: 一个子序列(ai,…,aj),使得函数f(i, j)最大, f(i, j) = ∑ ah j h=i 动态算法:O(n2) 分而治之算法:O(n*log(n)) 聪明算法:O(n)

  21. 基本序列算法 4. 最高分子序列问题 聪明算法:O(n)

  22. 序列相似性 数据库中的序列相似性搜索 在麻将连连看中,你需要用眼睛从一推麻将牌中找出一对相同的麻将牌。

  23. 序列相似性 数据库中的序列相似性搜索 对于一个蛋白质或DNA序列,你需要从序列数据库中找到与它相同或相似的序列。不可能再用眼睛去比较每一对序列,因为数据库中有太多序列,甚至用眼睛比较一对序列都是不可能做到的。 BLAST …… > 100,000

  24. 序列相似性 序列相似性的重要性 相似的序列往往起源于一个共同的祖先序列。它们很可能有相似的空间结构和生物学功能 ,因此对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,则可以推测这个未知结构和功能的蛋白质的结构和功能。 相似的结构 相似的功能 相似的序列

  25. 序列相似性 序列相似性的重要性 相似的序列往往起源于一个共同的祖先序列。它们很可能有相似的空间结构和生物学功能 ,因此对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,则可以推测这个未知结构和功能的蛋白质的结构和功能。 结构相似?功能相似?

  26. 序列相似性 序列相似性的重要性 相似的序列往往起源于一个共同的祖先序列。它们很可能有相似的空间结构和生物学功能 ,因此对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,则可以推测这个未知结构和功能的蛋白质的结构和功能。 结构相似?功能相似?

  27. 序列相似性 一致度与相似度 一致度:如果两个序列(蛋白质或DNA)长度相同,那么它们的一致度定义为他们对应位置上相同的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。 相似度:如果两个序列(蛋白质或DNA)长度相同,那么它们的相似度定义为他们对应位置上相似的 残基(一个字母,氨基酸 或碱基)的数目占总长度 的百分数。问题:哪个残 基与哪个残基算作相似? 答:残基两两相似的量化 关系被一个称为BLOSUM 的矩阵所定义。

  28. 序列相似性 一致度与相似度 一致度:如果两个序列(蛋白质或DNA)长度相同,那么它们的一致度定义为他们对应位置上相同的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。 相似度:如果两个序列(蛋白质或DNA)长度相同,那么它们的一致度定义为他们对应位置上相似的 残基(一个字母,氨基酸 或碱基)的数目占总长度 的百分数。问题:哪个残 基与哪个残基算作相似? 答:残基两两相似的量化 关系被一个称为BLOSUM 的矩阵所定义。 序列 1 : CLHK 序列 2 : CIHL 一致度 = 2/4 = 50% 相似度 = 3/4 = 75%

  29. 序列相似性 一致度与相似度 一致度:如果两个序列(蛋白质或DNA)长度相同,那么它们的一致度定义为他们对应位置上相同的残基(一个字母,氨基酸或碱基)的数目占总长度的百分数。 相似度:如果两个序列(蛋白质或DNA)长度相同,那么它们的一致度定义为他们对应位置上相似的 残基(一个字母,氨基酸 或碱基)的数目占总长度 的百分数。问题:哪个残 基与哪个残基算作相似? 答:残基两两相似的量化 关系被一个称为BLOSUM 的矩阵所定义。 如果像个序列的长度不同怎么计算一致度与相似度? seq 1 : CLHKA seq 2 : CIHL

  30. 序列两两比较 比较两个长度不同的序列的方法:打点法、序列比对法 打点法:最简单的比较两个序列的方法,理论上可以用纸和笔来完成。 Seq 1 T H E F A S T C A T T x x x H x E x F x A x x T x x x C x A x x T x x x Seq1: THEFASTCAT Seq2: THEFATCAT Seq 2 length(seq1) = 10 length(seq2) = 9 10 x 9 = 90 次比较

  31. 序列两两比较 打点法:对角线及对角线的平行线代表两条序列中相同的区域。 1. THEFA 2. TCAT 3. AT Seq 1 T H E F A S T C A T Tx x x Hx Ex Fx Axx T x xx Cx A x x T x x x Seq1: THEFASTCAT Seq2: THEFATCAT Seq 2

  32. 序列两两比较 打点法:可以用一条序列自己对自己做打点,从而可以发现序列中重复的片段。这样的点矩阵必然是对称的,并且有一条主对角线。在横向或纵向上,与主对角线重叠的小对角线所对应的序列片段就是重复的部分。 T H E F A S T H E Tx x Hx x Ex x F x A x S x Tx x Hx x Ex x Seq1: THEFASTHE

More Related