ヒートマップの色づけ (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行ずつ)、色づけの条件を設定するわけにはいかないので、何か対処が必要です。

 

Rat Genome Database (RGD)

マウスのデータベースは、 MGI であるのに対して、ラットのデータベースとして、 Rat Genome Database (RGD) があります。

Rat Genome Database (RGD)
Rat Genome Database (RGD)

マウスに対して、ラットでは QTL のデータが充実しているようです。それに関連して、 Disease Ontology もよく整理されています。下図は、 Obesity に関連した遺伝子がまとめられたページです。マウスとヒトのホモログの情報もいっしょに表示されますので、ラット以外を研究している研究者にとっても便利です。

Obesity に関連した遺伝子の一覧。Human, Mouse のホモログの情報もある。
Obesity に関連した遺伝子の一覧。Human, Mouse のホモログの情報もある。

また、パスウェイの情報もよく整理されていますので、おすすめです。