明治大・理工学研究科・総合講義C(平成18年度)

Download Report

Transcript 明治大・理工学研究科・総合講義C(平成18年度)

明治大学大学院理工学研究科
総合講義C
バイオインフォマティクスにおける
数理的手法
阿久津 達也
京都大学 化学研究所
バイオインフォマティクスセンター
バイオインフォマティクス(1)
• 生物学+情報科学
(+数理科学+統計学+物理学+化学+医学+農学+...)
• 1990年代に大きく発展
← ゲノム計画の急速な進展
(既に数百種類以上の生物種のゲノムが決定)
• 情報解析の必要性
– DNA配列⇔プログラムのオブジェクトコード
– 意味の解析が必要
– 配列以外のデータ解析も重要
• 立体構造、遺伝子発現データ、代謝パスウェイなど
バイオインフォマティクス(2)
• 主要トピック
–
–
–
–
–
–
–
データベース構築
遺伝子発見、遺伝子制御領域推定
配列検索、配列比較、進化系統樹
タンパク質構造予測、機能予測、相互作用予測
遺伝子発現データ解析
ネットワーク構造解析
化合物の性質推定
• 分野としての特徴
– 多くのデータベース・ソフトウェアがWEBなどから利用可能
– 研究成果が(生物学研究への)応用に直結
バイオインフォマティクスにおけるデータベース
• 多くの重要なデータベースがWEBからアクセ
ス可能
– DNA配列: GenBank, EMBL, DDBJ
– タンパク質配列: UniProt (Swissprot)
– タンパク質立体構造: PDB
– モチーフ: Prosite, Pfam, …
– 代謝パスウェイ: KEGG
講義内容
• 分子生物学における基礎事項
• 配列検索(動的計画法による配列アライメン
ト)
• カーネル法によるタンパク質構造予測
遺伝子とタンパク質
• 遺伝情報の流れ
(セントラルドグマ)
– DNA⇒RNA⇒タンパク質
• 遺伝子
– DNA配列中で直接的
に 機能する部分
• ゲノム
DNA
エ キソ ン
エ キソ ン
転写制御領域
(プ ロモ ー タ ー な ど)
転写 ・
スプライシング
mRNA
GGU
– アミノ酸(20種類)の鎖
GCA
翻訳
G G U → G ly
G C A → A la
– 遺伝情報の総体
• タンパク質
エ キソ ン
タンパ ク質
• DNA: A,C,G,Tの4文
字の並び
• DNAは二重ラセン構造
⇒相補鎖
A
C
T
DNAとタンパク質
• タンパク質: アミノ酸(20
種類)の鎖
• 固有の三次元構造をとる
ものが多い
• 構造は機能と深く関連
T
G
A
G
C
A
T
C
G
(図はrasmolを用いて作成)
DNAとアミノ酸
• DNA: A,C,G,Tの4
文字の並び
• タンパク質: アミノ
酸の鎖
• アミノ酸: 20種類
• DNA3文字がアミノ
酸1文字に対応
コー ド表
2文 字 目
T
T
1
文
字
C
目
A
G
C
TTT
T TC
F
T TA
T TG
L
C TT
C TC
C TA
C TG
L
ATT
A TC
A TA
I
A TG
M
GTT
G TC
G TA
GTG
V
TC T
TC C
TC A
TC G
CCT
CCC
CCA
CCG
ACT
ACC
ACA
ACG
GC T
GC C
GC A
GC G
A
S
P
T
A
TA T
TA C
TA A
TA G
G
Y
s to p
TG T
TG C
TG A
TG G
CAT
CAC
H
CAA
CAG
C
s to p
W
Q
C GT
C GC
C GA
C GG
R
AAT
AAC
N
AGT
AGC
S
AAA
AAG
K
AGA
AGG
R
GAT
GAC
D
GAA
GAG
E
GG T
GGC
GGA
GGG
G
アミノ酸とタンパク質
• アミノ酸:側鎖の違
いにより20種類
• タンパク質:アミノ酸
の鎖
ア ミ ノ酸
R
H
側鎖
OH
C
N
C
アミ ノ基
カル ボシキル 基
H
H
O
タンパ ク質
R
H
O
H
C
N
N
C
C
C
O
R
H
H
ペ プ チ ド結 合
側鎖の例
A la ア ラ ニ ン
CH
P he フ ェ ニ ル
A sp ア ス パ ラ
H is ヒ ス
C ys シ ス
ア ラニ ン
ギン酸
チジン
テイン
3
CH
HC
CH
HC
CH
C
V al バ リ ン
H3C
O
O
-
HN
SH
+
C
CH
NH
CH
3
2
2
CH
CH
CH
2
2
G ly グ リ シ ン
CH
H
配列検索:内容
• 配列検索と配列アライメント
• ペアワイズ・アライメント
• 配列検索の実用プログラム
配列検索
• バイオインフォマティク
スにおける基本原理
– 配列が似ていれば機能
も似ている
機能未知の配列
V L P IK SK L P......
配列検索
配 列 デ ー タベ ー ス
– ただし、例外はある
• 配列検索の利用法
– 実験を行い機能未知の配列
が見つかった
– データベース中で類似の配
列を検索
– 機能既知の類似の配列が見
つかれば、その配列と似た機
能を持つと推定
D F EC ILT SK L G .....
.
A C ILT ST R E......
V L P IK SD L P......
H P FA C IL P D EL ......
類似配列
V L P IK SD L P......
配列アライメント
• 配列の類似性の検出に
利用
• バイオインフォマティクス
の最重要技術の一つ
• 文字間の最適な対応関
係を求める(最適化問
題)
• 配列長を同じにするよう
に、ギャップ記号(挿入、
欠失に対応)を挿入
A
L
G
F
G
S
L
Y
A
L
G
G
V
S
V
G
A
L
G
F
G
S
L
A
L
G
S
V
G
V
G
Y
G
G
スコア行列(置換行列)
• 残基間(アミノ酸文字間)の類似性を表す行列
– PAM250, BLOSUM45 など
A
A
R
N
D
C
Q
E
G
H
I
L
K
M
F
P
S
T
W
Y
V
R
N
D
C
Q
E
5 -2 -1 -2 -1 -1 -1
-2
7 -1 -2 -4
1
0
-1 -1
7
2 -2
0
0
-2 -2
2
8 -4
0
2
-1 -4 -2 -4 13 -3 -3
-1
1
0
0 -3
7
2
G
H
I
P
S
T
Y
V
0 -2 -1 -2 -1 -1 -3 -1
1
0 -3 -2
0
-3
0 -4
0
1 -3
-1 -1 -4
-3 -3 -2
-2
1 -3
L
K
-3
3
-4
0
-4 -1
-2 -3
-2
2
M
-2
-2
-4
-2
0
F
-3
-4
-5
-2
-4
B LO S U M 5 0 ス コ ア 行 列
(置 換 行 列 )の 一 部 分
W
-3 -1 -1 -3
-2
1
0 -4
-1
0 -1 -5
-4 -1 -1 -5
-1
0 -1 -1
-1
-2
-3
-3
-1
3
-3
-4
-1
-3
スコア行列の導出
• 基本的には頻度の比の対数をスコアとする
• BLOSUM行列
– 既存のスコア行列を用いて多くの配列のアライメントを求め、
ギャップ無しの領域(ブロック)を集める
– 残基がL%以上一致しているものを同一クラスタに集める
– 同じクラスタ内で残基aが残基bにアラインされる頻度Aabを
計算
– qa=∑b Aab / ∑cd Acd, pab=Aab / ∑cd Acd を求め、
s(a,b)=log(pab/qaqb) としたのち、
スケーリングし近傍の整数値に丸める
ペアワイズ・アライメント
• ペアワイズ・アライメント: 2個の配列のアライメント
• 可能なアライメントの個数: 指数オーダー
• しかし、スコア最大となるアライメント(最適アライメント)
は動的計画法により、O(mn)時間で計算可能(m,n:入力
配列の長さ)
入力配列
A G C T, A C G C T
最適アラ
イ メン ト
ア ラ イ メント
AGCT AC GCT
スコア
-3
AG - CT
AC GCT
1
A - GCT
AC GCT
- AGC - - T
AC - - GCT
3
-5
( 同 じ 文 字 の 時 : 1、 違 う 文 字 の 時 : -1 、 ギ ャ ッ プ 1 文 字 : - 1)
動的計画法によるアライメント (1)
• 入力文字列から格子状グラフを構成
• アライメントと左上から右下へのパスが一対一対応
• 最長経路=最適アライメント
G
G
F
V
5
K
-2
Y
D
-5
1
ア ラ イメント
-7
G K Y
-5
-5
7
-6
G
D
F V D
-2
-3
-2
-7
1
-7
0
-4
4
-7
-7
-7
-7 +4 = 2
-7
G
-7 -7 -1 +0
-7 -7 = -29
G F V D
-7 -7 -5 -7
G K Y D
D
5 -7 +7
-7
G K Y D
-1
スコア
F V D
-7 -7 -7 = -47
動的計画法によるアライメント (2)
• 動的計画法: テーブル(表)を用いて効率的に計算
• アライメントでは以下の F(i,j) を計算
– F(i,j) : (0,0) から (i,j) に至る最適なパスの重み
(0 ,0 )
G
(0 ,1 )
F
G (1 ,0 )K (2 ,0 )Y (3 ,0 )D
5
-2
-5
1
(4 ,0 )
-7
(4 ,1 )
(1 ,1 )
-5
-5
7
-6
-1
-2
-3
-2
1
0
-4
4
-7
(0 ,2 )
V
-7
(0 ,3 )
D
(0 ,4 )
(4 ,4 )
F (3 ,2 )= 5
動的計画法によるアライメント (3)
DP (動的計画法)による
最長経路(スコア)の計算
F ( 0 , j )   jd ,
F ( i , 0 )   id
 F ( i  1, j  1)  s ( x i , y j )

F ( i , j )  max 
F ( i  1, j )  d

F ( i , j  1)  d

F (0 ,0 )
= 0
G
F (1 ,0 )
= -d
K
F (2 ,0 )
= -2 d
G
F (i -1 , j-1 )
F (i, j-1 )
F (0 ,1 )
= -d
s (K ,F )
⇒ O(mn)時間
F
-d
F (0 ,2 )
= -2 d
行列からの経路の復元は、
F(m,n)からmaxで=となっている
F(i,j)を逆にたどることに行う
(トレースバック)
-d
F (i -1 , j)
F (i, j)
動的計画法によるアライメント (4)
0
G
G - 7 K- 1 4 Y- 2 1 D
5
5
-7
F
-5
-21
D
-28
-5
-1
5
-4
0
-16
-7
-6
-3
-2
-9
-7
3
4
-8
-7
-7
-2
-2
-4
-7
-16
7
-2
1
1
-9
0
-9
-7
-5
-2
-2
-14
V
-2
-28
-7
2
-7
ローカルアライメント (1)
(Smith-Watermanアルゴリズム)
• 配列の一部のみ共通部分があることが多い
⇒共通部分のみのアラインメント
• 配列検索において広く利用されている
• 例えば、HEAWGEH と GAWED の場合、
AWGE
A W -E
というアライメントを計算
(実際にはローカルアライメントとアフィンギャップを組み合わせることが必
要)
ローカルアライメント (2)
動的計画法
の式
0

 F ( i  1, j  1)  s ( x
F ( i , j )  max 
 F ( i  1, j )  d
 F ( i , j  1)  d

,
y
)
配列検索の実用プログラム (1)
• O(mn): mは数百だが、nは数GBにもなる
⇒ 高速アルゴリズムの開発
• FASTA: 短い配列(アミノ酸の場合、1,2文字、DNA
の場合、4-6文字)の完全一致をもとに対角線を検索
し、さらにそれを両側に伸長し、最後にDPを利用。
• BLAST: 固定長(アミノ酸では3, DNAでは11)の全
ての類似単語のリストを生成し、ある閾値以上の単語
ペアを探し、それをもとに両側に伸長させる。ギャップ
は基本的には入らない。伸長の際に統計的有意性を
利用。
– 様々なバリエーションが存在
• PSI-BLAST: 高精度検索用
• MEGA-BLAST: ゲノム比較用(大規模配列比較用)
配列検索の実用プログラム (2)
FASTA
BLAST
Q u e ry
・・・ A A F D M F D A D G G ・・・
A
C
A
T
G
A
C
類似ワード
G
A
MFD
MFE
MFN
T
MYD
MYE
MYN
・・・
G
A
Q u e ry
T
( k tu p = 2 )
・・・ A A F D M F D A D G G ・・・
・・・ E A F S M F E K D G D ・・・
D a ta ba se
カーネル法によるタンパク質
構造予測:内容
• サポートベクターマシンとカーネル法
• 配列解析のためのカーネル
• カーネル法による構造予測
サポートベクターマシン (1)
• カーネル法の一つ
• 1990年代に、Cortes と Vapnik が発明
• トレーニングデータとして与えられた正例と負例から、
それらを分離する超平面を計算
⇒ 学習=超平面の計算
• 機械学習、統計学、人工知能、パターン認識、バイオ
インフォマティクスなど様々な分野に応用
–
–
–
–
–
配列分類
タンパク質フォールド予測、二次構造予測
遺伝子発現データ解析
タンパク質相互作用予測
化合物の性質推定
サポートベクターマシン (2)
• 正例と負例を与
えて、それらを最
適(マージンを最
大)に分離する超
平面を学習
• 例=点
• カーネルを適切に
定義することによ
り超平面以外で
の分離が可能
m argin
SVMによるテストデータの分類
SVM: サポートベクターマ
シン
SVMの利用法
1. 学習データより超平面
を学習
2. 新たなデータ(テスト
データ)については、超
平面に対する上下で正
負を判定
テ ス トデ ー タ
カーネル
•
•
•
•
サポートベクターマシン:基本的には超平面で分離
Φ(x) (特徴ベクトル):「非線形曲面⇒超平面」に写像
カーネル: K(x,y)=φ(x)・φ(y)
x と y の類似度が高い ⇔ K(x,y)が大
φ (x)
カーネルの定義
• 関数 K: X×X→ R がカーネル
iff.
X から内積空間 F への写像φが存在し、
K (x, y )   (x)  (y )
とかける
マーセルの定理 (1)
• X を有限空間とし、K(x,y) を X 上の対称関
数とすると、
K(x,y) がカーネル
iff.
行列 K=(K(xi,xj)) (i, j=1,…,n) が半正定値
• 行列 K が半正定値 iff.
K の固有値がすべて非負 iff.
(x) (xtKx  0)
カーネルの性質(2)
• Ki が以下を満たす時、K もカーネル
 x , y  X , lim K n ( x , y )  K ( x , y )
n 
カーネルの例(1)
• (x・y+c)d はカーネル
– 証明(d=2, c=0の場合)
( x  y )  ( x1 y 1  x 2 y 2 )
2
2
 x1 x1 y 1 y 1  x 2 x 2 y 2 y 2  2 x1 x 2 y 1 y 2

 x1 x1 , x 2 x 2 ,

2 x1 x 2  y 1 y 1 , y 2 y 2 ,
2 y1 y 2

カーネルの例(2)
• K1, K2 がカーネルの時、以下もカーネル
(i)
(ii)
(iii)
K 1 (x, y )  K 2 (x, y )
a K 1 (x, y )
(a  0)
K 1 (x, y ) K 2 (x, y )
• (i)(ii)より、カーネルの正係数の線形和もカーネル
• (i)(ii)(iii)より、カーネルの正係数の多項式もカーネル
カーネルの例(3)
(i) f(x): X →R ⇒ f(x) f(y) はカーネル
– 証明
n
n
vv
i
i 1
j 1
n
j
K (x i , x j ) 
n
vv
i
i 1
j
f (x i ) f (x j )
j 1

 n
 n
   vi f ( x i )   v j f ( x j )   0


 i 1
  j 1

(ii) exp(K(x,y)) はカーネル
– 略証: 指数関数は正の係数を持つ多項式により任意の精度
で近似でき、また、カーネルの多項式もカーネルとなるため、
性質(2)によりカーネルとなる
カーネルの例(4)
• exp(-||x-y||2/σ2) はカーネル
(Gaussian RBF kernel)
• 証明
 xy
exp  
2



 x 2
exp  
 2

2





 exp


 y 2

 2


 exp  2 x  y 
2





– 最初の二項の積は例(3-i)によりカーネル、
最後の項は例(3-ii)によりカーネル、
それらの積は例(2-iii)によりカーネル
カーネルの例(5)
• 以下は必ずしもカーネルとはならない

(i)
K (x, y )
(ii)
log  K ( x , y ) 
(iii)
K ( x , y )  tanh( a x  y   )
(シグモイドカーネル
)
サポートベクターマシン: 定式化(1)
• 学習データ: Rd 上の点とラベルのペアの集合
S 
 (x , y ) | x
i
– yi=1 ⇒ 正例
i
 R , y i  {1,  1}
d
i

yi=-1 ⇒ 負例
• 最適化問題 (凸二次計画問題)
minimize
w w
w ,b
subject to
yi (w  x i  b)  1
– (w,b): Rd 上の超平面 h: w・x+b=0 に対応
– 1/||w||: h から一番近い xi までの距離(=margin)
サポートベクターマシン: 定式化(2)
  1/ w
サポート
ベ クター
γ
minimize
w w
w ,b
(w  x i  b)  1
subject to
yi (w  x i  b)  1
(w  x i  b)
h
1
(w  x  b)
(w  x i  b)   1
(w  x i  b)
 1
0
サポートベクターマシン:定式化 (3)
• カーネルを用いた定式化
maximize

l
subject to

l
α


i
i 1
i 1
l
l
i 1
j 1
y i i  0 ,
• 識別関数
y i y j  i j K ( x i , x j )
i  0
(SV:サポートベクターの集合)
w x  b 
*
 
1
2
*
 y
i
*
i
K (x i , x)  b
*
x i  SV
(+なら超平面より上側)
b 
*
max
w  x i  min
*
yi  1
w  xi
*
y i 1
2
• 利点: 特徴ベクトルを陽に扱わずに、カーネル値のみ
が計算できればOK ⇒ カーネルトリック
実問題に対するカーネル
• データから特徴ベクトル(feature vector)を
作るのが一般的、かつ、
多くの場合に実用的
• 特徴ベクトル: 実数値の列
• 例えば、各化合物 x に対し、
– Φ(x) = (分子量, 容積, 表面積, logP,…)
とすれば、化合物 x,y に対するカーネルは
Φ(x) と Φ(y) の単なる内積
配列解析のためのカーネル
• 配列を実数ベクトルに変換
• 様々なカーネルの提案
– Marginalized kernel, Fisher kernel, Local alignment kernel, …
A C C GT A
φ (x)
C A C GT A
T CC G TC C
C C AC C G
C C AC C GA
C T AC C A
T CC G TT C
C T AC C G G
AGCGTG
G A C C GT A
G A C CT C
A G C G TA A
T A CC G T A
タンパク質配列解析のためのカーネル
• 隠れマルコフモデル(HMM)から特徴ベクトルを抽出
– Fisher カーネル (Jaakkola et al., 2000)
– Marginalized カーネル (Tsuda et al., 2002)
• 配列から直接特徴ベクトルを抽出
– Spectrum カーネル (Leslie et al., 2002)
– Mismatch カーネル (Leslie et al., 2003)
• 他の配列とのスコアを特徴ベクトルとして利用
– SVM pairwise (Liao & Noble, 2002)
• 配列パターンの出現頻度を特徴ベクトルとして利用
– モチーフカーネル(Ben-Hur & Brutlag, 2003)
• 二つの配列から直接カーネル値を計算
– Local Alignment Kernel (Saigo et al, 2004)
Spectrum カーネル
• 長さ k の各文字列の出現回数を特徴ベクトルとする
• カーネルはその内積(K(x,y)=φ(x)・φ(y))
• 単純だけど有用、かつ、高速に計算可能
S p ectrum カ ー ネ ル
A A
ACCT AC
A C
A G
CC
CG
CT
T A
T C
( 0
2
0
1
0
1
1
0
)
( 1
1
0
0
1
0
0
1
)
φ (x)
AACGT C
φ (y )
Local Alignment カーネル
• Local Alignment アルゴリズムをカーネルとして利用したい ⇒ カーネルの条
件を満たさない
• そこで、スコア最大のパスのみを考えるのではなく、すべてのパスのスコアを
考慮した Local Alignment カーネルを開発 ⇒ カーネルの条件を満たす
• π:(ローカル)アラ
イメント
• s(x,y,π): x,yの
アライメントπの
スコア
• Π:可能なアライメ
ントの集合
定理
lim
 
SW ( x , y )  max
  ( x , y )

K LA ( x , y ) 
s( x, y, )
 exp(  s ( x , y ,  ))
  ( x , y )
1


ln( K LA ( x , y ))  SW ( x , y )
タンパク質立体構造予測
• アミノ酸配列から、
タンパク質の立体
構造(3次元構造)
をコンピュータによ
り推定
• 実験よりは、精度が
悪い
• だいたいの形がわ
かれば良いのであ
れば、4~5割の予
測率
ア ミ ノ酸 配 列
T
C
A
V
F
G
L
G
G
V
R
L
S
V
D
コンピュー タ
タンパ ク質
立体構造
SCOPデータベース
• タンパク質立体構造を形状を中心に、人手で、
階層的に、分類したデータベース
SCOP
Root
‥‥‥‥‥
Class.1 Class.2
‥‥‥‥‥
Fold.1 Fold.2
Super
Super
Family.1 Family.2
Family.1
‥‥‥‥‥
Family.2
mkkrltitlsesvlenlekmaremglsksam
ispqarafleevfrrkqslnskekeevakkcg
isvalenykkgq
itplqvrvwfinkrmrs
Family.3
Super Family 予測
• 入力配列が SCOP のどのスーパーファミリー
に属するかを予測
Super Family.1
タンパク質配列
madqlteeqiaefkeafslfdkdgdgtittkel
gtvmrslgqnpteaelqdminevdadg
Super Family.2
ngtidfpefltmmark
:
:
Super Family.3
SVMによるスーパーファミリー予測
• 各ファミリーごとにSVMを学習
– i番目のSVM
• i番目のファミリーに属するタンパク質を正例
• それ以外のタンパク質を負例
• 最も高いスコアを出力したSVMに対応するファミリーを予測結果とする
タン パ ク質 配 列
スコア
LVE K H PLAD F CVE D R K LVIH ......
SVM 1
SVM 2
SVM 3
SVM n
3 .5
- 2 .0
5 .8
-3 .2
予測結 果
3番 目 の ス ーパ ーフ ァミリー
まとめ
• バイオインフォマティクス
– 生物学+情報科学 (+数理科学+統計学+...)
– 成果の多くはWEBページなどを通して利用可能
• 配列検索
– 動的計画法による配列アライメント
– 配列検索による機能予測
• 配列が類似していれば、機能も類似
• カーネル法によるタンパク質構造予測
– サポートベクターマシン: 超平面を学習
– カーネル関数: 特徴ベクトルの内積
– 文字列に対するカーネル関数
• Spectrumカーネル、Local Alignment カーネル
– スーパーファミリー予測への応用
参考文献
• バイオインフォマティクス
– 金久實:ポストゲノム情報への招待、共立出版、2001
• 配列解析
– 岸野・浅井:生物配列の統計、岩波書店、2003
– 阿久津・浅井・矢田(訳):バイオインフォマティクス
-確率モデルによる遺伝子配列解析-、医学出版、2001
• カーネル法
– 大北(訳):サポートベクターマシン入門、共立出版、2005