22,283遺伝子の中から心臓で特異的に発現している遺伝子の上位10個をリストアップします。
リストアップ
まず、以下をコピー&ペーストして、パターンマッチングを行って候補遺伝子群を抽出したいファイル(GDS1096.txt)と「テンプレートパターン」を含んだファイル(GDS1096_cl_heart.txt)を読み込みます。
------ ここから ------
library(genefilter) #パッケージの読み込み
GDS1096_tmp <- read.table("GDS1096.txt", header=TRUE, row.names=1)#GDS1096.txtファイルを読み込んでGDS1096_tmpに格納(これをそのまま使うわけではないので"_tmp"を付加している)
GDS1096_tmp$IDENTIFIER <- NULL #余分なカラム「IDENTIFIER」の消去
colnames(GDS1096_tmp) <- substring(colnames(GDS1096_tmp), 8, nchar(colnames(GDS1096_tmp))) #列名の最初の8文字分(つまり "Normal_")を削除
GDS1096_tmp[GDS1096_tmp < 1] <- 1 #1未満の値を1に置換
GDS1096_tmp <- log(GDS1096_tmp, 2) #log変換し、結果を再びGDS1096_tmpに格納
GDS1096 <- as.matrix(GDS1096_tmp) #as.matrixの意味は、「データの型を"行列として(as matrix)"GDS1096に格納せよ」です。(read.tableで読み込んで得られたGDS1096_tmpのデータの型は"データフレーム"なので、そのままではこの場合は使用不可なのでやる必要があります)
GDS1096_cl_heart <- read.table("GDS1096_cl_heart.txt")#GDS1096_cl_heart.txtファイルを読み込んでGDS1096_cl_heartに格納
template_heart <- GDS1096_cl_heart[,2]#バイナリ(0 or 1)情報(2列目)のみ抽出し、template_heartに格納
template_heart #バイナリ(0 or 1)情報の確認
------ ここまで ------
genefinder()関数を使ってテンプレートパターンに最も似た発現パターンをもつ上位10個を抽出します。この際、データのスケール化は行わず(scale="none";生の発現データをそのまま使用)、類似度は1−相関係数(method=”correlation”)で評価することにします。
------ ここから ------
dim(GDS1096) #行列GDS1096の行数と列数を表示
tmp <- rbind(GDS1096, template_heart)#template_heartというテンプレートパターンを行列GDS1096の最後の行に追加
dim(tmp) #行列GDS1096にテンプレートパターンが追加された行列tmpの行数と列数を表示
ID_REF <- rownames(tmp) #行のラベル情報(つまり遺伝子IDに関する情報)をID_REFに格納
template_posi <- which(ID_REF == "template_heart")#行のラベル情報が"template_heart"に相当する行情報をtemplate_posiに格納
gene_num <- 10 #上位10個という情報をgene_numに格納
closeg <- genefinder(tmp, template_posi, gene_num, scale="none", method="correlation")#行列tmpの中で、template_posi行目の遺伝子発現プロファイルと近い上位gene_num個の情報をclosegに格納
closeg[[1]]$indices #上位10個の行番号を表示
rownames(tmp[closeg[[1]]$indices,]) #上位10個の"ID_REF"(遺伝子ID)を表示。underline部分が上位10個の遺伝子発現データに相当する。
closeg[[1]]$dists #上位10個の類似度を表示
------ ここまで ------
参考:一連の計算はExcelでもできます。計算を行ったExcelファイルはここに置いてあります。
ファイルに保存
上位10個の遺伝子発現プロファイル情報を取り出し、ファイル(ファイル名:GDS1096_best10_heart.txt)に保存します:
------ ここから ------
GDS1096_best10_heart <- tmp[closeg[[1]]$indices,] #上位10個の遺伝子発現データを抽出し、GDS1096_best10_heartに格納
tmp2 <- cbind(rownames(tmp[closeg[[1]]$indices,]) , GDS1096_best10_heart)#上位10個の"ID_REF"(遺伝子ID)情報とGDS1096_best10_heartを列方向で結合(column方向でbind)し、結果をtmp2に格納
write.table(tmp2, "GDS1096_best10_heart.txt", sep = "\t", append=F, quote=F, row.names=F)#結果をファイル(ファイル名:GDS1096_best10_heart.txt)に保存。
------ ここまで ------
遺伝子ID情報のみ取り出してファイル(ファイル名:GDS1096_best10_heart_ID.txt)に保存したい場合には以下のようにします:
------ ここから ------
write.table(rownames(tmp[closeg[[1]]$indices,]), "GDS1096_best10_heart_ID.txt", sep = "\t", append=F, quote=F, row.names=F, col.names=F) #遺伝子IDに関する情報のみ、ファイル(ファイル名:GDS1096_best10_heart_ID.txt)に保存したい場合。
------ ここまで ------
作図(pseudo-color image)
上位10個の遺伝子発現データの入ったファイルGDS1096_best10_heart.txtを読み込み、pseudo-color imageを作成します。このとき、読み込んだそのままの数値情報(scale="none")を用い、暖色の20段階(col = heat.colors(20))で表すことにします。
------ ここから ------
data <- read.table("GDS1096_best10_heart.txt", header=TRUE, row.names=1)#ファイルの読み込み
heatmap(as.matrix(data), Rowv =NA, Colv=NA, scale="none", col = heat.colors(20), main="Best 10", xlab="Tissue", ylab="Clone ID", margin=c(8,10))#ヒートマップ(pseudo-color image)の作成
### 「data」と「GDS1096_best10_heart」は同じなので以下でも可(参考まで) ###
heatmap(as.matrix(GDS1096_best10_heart), Rowv =NA, Colv=NA, scale="none", col = heat.colors(20), main="Best 10", xlab="Tissue", ylab="Clone ID", margin=c(8,10))#ヒートマップ(pseudo-color image)の作成
------ ここまで ------
pseudo-color imageのpdf
(このままでもいいのですが)遺伝子(row)ごとにスケール化(平均=0, 分散=1)したものがよく用いられるので、それもやってみます。
------ ここから ------
data <- read.table("GDS1096_best10_heart.txt", header=TRUE, row.names=1)#ファイルの読み込み
heatmap(as.matrix(data), Rowv =NA, Colv=NA, scale="row", col = heat.colors(20), main="Best 10", xlab="Tissue", ylab="Clone ID", margin=c(8,10)) #ヒートマップ(pseudo-color image)の作成
### 「data」と「GDS1096_best10_heart」は同じなので以下でも可(参考まで) ###
heatmap(as.matrix(GDS1096_best10_heart), Rowv =NA, Colv=NA, scale="row", col = heat.colors(20), main="Best 10", xlab="Tissue", ylab="Clone ID", margin=c(8,10))#ヒートマップ(pseudo-color image)の作成
------ ここまで ------
pseudo-color imageのpdf
参考1:得られたpseudo-color imageを保存したい場合には、R Graphics画面をアクティブにして「ファイル」−「別名で保存」とすることで、任意の形式で保存することができます。
参考2:ここでは、暖色の20段階のみで作図してみましたが、寒色(cm.colors)や虹色(rainbow)など様々な色を任意の階調(12段階や256段階など)で指定することができます(色調に関する参考URL)。