基因多序列比对 o n hadoop maoyaozong
description
Transcript of 基因多序列比对 o n hadoop maoyaozong
基因多序列比对 on hadoop
maoyaozong
目录
双序列比对
hadoop 设计
多序列的星比对算法
实验结果
序列比对背景
序列比对是生物信息学的基础
将未知序列同已知序列进行相似性比对,从而用来对新序列的结构和功能信息进行判断和预测
序列比对一般来说分为双序列比对 (Pairwise sequence alignment) 和多序列比对 (Multiple sequence alignment) 。用双序列比对来进行序列的相似性比较,多序列比对来进行序列的同源性分析,将待研究的序列加入一组序列当中,对多条序列进行同时比较。
双序列比对是多序列比对的基础
基因序列 == 字符串
评判机制 ---- 空隙罚分
ATCCTGGCTGATCG | | | | | |ATCTGGGGATAG
ATCCTGGCTGATCG | | | | | | | | | |ATC--TGGG--GATAG
有可能破坏其生物学的意义
空隙罚分: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
字符相同加分,扣除罚分后的分值,分值越高比对效果越好
双序列比对
为了简化,只计算插入空格 g=-2
sequence1=AGC
sequence2=AAAC
用动态规划算法计算
CA G
A
A
A
C
-2 -4 -8
-8
),(),(
),(),(
),(),(
max),(
1
11
1
jji
jiji
iji
ji
yfyxscore
yxfyxscore
xfyxscore
yxscore
1 、相同 +12 、不同 -13 、插空 -2
1 -1 -3
-1 0 -2
-3 -2 -1
-5 -4 -1
0
-2
-4
-6
k--band
k-band
k=|m-n|
k
黑盒子
运行双序列比对算法sequence1
sequence2
new sequence1
new sequence2
多序列比对 ----- 星比对算法
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
中心序列
S
S1 S2
S3
S4
S5S6
S7
S8
s1
s2
star1
star2
s3 star3
s7 star7
s4 star4
s5 star5
s6 star6
s8 star8
starsequence
sequence1
sequence2
sequence3
sequence4
sequence5
sequence6
sequence7
sequence8
中心序列的汇总
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]
AGTGCGTAGCTAGATCGAT
流程图
最初的设计
Map文件转化 key:
序列名value:序列 i
64M
64M
64M
64M
64M
64M
64M
64M
64M
64M
输入文
件
本地文件系统
HDFS
序列比对 combiner
reduce
key:1
value:seq_start
Mapkey:序列名
value:序列 i
64M
64M
64M
64M
64M
reduce
key:序列名
value:更新序列 i
提取中心序列更新中心序列
name sequence_ifilename : taskID
key:1 value:seq_start
star=[1,0,2,0,0,0,1,0,]
star=[0,0,3,0,0,0,1,0,]
star=[0,1,1,0,0,0,0,0,]
star=[1,0,1,0,0,0,2,0,]
star=[0,1,0,0,0,0,1,0,]
star=[1,1,3,0,0,0,2,0,]name sequence_ifilename : taskID
key:namevalue:seq_i
3>10 >10
修改后的设计
Map文件转化 key:
序列名value:序列 i
64M
64M
64M
64M
64M
输入文
件
本地文件系统
HDFS
序列比对
reduce Mapkey:序列名
value:序列 i
64M
64M
64M
64M
64M
reduce
key:序列名
value:更新序列 i
提取中心序列更新中心序列
name sequence_ifilename : taskID
key:1 value:seq_star
key:namevalue:seq_i
文件转化
key:1
value:seq_star
append
key:1 value:seq_i+seq_star
value:seq_i+seq_star
实验结果
单机: 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 8G
单机时间 41m7s 59m32s 82m46s 2h24m13s 5h5m37s
hadoop3 台 7m39s 9m35s 14m49s 25m27s 50m4s
hadoop5 台 6m47s 8m39s 12m18s 21m38s 40m41s
目录
Thank you