A Constructive Approach to Gene Expression Dynamics

Similar documents
Microsoft PowerPoint - lecture a.pptx

Microsoft PowerPoint - lecture a.pptx

生命情報学

生命情報学

PowerPoint Presentation

PowerPoint Presentation

配列アラインメント Sequence alignment

アルゴリズム入門

5_motif 公開版.ppt

第4回バイオインフォマティクスアルゴリズム実習

Microsoft PowerPoint - ad11-09.pptx

Microsoft PowerPoint - 13.ppt [互換モード]

Microsoft PowerPoint - mp11-06.pptx

バイオインフォマティクスⅠ

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位

ボルツマンマシンの高速化

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

Microsoft PowerPoint - 13approx.pptx

生命情報学

2011年度 筑波大・理系数学

文法と言語 ー文脈自由文法とLR構文解析2ー

Taro-スタック(公開版).jtd

進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

memo

Microsoft PowerPoint - BI_okuno_

Microsoft PowerPoint - ppt-7.pptx

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

nlp1-04a.key

memo

11yama

Prog1_10th

2013年度 九州大・理系数学

情報システム評価学 ー整数計画法ー

Microsoft PowerPoint - 10.pptx

多変量解析 ~ 重回帰分析 ~ 2006 年 4 月 21 日 ( 金 ) 南慶典

Taro-再帰関数Ⅱ(公開版).jtd

DVIOUT-SS_Ma

生物物理 Vol. 45 No. 1 (2005) だけ正確なアラインメントが必要な方 (4) 立体構造とアミノ酸配列の関係, あるいは立体構造と機能との関係に興味がある方 2. おもなサービス 2.1 ペアワイズ3Dアラインメントこれは2つの構造をアラインメントする基本的な機能であり,MATRAS

毎回変動し, 必ずしも良い結果を出力するとは限らない. 理由の一つとして,GS 法は配列データごとに, ランダムに与えた初期値に基づいて類似部分配列の位置を確率的に更新している為, 計算途中でそれらの位置が常に変動し, 結果が安定しないという問題が発生する. 本稿では, この問題を解決する為に, 配

Microsoft Word - 微分入門.doc

bioinfo pptx

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

2011年度 大阪大・理系数学

算法の設計と評価

1 研究開発のねらい 糖鎖は 細胞表面のタンパク質や脂質に結合し 血液型の決定 細胞接着 抗原抗体反応 ウイルス感染などの生体反応で重要な役割を果たす生体分子である 糖鎖による多様な生物学的機能のうち 糖鎖結合タンパク質による糖鎖の特異的認識があり 糖鎖 - タンパク質間の相互作用の解析に糖鎖アレイ

2014年度 信州大・医系数学

2017年度 金沢大・理系数学

2014年度 東京大・文系数学

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69

Microsoft PowerPoint - DA2_2017.pptx

Microsoft Word - thesis.doc

相加平均 相乗平均 調和平均が表す比 台形 の上底 下底 の長さをそれぞれ, とするとき 各平均により 台形の高さ はどのように比に分けられるだろうか 相乗平均は 相似な つの台形になるから台形の高さ を : の 比に分ける また 相加平均は は : の比に分けます 調和平均は 対角線 と の交点を

模擬試験問題(第1章~第3章)

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

簡単な検索と整列(ソート)

Microsoft PowerPoint - 資料04 重回帰分析.ppt

Microsoft PowerPoint - DA2_2019.pptx

Microsoft PowerPoint - DA2_2018.pptx

COMPUTING THE LARGEST EMPTY RECTANGLE

Microsoft PowerPoint - mp13-07.pptx

航空機の運動方程式

生命情報学

離散数学

Microsoft PowerPoint - ca ppt [互換モード]

タイトル

eq2:=m[g]*diff(x[g](t),t$2)=-s*sin(th eq3:=m[g]*diff(z[g](t),t$2)=m[g]*g-s* 負荷の座標は 以下の通りです eq4:=x[g](t)=x[k](t)+r*sin(theta(t)) eq5:=z[g](t)=r*cos(the

コンピュータリテラシ 第 6 回表計算 2 このスライド 例題 /reidai6.xlsx /reidai6a.xlsx 課題 12 /reidai6b.xlsx /table12_13.xlsx

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

gengo1-8

プログラム言語及び演習Ⅲ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Microsoft Word - 18環設演付録0508.doc

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

DVIOUT-17syoze

微分方程式による現象記述と解きかた

2011年度 東京工大・数学

diode_revise

数学 Ⅲ 微分法の応用 大学入試問題 ( 教科書程度 ) 1 問 1 (1) 次の各問に答えよ (ⅰ) 極限 を求めよ 年会津大学 ( 前期 ) (ⅱ) 極限値 を求めよ 年愛媛大学 ( 前期 ) (ⅲ) 無限等比級数 が収束するような実数 の範囲と そのときの和を求めよ 年広島市立大学 ( 前期

ビジネス統計 統計基礎とエクセル分析 正誤表

2014年度 名古屋大・理系数学

Microsoft PowerPoint - 5.ppt [互換モード]

Excel2013基礎 数式と表編集

Microsoft PowerPoint - 09re.ppt [互換モード]

講習No.8

2018年度 2次数学セレクション(微分と積分)

情報量と符号化

知識工学 II ( 第 2 回 ) 二宮崇 ( ) 論理的エージェント (7 章 ) 論理による推論 命題論理 述語論理 ブール関数 ( 論理回路 )+ 推論 ブール関数 +( 述語 限量子 ( ) 変数 関数 定数 等号 )+ 推論 7.1 知識

vecrot

スライド 1

Microsoft PowerPoint ppt

頻出問題の解法 4. 絶対値を含む関数 4.1 絶対値を含む関数 絶対値を含む関数の扱い方関数 X = { X ( X 0 のとき ) X ( X <0 のとき ) であるから, 絶対値の 中身 の符号の変わり目で変数の範囲を場合分けし, 絶対値記号をはずす 例 y= x 2 2 x = x ( x

行列、ベクトル

PowerPoint プレゼンテーション

データ構造

 

<4D F736F F D208C51985F82CD82B682DF82CC88EA95E A>

関数とは 関数とは 結果を得るために 処理を行う仕組み です Excel2010 には あらかじめ関数が数式として組み込まれています たとえば SUM 関数 は 指定した値をすべて合計する 仕組みです 長い計算式や複雑な計算式を作成せずに 簡単に結果を求めることができます 例合計 =A1+A2+A3

Transcription:

配列アラインメント (I): 大域アラインメント http://www.lab.tohou.ac.jp/sci/is/nacher/eaching/bioinformatics/ week.pdf 08/4/0 08/4/0 基本的な考え方 バイオインフォマティクスにはさまざまなアルゴリズムがありますが その多くにおいて基本的な考え方は 配列が類似していれば 機能も類似している というものである 例えば : 機能が未知のヒトのタンパク質のアミノ酸配列が実験によって決定できたとしよう そのタンパク質の機能を計算機を用いて予測したい場合 最初にすべきことは 計算既知の配列からなるデータベースを検索して 類似した配列をみつけることである 08/4/0 3 基本的な考え方 その結果 非常に類似したアミノ酸配列をもつマウスのタンパク質が検出されたとすると ヒトのタンパク質もそのマウスのタンパク質と類似の機能をもつと予測することができる 機能の予測ができれば 的をしぼった実験をおこなうことができ 効率的にその機能を確認することが期待できる 08/4/0 4

重要な問題 配列アラインメント よって 配列の類似性の検出は バイオインフォマティクスにおけるもっとも基本的なかつ重要な問題であるといえる 類似した配列を検索するためには 個の配列の類似性を適切に評価することが必要になる そのための基本となるのが 配列アラインメントである 配列アラインメントとは 複数の配列が入力されたときに文字間の対応関係を計算すること もしくは その計算結果のことである 08/4/0 5 08/4/0 6 個の配列 3 個以上の配列 配列アラインメントは 個の配列に対するものと 3 個以上の配列に対するものとに大きく分けられるが 個の配列に対するペアワイズアラインメント (pairwise alignment) は比較的簡単な動的計画法 (dynamic programming) に基づくアルゴリズムによって効率よく計算することができる ヒューリスティクスや 3 個以上の配列 時々 生物学的に妥当アラインメントの計算や大量の配列データに対する検索のためには ヒューリスティクスや統計的手法が必要である 一方 3 個以上の配列に対するマルチプルアラインメント (multiple alignment) は 一般に NP( 困難 )(NP-Hard) であるため 近似アルゴリズムやヒューリスティクスなアルゴリズムが開発されている 08/4/0 7 08/4/0 8

ヒューリスティクスなアルゴリズム ヒューリスティクスなアルゴリズムとは 理論的保証はないが実験的に有効とされるアルゴリズム 方法 規則などを言う ペアワイズアラインメント : 大域アラインメント この講義では 動的計画法により ペアワイズアラインメントを説明します Σ を文字の集合とする Σは具体的には塩基の集合か アミノ酸の集合ということになる つまり Σ={,,,}, もしくは Σ={,,D,E,F,,H,I,K,L,M,N,P,Q,R,S,,V,W,Y} のいずれかとなる 08/4/0 9 08/4/0 0 ギャップ記号 Σ 上の文字列 s に対し s で s の長さ ( 文字の個数 ) を表し s[ i ] で s の i 番目の文字を表すものとする つまり s = n のとき s=s[]s[] s[n] となる また s[i j] で s の i 番目から j 番目の文字からなる部分文字列を表すものとする ギャップ記号 (gap symbol) - を Σ に現われない文字とする すると 配列ペア s s に対する大域アラインメント (global alignment) は それぞれの配列にギャップ記号 - を挿入して 長さを同じにそろえた配列の対 (s, s ) である すなわち s[i j] = s[i]s[i+] s[j] 08/4/0 08/4/0 3

入力配列 アラインメント 入力配列 : s[] s[] s[3] s[4] s[5] s s アラインメント s [] s [] s [3] s [4] s [5] s [6] s [7] s ー ー s ー s [] s [] s [3] s [4] s [5] s[6] s [] s [] s [3] s [4] s [5] s [6] s [7] 長さが同じになりました 08/4/0 3 08/4/0 4 なお 文字列の最初もしくは最後にギャップ記号を加える場合も大域アラインメントに含めるが 同じ位置にギャップ記号が並んではいけないものとする S [ i ] = S [ i ] = ー これはありえない 配列ペアに対応する可能なアラインメントは指数オーダー個あるので 数あるアラインメントから妥当なアラインメントを選び出すことが必要である そのために 個々アラインメントに対するスコアを次のように定義し スコアが最大となるアラインメントをもっとも妥当なアラインメントとして選び出す 08/4/0 5 08/4/0 6 4

スコア関数 スコア関数 スコア関数 (score function) w(y) を (Σ U {-}) x (Σ U {-}) から実数集合への関数とする アラインメントにおけるスコア関数はスコア行列 (score matrix) とよばれる ここで w(y) は任意の y Σ に対し w(y)=w(y,x), w(-)=w(-,y)= - d d は正の定数であり ギャップ 文字に対して - d というペナルティがつくことを意味する このスコア関数を 同じ列に並んだ文字に対して適用することにより 各列のスコアが決まる そして アラインメント全体のスコアは各列のスコアを合計したものとして定義され ペアワイズアラインメント問題は全体のスコアを最大とするアラインメントを求める問題として次のように定義される : 08/4/0 7 08/4/0 8 定義 ペアワイズアラインメント問題 入力 : 個の配列 s, s スコア関数 w(y). 出力 : 以下の定義されるスコアが最大となるアラインメント (s, s ) : S L ( s, s ) i w( s[ i], s[ i]) ( ただし l s s ) l スコアが最大となるアラインメントは 最適なアラインメント (optimal alignment) とよばれる よって ペアワイズアラインメント問題は 個の配列に対する最適なアラインメントを求める問題となる 08/4/0 9 08/4/0 0 5

例 s, s 例 L の場合 いかのそれぞれはアラインメントとなる ( 以降 L, L, L3 とする ) ここで x yのときにはw( y), x yのときにはw( y) そして d で定義されるスコア関数を考える L L3 L,L,L3のスコアは, 0となる L, L は最適アラインメントとなっていることが確認できる 08/4/0 08/4/0 アラインメントと編集距離 例 今まで 配列アラインメントは 入力配列にギャップを挿入して同じ長さにそろえたものとして定義してきたが 配列の進化を考えるうえでは 配列 s に文字の挿入 削除 置換が起きて s に変化した結果として解釈するほうが適切な場合がある たとえば s, s に対する次のアラインメントがあったとする (a) (b) (c) (d) 08/4/0 3 08/4/0 4 6

動的計画法による最適なアラインメント計算 (a) (b) (c) (d) 例 (a) は s にあった という文字が削除されたものと解釈する 例 (b) は s の 間に文字 が挿入されたものと解釈する 例 (d) も同様に文字 が挿入されたものと解釈する 例 (c) は s 中の文字 が 文字 に置換されたものと解釈する ここには 削除が 回 挿入が 回 置換が 回行われて 計 4 回の編集操作によって s になったことをあらわすことになる 最適なアラインメントを計算するには すべての可能性なアラインメントを生成し その中でスコアが最大となるものを選ぶ というアルゴリズムが考えられる しかしながら 可能なアラインメントの個数は指数オーダーであることが知られているので このアルゴリズムでは指数時間がかかります 08/4/0 5 08/4/0 6 動的計画法による最適なアラインメント計算 そこで 効率よく最適アラインメントを計算するためにさまざまなアルゴリズムが開発されてきた それらのほとんどにおいて基本となるのが 次に示す動的計画法に基づくアルゴリズムである 動的計画法による最適なアラインメント計算 入力配列を s s とし それぞれの長さを m, n とする また s[ i] と s[ j] に対する最適アラインメントのスコアを D[j] とする すると D[j] は次の再帰式 (recurrence) により計算できる 08/4/0 7 08/4/0 8 7

動的計画法による最適なアラインメント計算 この動的計画法アルゴリズムの意味は 以下に示すアラインメントグラフ (alignment graph) を考えると理解しやすい まず (m+) x (n+) 個の頂点を座標 ( に配列する (i=0,,m, j=0,,n) 08/4/0 9 j 動的計画法による最適なアラインメント計算 0,0) + + - - - +++= + = - 6 最適アラインメント最適でないアラインメント 08/4/0 30 i + m,n) 初期化 0,= j x (-d), 0)=i x (-d) d はギャップのペナルティ ( スコア ) 0, j ( d) 0) i ( d) i, j ) w( s[i],s[j]) max i, d j ) d w( x) x yのときw( y) j 0,..., n i 0,..., m 最適アラインメントのスコアを計算することは グラフにおいて頂点 (0,0) から (m,n) に至る最大重みパスを計算することと等価となる さらに s[ i] と s[ j] に対する最適アラインメントのスコアが 頂点 (0,0) から ( に至る最大重みパスの重みと等しくなることもわかる 08/4/0 3 08/4/0 3 8

頂点 ( に至るパスは どのパスにおいても ( に至る直前に (, ( j), ( j) のいずれかを通過しなくてはならない j) w(s(i),s() j) -d また (j) を通過した場合には (j) に至るまでの重みに w(s(i), s() を加えたものが ( までの重みになる j) w(s(i),s() j) -d 例えば :( を通過した場合には ( に至るまでの重みに d を加えたものが ( までのパスの重みになる (j) の場合は同様です -d -d 08/4/0 33 08/4/0 34 よって ( に至る最大重みパスの重みが再帰式で計算できる 0, j ( d) 0) i ( d) i, j ) w( s[i],s[j]) max i, d j ) d w( x) x yのときw( y) j 0,..., n i 0,..., m 08/4/0 35 再帰式により最適アラインメントのスコアが計算できることが分かったが 再帰式をそのまま実行したのでは 同じ がなんども出てきて 結局 指数時間かかってしまう そこで j が小さいほうから大きいほうへという順に を計算し その値をデーブルに覚えておくようにする 08/4/0 36 9

Procedure Pairwise lignment(s [,..., m],s [.,..., n], w) for i 0 to m do 0) i ( d) ; for j 0 to n do 0, j ( d); for i to m do for j to n do i, j ) w( s[i],s[j]) max i, d j ) d return m,n); よって 全体で O(mn) 時間で計算できることになる また を覚えるために O(mn) の記憶領域が必要となる 例 3: 全域的アラインメント Needleman-Wunsch 以下のように配列を考え る s: m=6 t: n=6 マッチの重み + ミスマッチの重み ギャップの重み - で評価 j (+) i (+) 0 (-) (+) () 0 (-) (+) - 08/4/0 37 例 4: 垂直変位 Needleman-Wunsch アルゴリズム大域アライメントのアルゴリズム () D [i, j ] が s[], s[],,s [ i ] と t[], t[],, t[ j ] の最適アライメントのスコアです 水平変位 () 初期化 0,0)=0, 0,= -j x d, 0)=- i x d d はギャップのペナルティ ( スコア ) 0

Needleman-Wunsch アルゴリズム大域アライメントのアルゴリズム (II) (3) 再帰式で Iteratively computation 0, jd, 0) id i, j ) w( s[i], t[j]) max i, d j ) d w( x) x yのときw( y) d ギャップスコア Needleman-Wunsch アルゴリズム大域アライメントのアルゴリズム (4) m,n) が s と t の最適アライメントのスコアです (5) アライメントを求めるには 0,0) から m,n) に至ったパスを m,n) からトレースバック (m=) (n=) (0,0) 0 d= (m=) (n=) (0,0) 0 d= (0,0) 0 - -4 - - (m=,n=) (m=,n=) (m=,n=) 08/4/0 43 08/4/0 44

Example: 対角 0 - -4 - -4 MX?? 0 + = - - = - 4 - - = - 4 0 - -4 MX 対角 - -4?? - = -3-4 - = -6 + = マッチの重さ + ミスマッチの重さ ギャップの重さ d= 0 - -4 - -4 Dynamic programming: example aps d = - Dynamic programming: example Dynamic programming: example

Dynamic programming: example Dynamic programming: example Dynamic programming: example 矢印の方向 : : : : - +-++ = 3