140 likes | 345 Views
基因多序列比对 o n hadoop maoyaozong. 双序列比对. hadoop 设计. 多序列的星比对算法. 实验结果. 目录. 序列比对背景. 序列比对是生物信息学的基础. 将未知序列同已知序列进行相似性比对 ,从而用来对新序列的结构和功能信息进行判断和预测.
E N D
基因多序列比对on hadoop maoyaozong
双序列比对 hadoop 设计 多序列的星比对算法 实验结果 目录
序列比对背景 序列比对是生物信息学的基础 将未知序列同已知序列进行相似性比对,从而用来对新序列的结构和功能信息进行判断和预测 序列比对一般来说分为双序列比对(Pairwise sequence alignment)和多序列比对(Multiple sequence alignment)。用双序列比对来进行序列的相似性比较,多序列比对来进行序列的同源性分析,将待研究的序列加入一组序列当中,对多条序列进行同时比较。 双序列比对是多序列比对的基础 基因序列==字符串
评判机制----空隙罚分 ATCCTGGCTGATCG | | | | | | ATCTGGGGATAG 空隙罚分: h表示空隙罚分; g表示空格罚分; 对于一个空隙中有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 ATCCTGGCTGATCG | | | | | | | | | | ATC--TGGG--GATAG 有可能破坏其生物学的意义 字符相同加分,扣除罚分后的分值,分值越高比对效果越好
双序列比对 用动态规划算法计算 为了简化,只计算插入空格g=-2 C G A sequence1=AGC 0 -2 -4 -8 sequence2=AAAC -1 -3 -2 A 1 -1 -4 A -2 0 1、相同 +1 2、不同 -1 3、插空 -2 -6 -2 -1 -3 A -1 -4 -8 -5 C
k--band k k-band k=|m-n|
黑盒子 运行双序列比对算法 new sequence1 sequence1 sequence2 new sequence2
S1 S2 S3 S8 S S4 S7 S5 S6 多序列比对-----星比对算法 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 G C T T T G G T C C T G G G T G T T T G G T 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 -- G C T -- T -- -- T G G T C C T G G G T G T T -- T G G T -- C T s1 star1 sequence1 star2 s2 sequence2 s3 star3 sequence3 s8 star8 sequence8 star7 s7 sequence7 star4 s4 sequence4 s5 star5 sequence5 s6 star6 sequence6 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]
文件转化 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M reduce Map reduce 最初的设计 name sequence_i filename : taskID key:name value:seq_i key:1 value:seq_start 更新中心序列 提取中心序列 star=[1,0,2,0,0,0,1,0,] Map star=[0,0,3,0,0,0,1,0,] 输入文件 key: 序列名 key: 序列名 key: 1 key: 序列名 value:序列i value: 序列i value: seq_start value: 更新序列i star=[0,1,1,0,0,0,0,0,] HDFS name sequence_i filename : taskID star=[1,1,3,0,0,0,2,0,] 本地文件系统 star=[1,0,1,0,0,0,2,0,] star=[0,1,0,0,0,0,1,0,] 序列比对 combiner 3 >10 >10
文件转化 文件转化 64M 64M 64M 64M 64M 64M 64M 64M 64M 64M reduce Map reduce 修改后的设计 name sequence_i filename : taskID key:name value:seq_i 更新中心序列 append 提取中心序列 key:1 value: seq_star key:1 value: seq_i+seq_star Map key: 序列名 key: 序列名 输入文件 key: 序列名 key: 1 value:序列i value: 序列i value: 更新序列i value: seq_star value: seq_i+seq_star HDFS 本地文件系统 序列比对
实验结果 单机:64位linux操作系统,CPU*8:Intel(R)Core(TM)i7-3820@3.60GHz ,内存8G*8. 集群: 64位linux操作系统,CPU*8:INtel(R)Xeon(R)E31230@3.2GHz , 内存4G*8.(Datanode) 64位linux操作系统,CPU*8:Intel(R)Core(TM)i7-3820@3.60GHz ,内存8G*8.(namenode)
目录 Thank you