基因多序列比对

Download Report

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