ヒートマップの色づけ (4): 凡例 (legend) の表示

これまでの例からも分かるように、ヒートマップの色づけは、作者次第で変化します。そのため、ヒートマップには、「どれくらいの数値を何色にしているか」という凡例 (legend) の表示が不可欠です。

凡例の表示。
凡例の表示。

凡例の表示

凡例 (legend, Color Key)は、色のついたバーに、目安となる数値をつけて表現します。 少なくとも、最低値(左端)、中央値(真ん中)、最高値(右端)の3つの数値は必要でしょう。また、ヒートマップの色づけは、の3段階ではなく、連続的に変化していることが多いです。 続きを読む ヒートマップの色づけ (4): 凡例 (legend) の表示

 

ヒートマップの色づけ (3): log変換して色づけ

ratio で色づけをしても、コントロール群で低いところは、高いところは(実験群はその逆)という色づけにはなりません。では、log変換した場合はどうでしょうか?

色づけが期待通りにならない原因の1つは、シグナル値が非常に広い範囲に分布していることです。log変換することで、この範囲を狭くすることはできます。例えば、下図のように、16から1024まであったものが、 log 変換すると、4から10までの範囲に収まります。(100万でも log2変換すると 20 くらいなので、必ず、二桁以内に収まります。)

log変換した場合。シグナル値の分布する範囲は狭く見える。
log変換した場合。シグナル値の分布する範囲は狭く見える。

これを色付けしてみます。Gene A の WTの低いところをにしたいので、 4.5 よりシグナル値の低いところを、高いところをにします。また、Gene B にも同じ色づけを適用します。

log2変換してから色づけ。
log2変換してから色づけ。

結果は、log変換しない場合と同じです。log変換してもシグナル値の大小関係は保たれます。分布が狭くなるだけでは、うまく色付けできません。

 

ヒートマップの色づけ (2): ratio で色づけ

高いシグナルと、低いシグナルがあるためにうまくいかないのであれば、シグナル値を fold change (ratio) に変換して色づけしてはどうでしょうか?

シグナル値を ratio に変換。
シグナル値を ratio に変換。

ratio の算出

例の場合、WTをコントロールとするので、WTの平均値で、KOのシグナル値を割ると ratio になります。

Gene A の場合は、WT の平均値が 10 なので、 KO の ratio は、10 になります。一方、WTは同じ値で割るので、1になります。(例は、シグナル値がいずれのサンプルも同じ(=ばらつきが全くない)極端なケースです。)

Gene B の場合は、WT の平均値が 1000 なので、 KO の ratio は、2 になります。WTは同じ値で割るので、1になります。

ratio で色づけ

これを色づけしてみます。変動のないところ、つまり、 ratio = 1 の部分を黒、2倍以上 (ratio > 2) を、0.5倍以下 (ratio < 0.5) をに塗るとします。

ratio で色付けした例。
ratio で色付けした例。

結果としては、コントロール群が黒で、実験群が、黒、となるヒートマップが得られます。シグナル値が高いところも低いところも、 ratio が変動していれば、変化は色として確認できます。(この意味では、目的を達成している色づけ方法といえます。)

ただ、コントロール群は、同じ値で割ることになるので、黒以外になりません。よって、ratio で色づけした場合、コントロール群をヒートマップに表示する意味はほとんどありません。

ratio を用いた場合、コントロール群で低いところは、高いところは(実験群はその逆)という、色の変化にはなりません。

 

ヒートマップの色づけ (1): そのまま色づけ

なんとなく、理解したつもりでいても、意外と分かりにくいのが、ヒートマップの色とシグナル値の関係です。マイクロアレイのイメージの誤解でも述べたように、は、2色法の色素の色ではありませんし、シグナル値そのものの強弱を示したものでもありません(大抵の場合)。

また、「どの程度の高さのシグナル値を何色にするか」は、それぞれの研究者が決めなければなりません。(絶対にコレ、という決まりがありません。)

実際に、色づけを行うつもりで、考えてみましょう。シグナル値の低い部分をに、高い部分をにするのが意外と難しいことが分かります。 

色づけの例

下図のような遺伝子Aがあったとします。WTとKOの2群 (n=3) のサンプルがあります。これをヒートマップにしたいので、シグナル値の低いところを、高いところをに塗りたいと思います。

ヒートマップの色づけ。遺伝子Aを色づけ。
ヒートマップの色づけ。遺伝子Aを色づけ。

例えば、 シグナル値 (x) が 50より低い (x < 50) ときは緑、50より高い (50 < x) ときは赤に塗ると定義します。すると、WTはに、KOはに色付けされることになります。これはイメージ通りでしょう。

色づけの問題点

では、遺伝子 B も同時に色付けすることを考えましょう。下図のように、遺伝子 B は、1000から2000の間に分布しています。これを遺伝子 A と同様の条件で、色づけすると、どうでしょう。これは、イメージ通りの結果といえるでしょうか?

遺伝子Bを遺伝子Aと同じ条件で色づけ。
遺伝子Bを遺伝子Aと同じ条件で色づけ。

マイクロアレイのデータは、低いものは、10ほどの値を取りますが、高いものは数十万の値となります。したがって、色づけの条件を低いシグナル値に合わせると、高い遺伝子の変化が見えず、逆に高い遺伝子に合わせると、低い遺伝子の変化が見えないことになります。

遺伝子1個ずつ(=1行ずつ)、色づけの条件を設定するわけにはいかないので、何か対処が必要です。

 

繰り返し実験のばらつき(2)

前回は、同じ条件のサンプルを散布図で比較した例を紹介しました。同じデータを MA プロットでも見てみましょう。(見方は、こちらその続きを参照してください。)

繰り返しサンプルのMAプロット。シグナル値が低い部分で変動しているように見える。
繰り返しサンプルのMAプロット。シグナル値が低い部分で変動しているように見える。縦軸、横軸とも対数目盛りで表示。

ほとんどの遺伝子が、 0.5 < ratio < 2 の区間 (-1 < M < 1 の区間) に分布しています。つまり、発現変動していないように見えます(黒い部分)。

一方、一部の遺伝子は、 ratio = 2 または、 ratio = 0.5 のライン(赤線)を超えていることも確認できます。よく見ると、これらの遺伝子は、シグナル値の低い部分に多く見られることが分かります。図ではに色づけされた遺伝子が3300個ほどありますが、このうち、2サンプルのシグナル値の平均値が100以下のものが3100個ほどです。(例えば、WT1=50, WT2=100 で、ratio = 2 のものなど) 続きを読む 繰り返し実験のばらつき(2)