10

タンパク質 DNA 相互作用データセットをクラスター化し、R パッケージ gplots の heatmap.2 を使用してヒートマップを描画しようとしています。これらのグラフを生成するために私が従っている完全なプロセスは次のとおりです。私の場合、ピアソンでいくつかの相関を使用して距離行列を生成します。

library(RColorBrewer);
library(gplots);
args <- commandArgs(TRUE);
matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1);
mtscaled <- as.matrix(scale(matrix_a))
pdf("result.pdf", pointsize = 15, width = 18, height = 18)
result <- heatmap.2(mtscaled, Colv=T,Rowv=T, scale='none',symm = T, col = brewer.pal(9,"Reds"))
dev.off() 

次のようにして、通常のヒートマップ関数でこれを達成できます。

result <- heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T)

ただし、Heatmap.2 に同じ設定を使用すると、クラスターが対角線上に整列しません。2 つの画像を添付しました。最初の画像はヒートマップを使用し、2 番目の画像はヒートマップを使用しています。パッケージ RColorBrewer の赤の色を使用して、私が何をしているのかをよりよく示すのに役立てました。通常はデフォルトのヒートマップ関数を使用しますが、heatmap.2 が提供するカラー バリエーションが必要です。

距離行列に変換された後のヒートマップの生成に使用されるデータセットのリストを次に示します。

ヒートマップから描画されたヒートマップ

Heatmap.2 から描画されたヒートマップ

4

1 に答える 1

5

あたかも 2 つの引数が競合しているかのようです。Colv=T列をクラスターごとに並べsymm=T替えるように指示し、列を行と同じように並べ替えるように指示します。もちろん、データは対称であるため、両方の制約を満たすことができますが、代わりにColv=T勝ち、たまたま異なる 2 つの独立したクラスターの順序付けが得られます。

デンドログラムの冗長コピーをあきらめた場合、少なくとも次のようにすると、必要なヒートマップが得られます。

result <- heatmap.2(mtscaled, Rowv=T, scale='none', dendrogram="row", symm = T, col = brewer.pal(9,"Reds"))

対称ヒートマップ

于 2012-09-26T00:45:48.693 に答える