57
遺伝子発現データの 階層的クラスタリング 慶應義塾大学環境情報学部

遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

遺伝子発現データの階層的クラスタリング

慶應義塾大学環境情報学部

Page 2: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

遺伝子の発現のプロセス

DNAATG

mRNAAUG

転写

翻訳

タンパク質

TAA

UAA

遺伝子

Page 3: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

遺伝子はいつ発現している?

• 全ての遺伝子が常に発現しているわけではない

• 皮膚の細胞と肝臓の細胞のDNA情報は同一

• 細胞の形質が異なるのは発現している遺伝子が異なるため

OFFON

Page 4: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

細胞の分化(1)

• 細胞が不可逆的に特殊化していくこと

• 遺伝子の発現が細胞ごとに異なっていく

• 外部からのシグナルに影響される

シグナルとなる物質

Page 5: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

細胞の分化(2)

• すでに存在するタンパク質の組み合わせの影響

Aという遺伝子が発現 Aという遺伝子は発現せず

Page 6: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

細胞の分化(3)

• 分化の過程の影響

Page 7: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

遺伝子の発現のタイミングが分かれば…

• 細胞分化の過程で各細胞で異なった遺伝子発現

• 脳細胞にだけ発現している遺伝子は、脳に関係した遺伝子?

• 高温で発現する遺伝子は、高温から細胞を守るために発現する遺伝子?

• 癌細胞で発現している遺伝子は、癌遺伝子?

Page 8: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

マイクロアレイ

組織αに対して組織βで遺伝子Aが

相対的にどれくらい発現したか

遺伝子Aの配列

組織αのcDNAを緑色に蛍光標識 組織βのcDNAを赤色に蛍光標識

Page 9: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

蛍光で発現量を比較する

組織αの発現量 > 組織βの発現量

組織αの発現量 < 組織βの発現量

Page 10: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

たくさんの遺伝子の発現量を測定

遺伝子Aの配列 遺伝子Bの配列 遺伝子Cの配列 遺伝子Dの配列

遺伝子Eの配列 遺伝子Fの配列 遺伝子Gの配列 遺伝子Hの配列

遺伝子Iの配列 遺伝子Jの配列 遺伝子Kの配列 遺伝子Lの配列

組織α

でとれた、様々な遺伝子由来のc

DN

A

組織β

でとれた、様々な遺伝子由来のc

DN

A

Page 11: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

マイクロアレイチップ

Page 12: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

発現データの例

Nestinの遺伝子発現パターン

小脳 舌

※Nestinは神経の発達に関わっている

腎臓 脳 胎盤 腸

Page 13: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

発現データの例

NAMEcdc15

10cdc15

30cdc15

50spo 0 spo 2 spo 5 spo 7

SEC2 GDP/GTP EXCHANGE FACTOR FOR SEC4P -0.51 -0.15 0.06 -0.22 0.38 0.52 0.59

TFC1 TFIIIC 95 KD SUBUNIT 0.25 -0.09 0.14 0.16 0.43 0.3

ALPHA1 ALPHA-SPECIFIC GENE ACTIVATOR -0.17 -0.56 -1.15 -0.1 -0.51 -0.42 0.11

AAP1 ARGININE/ALANINE AMINOPEPTIDASE -0.51 -0.62 -0.81 -0.2 -0.54 -0.04

BUB2 CELL CYCLE, CHECKPOINT UNKNOWN -0.49 -0.56 -0.06 -0.29 -0.4 -0.12 0.7

TOM1 CELL CYCLE, G2/M UNKNOWN -0.17 0.06 -0.22 -0.06 -0.01 -0.01 0.08

MNN4 PHOSPHATIDYLINOSITOL KINASE HOMOLG -0.56 -0.42 -0.38 -0.22 0.41 1.24 1

TFB1 TFIIH 75 KD SUBUNIT -0.32 0.28 0.1 -0.2 -0.18 0.03 0.3

TAF145 TFIID 145 KD SUBUNIT -0.01 0.32 0.29 -0.22 -0.29 -0.06 0.14

Page 14: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

発現量の測定

• 時系列パターン … 細胞分化の過程

• 組織別 … 心臓、肝臓、脳など

• 条件別 … 栄養枯渇、ヒートショック、紫外線

Page 15: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

遺伝子の発現機構遺伝子ネットワーク

TFA

B

転写因子が転写制御配列に結合

Page 16: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

転写因子が発現すると…

TFA

B

転写因子の下流の遺伝子が推定できる

発現量が上がる

※リプレッサーの場合は逆に発現量は下がる

Page 17: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

転写因子がなくなると…

TFA

B

転写因子の下流の遺伝子が推定できる

発現量が下がる

Page 18: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

様々な遺伝子の発現パターンが分かれば…

• 同一転写因子の制御下にある遺伝子群が推定できる

• ある遺伝子の制御下にある遺伝子群が推定できる

Page 19: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

共通の転写因子に制御されていれば…

TFA

B

発現パターンが似てくる

発現パターン

Page 20: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

同じ発現制御を受ける遺伝子をまとめる

• 階層的クラスタリング

• 非階層的クラスタリング

Page 21: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

発現パターンの類似性の指標

同一の転写因子の制御下にある遺伝子を探す

• ユークリッド距離

• 相関係数

Page 22: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

ユークリッド距離n次元データの2点間の距離

d12

d22

d32

d42

d52

ユークリッド距離d = (d12 + d2

2 + d32 + d4

2 + d52)1/2

より一般的には、データa1, a2, …, anとb1, b2, …, bnの間のユークリッド距離dは

n

i

ii bad1

2)(

Page 23: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

ユークリッド距離の問題点

• ユークリッド距離の計算では発現の絶対量が問題になる

• マイクロアレイデータは一般的に相対量– 遺伝子Aは組織αより組織βで2倍の発現を示した○

– 遺伝子Aは遺伝子Bに比べて2倍の発現を示した×

– 各遺伝子の発現パターンが大きな意味を持つ?

Page 24: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数

Data 1

Data 2

波形の形が同じ場所で(?)類似していれば、相関係数は高くなる

Page 25: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数を求める(1)

ixn

1

n

xi

2)(

データx1, x2, … xnの平均と標準偏差を求める

平均 標準偏差

0

5

10

15

20

25

30

35

平均 標準偏差

Page 26: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数を求める(2)

i

i

xz

データx1, x2, … xnの標準化

-10

-8

-6

-4

-2

0

2

4

6

8

10

平均が0、標準偏差が1になる

Page 27: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数を求める(3)

-10

-8

-6

-4

-2

0

2

4

6

8

10

ii zzn

r 21

1

Page 28: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数の性質 (1)

ii zzn

r 21

1

22

221

2

1

2

21

12

11)(

1tz

ntzz

nz

ntzz

niiiiii

z1iもz2iも平均が0、分散が1だから、

trtr

rtrtrtrt

allfor 01)(

1221

22

2222

11 r

Page 29: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数の性質 (2)

• 発現パターンが似ているとき、相関係数rは1

に近づく

• 発現パターンに相関がないとき、相関係数r

は0に近づく

• 発現パターンが逆になるとき、相関係数rは-1

に近づく

Page 30: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

Data1

Data2

Data1

Data2

r = 0.71

r = -0.98

Page 31: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

Data1

Data2

r = -0.02

Page 32: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

相関係数は直線上の関係を表す

0

2

4

6

8

10

12

14

16

18

20

0 2 4 6 8 10 12

データ#1

データ#2

r = 0.938

0

2

4

6

8

10

12

14

16

18

20

0 2 4 6 8 10 12 14

データ#1

データ#2

r = -0.072

Page 33: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

回帰直線と相関係数との関係

y

x

ie

xbay

y

1e

2e

(http://www.ec.kansai-u.ac.jp/user/amatsuo/powerpoint/kariyCh13.pptを改変)

i

i

i

i

yy

e

y

yr

2

2

2

)(11

の変動

の残差平方和

Page 34: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング(1)

0

2

4

6

8

10

12

Data1

Data2

Data3

Data4

Data1 Data2 Data3 Data4Data1 1.00Data2 0.90 1.00Data3 -0.50 -0.55 1.00Data4 -0.44 -0.46 0.95 1.00 Data1 Data2 Data3 Data4

相関行列

Page 35: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング(2)

0

2

4

6

8

10

12

Data1

Data2

Data3+4

Data1 Data2 Data3+4Data1 1.00Data2 0.90 1.00Data3+4 -0.48 -0.51 1.00

Data1 Data2 Data3 Data4

Page 36: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング(3)

0

2

4

6

8

10

12

Data1+2

Data3+4

Data1+2 Data3+4Data1+2 1.00Data3+4 -0.51 1.00

Data1 Data2 Data3 Data4

Page 37: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

ヒト繊維芽細胞の発現データのクラスタリング

timeコレステロールの合成

細胞周期細胞修復

血管形成

早期応答 Eisen M et al. 1998

Page 38: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリングのステップ

1.全クラスター間の相関係数の計算

2.最も相関が高いクラスターを併合

3.複数のクラスターがあるなら、1.に戻る

Page 39: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

クラスター間の相関係数はどのように計算する?

• 最短距離法 (Single Linkage Method)

• 最長距離法 (Complete Linkage Method)

• 群平均法 (Average Linkage Method)

クラスターA, Bの要素a, bの相関係数をra,bとして、

max(ra,b)

min(ra,b)

average(ra,b)

Page 40: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング (Perl)# クラスターa, bの要素間の相関を計算するsub corr_clust($$$){

my $clust_a = shift;

my $clust_b = shift;

my $d = shift;

my $max = -1.0;

for my $i (@$clust_a){

for my $j (@$clust_b){

if($max < $d->[ $i ]->[ $j ]){

$max = $d->[ $i ]->[ $j ];

}

}

}

return $max;

}

# 次元数dimのデータ群dataを階層的クラスタリングsub h_cluster($){

my $data = shift;

# データセット。$data->[データ番号]->[データの次元番号]

my @cl;

# クラスター情報。$cl[クラスター番号] = [ データ番号,,, ]

# クラスター情報の初期化foreach(0..$#$data){ $cl[$_] = [ $_ ]; }

# 相関行列の作成my @d;

for my $i (0..$#$data){

for my $j (0..$#$data){

$d[$i]->[$j]

= corr_single($data->[$i], $data->[$j]);

}

}

# 階層的クラスタリングwhile ($#cl > 0){

my $corr_max = -1.0;

my($c1, $c2);

for (my $i = 0; $i < $#cl; $i ++){

for (my $j = $i + 1; $j <= $#cl; $j ++){

my $corr = corr_clust($cl[$i],

$cl[$j], ¥@d);

if ($corr > $corr_max){

$corr_max = $corr;

$c1 = $i;

$c2 = $j;

}

}

}

printf("[ Merge %d ] Merging the following

two clusters:¥n",

$#$data - $#cl + 1);

printf("(1) Cluster containing data #");

print join(",", @{$cl[$c1]}), "¥n";

printf("(2) Cluster containing data #");

print join(",", @{$cl[$c2]}), "¥n";

printf("Distance between these two clusters

= %lf¥n¥n", $corr_max);

$cl[ $c1 ] = merge($cl[ $c1 ], $cl[ $c2 ]);

# クラスターc2をc1へ統合して格納splice(@cl, $c2, 1) # クラスターc2を破棄

}

}

クラスター間の相関係数

クラスターの統合

Page 41: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング (Perl)その他の設定

use List::Util qw(sum);

# n次元データa, bの相関係数を計算するsub corr_single($$){

my $a = shift;

my $b = shift;

my $n = $#$a + 1;

my $mean_a = sum(@$a) / ($#$a + 1);

my $mean_b = sum(@$b) / ($#$b + 1);

my $var_a = 0;

my $var_b = 0;

foreach(0..$n-1){ $var_a += ($a->[$_] - $mean_a)**2 / $n; }

foreach(0..$n-1){ $var_b += ($b->[$_] - $mean_b)**2 / $n; }

my $corr = 0;

foreach(0..$n - 1){

$corr += (($a->[$_] - $mean_a) / ($var_a ** 0.5))

* (($b->[$_] - $mean_b) / ($var_b ** 0.5)) / $n;

}

return $corr;

}

Page 42: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング(C言語)/* 次元数dimのデータ群dataを階層的クラスタリング

データ数N_DATAはグローバル変数として与えられる */

void h_cluster(double data[N_DATA][DIM]){

int i, j, n;

double d[N_DATA][N_DATA]; /* データ間の相関行列 */

double corr, corr_max; /* データ間の相関 */

int c1, c2;

static struct CLUSTER cl[N_DATA]; /* クラスター情報 */

static struct CLUSTER w; /* ワーク用 */

/* クラスター情報の初期化 */

for (i=0; i < N_DATA; i++){

cl[i].n = 1;

cl[i].gene[0] = i;

}

/* 相関行列の作成 */

for (i = 0; i < N_DATA; i++)

for (j = 0; j < N_DATA; j++)

d[i][j] = corr_single(data[i], data[j], DIM);

/* 階層的クラスタリング */

n = N_DATA - 1;

while (n > 0){

corr_max = -1.0;

for (i = 0; i < n; i ++){

for (j = i + 1; j <= n; j ++){

corr = corr_clust(cl[i], cl[j], d);

if (corr > corr_max){

corr_max = corr;

c1 = i, c2 = j;

}

}

}

printf("[ Merge %d ] Merging the following two

clusters:¥n",

N_DATA - n - 1);

printf("(1) Cluster containing data #");

for(i = 0;i < cl[ c1 ].n;i ++){

printf("%d", cl[ c1 ].gene[i]);

if(i < cl[ c1 ].n - 1)putchar(',');

}

printf("¥n(2) Cluster containing data #");

for(i = 0;i < cl[ c2 ].n;i ++){

printf("%d", cl[ c2 ].gene[i]);

if(i < cl[ c2 ].n - 1)putchar(',');

}

printf("¥nDistance between these two clusters

= %lf¥n¥n", corr_max);

merge(cl[ c1 ], cl[ c2 ], w); /* クラスターを統合 */

cl[ c1 ] = w; /* クラスターc2をc1へ統合して格納 */

cl[ c2 ] = cl[n]; /* クラスターc2を破棄し、一番後ろのクラスターを代わりに格納 */

n--; /* クラスターを1つ減らす */

}

}

Page 43: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

階層的クラスタリング(C言語)その他の設定

#define N_DATA 4 /* データ数 */

#define DIM 21

/* クラスター情報 */

struct CLUSTER {

int n; /* データ数 */

int gene[N_DATA]; /* 保持しているデータ番号の集合 */

};

/* n次元データa, bの相関係数を計算する */

double corr_single(double a[], double b[], int n){

int i;

double d = 0.0;

double mean_a, mean_b;

double var_a, var_b;

double corr;

for(mean_a = 0, i = 0;i < n;i ++)mean_a += a[i] / n;

for(mean_b = 0, i = 0;i < n;i ++)mean_b += b[i] / n;

for(var_a = 0, i = 0;i < n;i ++)

var_a += (a[i] - mean_a)*(a[i] - mean_a) / n;

for(var_b = 0, i = 0;i < n;i ++)

var_b += (b[i] - mean_b)*(b[i] - mean_b) / n;

for(corr = 0, i = 0;i < n;i ++)

corr += (a[i] - mean_a) / sqrt(var_a)

* (b[i] - mean_b) / sqrt(var_b) / n;

return corr;

}

定数の定義、構造体の宣言など

相関係数の計算

Page 44: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

クラスタリングの計算時間

• 対象がN個あるなら、以下の数の組み合わせの中から最も関連が高いものを選ぶ

• クラスターの併合をN=1になるまで繰り返すなら、調べる組み合わせの数は

)1(2

1NN

)2(6

1)1(

2

1 2

2

NNiiN

i

結局これはO(N3)の計算量となり、データ数が多いと膨大な計算時間になる

Page 45: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

非階層的クラスタリング

• K平均法

• 自己組織化マップ

Page 46: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

発現データを二次元平面へ

1

2

3

4

5 A

B

条件1 条件2

1

2

3

4

5

1 2 3 4 5

条件1

条件2発現レベル

A

B

Page 47: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

K平均法

5. 2.に戻る

1. 参照点の設定

2. 各要素の所属を最も近い参照点とする

3. 各クラスターの重心を計算

4. 参照点を重心の方向へわずかに移動させる

Page 48: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

所属参照点の決定

5 10

5

10

5 10

5

10

(a) (b)

Page 49: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

重心の決定と参照点の移動

5 10

5

10

5 10

5

10

(c) (d)

Page 50: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

繰り返し

5 10

5

10

5 10

5

10

(e) (f)

Page 51: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

K平均法デモ

Page 52: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

自己組織化マップSelf-Organization Map (SOM)

Page 53: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

自己組織化マップとは?

• K平均アルゴリズムは、あらかじめクラスター数Kを設定し、互いに近い値を持った各要素が同一クラスターに所属するように所属クラスターを決めてゆく

• 自己組織化マップは互いに近い値を持った各要素が近くなるように低い次元上にマップする

• 自己組織化マップは1988年にKohonenが提案した (Kohonen 1934-)

Page 54: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

自己組織化とは?(Wikipediaより)

• 大脳皮質の視覚野をモデル化したニューラルネットの一種

• 教師なし学習によるクラスタリングの手法の一つ

• 次元削減による可視化の手法の一つ

Page 55: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

生物の神経細胞の構造をモデル化

• 神経細胞、すなわちニューロンが情報処理の単位

• 樹状突起がニューロンに対する入力

• 軸索がニューロンからの出力

• 計算機上では各ニューロンをノード、軸索をエッジとして表す

樹状突起軸索

細胞体 神経末端

(基礎分子生物学3 学生作成資料より)

Page 56: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

似た情報が入力されると脳の似た細胞が反応する?

Page 57: 遺伝子発現データの 階層的クラスタリング - Keio …...遺伝子の発現のタイミングが分かれば… •細胞分化の過程で各細胞で異なった遺伝子

SOM (Self Organization Map)

自己組織化マップ

• 多次元情報を低い次元にマッピングする

• データが近いもの同士がマッピングでも近くなるように配置する

X(1) = (9.5, 3.2, 7.5, 9.7, 6.1)

X(2) = (2.1, 2.9, 2.1, 3.1, 1.1)

X(3) = (2.2, 2.7, 2.3, 3.0, 1.2)