Transcript 基因多序列比对
基因多序列比对 on hadoop maoyaozong 目录 双序列比对 多序列的星比对算法 hadoop 设计 实验结果 序列比对背景 序列比对是生物信息学的基础 将未知序列同已知序列进行相似性比对,从而用来对新序列的结构和功 能信息进行判断和预测 序列比对一般来说分为双序列比对(Pairwise sequence alignment)和多 序列比对(Multiple sequence alignment)。用双序列比对来进行序列的 相似性比较,多序列比对来进行序列的同源性分析,将待研究的序列 加入一组序列当中,对多条序列进行同时比较。 双序列比对是多序列比对的基础 基因序列==字符串 评判机制----空隙罚分 ATCCTGGCTGATCG ||| | | | ATCTGGGGATAG 空隙罚分: h表示空隙罚分; g表示空格罚分; ATCCTGGCTGATCG ||| || | || | | ATC--TGGG--GATAG 对于一个空隙中有a个空格的情况: w=h+ag; AT-- -- -- --GCTA-- -- -- GTC--GA 设h=-2,g=-1 有可能破坏其生物学的意义 W=(h+4g)+(h+3g)+(h+g) =(-2-4)+(-2-3)+(-2-1) =-14 字符相同加分,扣除罚分后的分值,分值越高比对效果越好 双序列比对 用动态规划算法计算 为了简化,只计算插入空格g=-2 sequence1=AGC 0 sequence2=AAAC score ( xi 1 , y j ) f ( xi ,) score ( xi , y j ) max score ( xi 1 , y j 1 ) f ( xi , y j ) score ( x , y ) f (, y ) i j 1 j 1、相同 +1 2、不同 -1 3、插空 -2 A G C -2 -4 -8 A -2 1 -1 -3 A -4 -1 0 -2 A -6 -3 -2 -1 C -8 -5 -4 -1 k--band k k-band k=|m-n| 黑盒子 sequence1 sequence2 运行双序列比对算法 new sequence1 new sequence2 多序列比对-----星比对算法 G C T G ATAA G G T C C T -- G C T G A T A A G G T C C T G G G T G T T T G G T C T S1 G G G T G T T -- T G G T -- C T GCTTTGGTCCT S8 -- G C T -- T -- -- T G G T C C T GGGTGTTTGGTCT G G G T G T T -- T G G T -- C T S7 中心序列 sequence1 s1 S2sequence2 s2 star2 sequence3 s3 S3star3 sequence8 s8 S star8 star7 sequence4 s4 S4star4 sequence7 s7 sequence5 s5 S6 star1 star5 S5 sequence6 s6 star6 starsequence 中心序列的汇总 AGTGCGTAGCTAGATCGAT star_1: AG-- -- --TGCG-- --TAGCT-- AGATCG-- --AT star_2: AG-- --TGCG--TAGCT-- --AGATCGAT star_3: AG-- --TGCG-- --TAGCT--AGATCG--AT star_4: AG-- -- --TGCG--TAGCTAGATCG-- -- --AT star_5: AG--TGCG--TAGCT-- --AGATCG--AT final: AG-- -- --TGCG-- --TAGCT-- --AGATCG-- -- --AT 用一个数组来保存:假设中心序列原长length,那么就有length+1个可插入的位置 int star=new int [ length+1 ] ; star [ 2 ]=3 表示在第三个空隙有3个空格,star [ 6 ]= 2 表示在第7个空隙有2个空格 star=[0,0,3,0,0,0,2,0,0,0,0,2,0,0,0,0,0,3,0,0] 流程图 最初的设计 name sequence_i filename : taskID 提取中心序列 key:1 value:seq_start 64M key:name value:seq_i 更新中心序列 64M 64M star=[1,0,2,0,0,0,1,0,] 64M Map 输 入 文 件 本地文 件系统 文件转化 key: 序列名 64M 64M star=[0,0,3,0,0,0,1,0,] 64M value: 序列i key: 1 64M star=[0,1,1,0,0,0,0,0,] 64M HDFS reduce value: seq_start reduce 64M key: 序列名 value: 序列i 64M name sequence_i filename : taskID 64M 64M star=[0,1,0,0,0,0,1,0,] 序列比对 >10 combiner 3 key: 序列名 value: 更新序列i 64M star=[1,1,3,0,0,0,2,0,] star=[1,0,1,0,0,0,2,0,] 64M Map >10 修改后的设计 name sequence_i filename : taskID 提取中心序列 append 更新中心序列 key:name value:seq_i 64M 64M key:1 key:1 value: value: seq_star seq_i+seq_star 64M 64M Map 输 入 文 件 本地文 件系统 文件转化 key: 序列名 reduce 64M value: 序列i 文件转化 key: 1 value: value: seq_star seq_i+seq_star 64M Map key: 序列名 reduce 64M value: 序列i value: 更新序列i 64M HDFS 64M 序列比对 key: 序列名 64M 实验结果 单机:64位linux操作系统,CPU*8:Intel(R)Core(TM)[email protected] ,内存8G*8. 集群: 64位linux操作系统,CPU*8:INtel(R)Xeon(R)[email protected] , 内存4G*8.(Datanode) 64位linux操作系统,CPU*8:Intel(R)Core(TM)[email protected] ,内存8G*8.(namenode) 文件大小 1G 1.5G 2G 4G 单机时间 41m7s 59m32s 82m46s 2h24m13s 5h5m37s hadoop3台 7m39s 9m35s 14m49s 25m27s 50m4s hadoop5台 6m47s 8m39s 12m18s 21m38s 40m41s 8G 目录 Thank you