Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
逆サフィックスリンクを用いた                                      プログラミングシンポジウム
                                                    2012/01/06〜08
塩基配列の曖昧検索                                           Preferred Infrastructure

概要                                   許容誤差 d が小さい場合は,パターンの近傍を
 検索クエリに対し編集距離が一定以下の部分列を検              Suffix Array を用いて列挙する。その際、ある Suffix
索するアルゴリズム(曖昧検索)を実装し、塩基配列              の先頭に別の文字をつけたものの Suffix Array 上で
を曖昧検索するデモを構築した。                       の位置を前計算し、インデックスとして保持する。
デモ画面                              保持するインデックス
                                     dna4 インデックス
                                      文字数が 4 種である事を用いてビット単位で圧縮し
                                      たインデックス
                                     suffix array インデックス
                                     fm インデックス
                                      「ある Suffix の先頭に(文字列中にあるとは限らな
                                      い)別の一文字をつけた文字列」の Suffix Array 中
                                      での位置を前計算したインデックス
                                  その他最適化
システム全体像                              分割が均等になるように最初に分割の幅とそれぞれ
                                      の許容誤差を決めてから再帰処理を行う
                                     文章長を考慮して,パターンの最適な分割幅を調節
                                      する
                                     ノードでの許容誤差を徐々に増やしながら探索する
                                      事で特殊ケースを除き検索を高速化できる.
 フロントサーバーがクエリを受けつける。バックサ          実験
ーバーはインデックスを持ち、曖昧検索を行う。
                                  文字列 4 種類(A, G, C, T)に限定し、ヒトの全染色体
問題設定                              (約 32 億 5400 万塩基)に対し検索を行う。
 文章 T,検索クエリ q、許容誤差 d が与えられたと       実験 1(パターン長一定,許容誤差率を変化)
き、T の部分列で、q との編集距離が d 以下のものを
列挙せよ。
前提知識 1:Suffix Array
 文章 T の Suffix 全体をソートして並べたもの
例:T = abracadabra$の場合




                                     実験 2(許容誤差率一定,パターン長を変化)




前提知識 2:分割統治法
 配列 T に関する問題を、配列を 2 つに再帰的に分割
し、それぞれの配列に対する小問題として再帰的に問
題を解く。(例:クイックソート)
                                  結果
                                     誤差 20%以内ならば 10000 塩基程度でも 100 秒以
                                      内に全列挙を行う事ができた
                                     許容誤差率に対し指数関数的に検索時間が増加した
                                  今後の展望
                                     複数の生物種の塩基配列での相同検索
アルゴリズム概要                             メタゲノム検索
   許容誤差 d が大きい場合、パターンを分割し,そ      参考文献
    れぞれに対して許容誤差(d-1)/2 の解を再帰的に求
    める(鳩の巣原理)。それらのうち全体で d 以下      [1] Myers: A fast bit-vector algorithm for approximate
                                  string matching based on dynamic programming. Journal
    のもの返す。                        of the ACM, 46(3): 395-415 1999.




逆サフィックスリンクを用いた塩基配列の曖昧検索                                                                    1

More Related Content

Prosym53

  • 1. 逆サフィックスリンクを用いた プログラミングシンポジウム 2012/01/06〜08 塩基配列の曖昧検索 Preferred Infrastructure 概要  許容誤差 d が小さい場合は,パターンの近傍を 検索クエリに対し編集距離が一定以下の部分列を検 Suffix Array を用いて列挙する。その際、ある Suffix 索するアルゴリズム(曖昧検索)を実装し、塩基配列 の先頭に別の文字をつけたものの Suffix Array 上で を曖昧検索するデモを構築した。 の位置を前計算し、インデックスとして保持する。 デモ画面 保持するインデックス  dna4 インデックス 文字数が 4 種である事を用いてビット単位で圧縮し たインデックス  suffix array インデックス  fm インデックス 「ある Suffix の先頭に(文字列中にあるとは限らな い)別の一文字をつけた文字列」の Suffix Array 中 での位置を前計算したインデックス その他最適化 システム全体像  分割が均等になるように最初に分割の幅とそれぞれ の許容誤差を決めてから再帰処理を行う  文章長を考慮して,パターンの最適な分割幅を調節 する  ノードでの許容誤差を徐々に増やしながら探索する 事で特殊ケースを除き検索を高速化できる. フロントサーバーがクエリを受けつける。バックサ 実験 ーバーはインデックスを持ち、曖昧検索を行う。 文字列 4 種類(A, G, C, T)に限定し、ヒトの全染色体 問題設定 (約 32 億 5400 万塩基)に対し検索を行う。 文章 T,検索クエリ q、許容誤差 d が与えられたと  実験 1(パターン長一定,許容誤差率を変化) き、T の部分列で、q との編集距離が d 以下のものを 列挙せよ。 前提知識 1:Suffix Array 文章 T の Suffix 全体をソートして並べたもの 例:T = abracadabra$の場合  実験 2(許容誤差率一定,パターン長を変化) 前提知識 2:分割統治法 配列 T に関する問題を、配列を 2 つに再帰的に分割 し、それぞれの配列に対する小問題として再帰的に問 題を解く。(例:クイックソート) 結果  誤差 20%以内ならば 10000 塩基程度でも 100 秒以 内に全列挙を行う事ができた  許容誤差率に対し指数関数的に検索時間が増加した 今後の展望  複数の生物種の塩基配列での相同検索 アルゴリズム概要  メタゲノム検索  許容誤差 d が大きい場合、パターンを分割し,そ 参考文献 れぞれに対して許容誤差(d-1)/2 の解を再帰的に求 める(鳩の巣原理)。それらのうち全体で d 以下 [1] Myers: A fast bit-vector algorithm for approximate string matching based on dynamic programming. Journal のもの返す。 of the ACM, 46(3): 395-415 1999. 逆サフィックスリンクを用いた塩基配列の曖昧検索 1