gene_num <- 10 #上位?個という情報をgene_numに格納 read_filename <- "template.txt" #読み込みテンプレートファイル名を指定 write_filename1 <- "top20.txt" #上位gene_num個の発現情報を保存するファイル名を指定 write_filename2 <- "top20_ID.txt" #上位gene_num個の発現情報を保存するファイル名を指定 library(genefilter) #パッケージの読み込み data_tmp <- read.table("data.txt", header=TRUE, row.names=1)#data.txtファイルを読み込んでdata_tmpに格納(これをそのまま使うわけではないので"_tmp"を付加している) data <- as.matrix(data_tmp) #as.matrixの意味は、「データの型を"行列として(as matrix)"dataに格納せよ」です。(read.tableで読み込んで得られたdata_tmpのデータの型は"データフレーム"なので、そのままではこの場合は使用不可なのでやる必要があります) template_tmp <- read.table(read_filename) #read_filenameを読み込んでtemplateに格納 template <- template_tmp[,2] #テンプレート情報(2列目)のみ抽出し、templateに格納 template #テンプレート情報の確認 dim(data) #行列dataの行数と列数を表示 tmp <- rbind(data, template) #template_heartというテンプレートパターンを行列dataの最後の行に追加 dim(tmp) #行列dataにテンプレートパターンが追加された行列tmpの行数と列数を表示 template_posi <- which(rownames(tmp) == "template")#行のラベル情報が"template"の行番号をtemplate_posiとして格納 closeg <- genefinder(tmp, template_posi, gene_num, method="correlation")#行列tmpの中で、template_posi行目の遺伝子発現プロファイルと近い上位gene_num個の情報をclosegに格納 closeg[[1]]$indices #上位gene_num個の行番号を表示 rownames(tmp[closeg[[1]]$indices,]) #上位gene_num個の遺伝子ID(AFFX_ID)を表示。下線部分が上位gene_num個の遺伝子発現データに相当する。 closeg[[1]]$dists #上位gene_num個の類似度を表示 tmp2 <- cbind(rownames(tmp[closeg[[1]]$indices,]), tmp[closeg[[1]]$indices,])#上位gene_num個の遺伝子ID(AFFX_ID)情報とその遺伝子発現データを列方向で結合(column方向でbind)し、結果をtmp2に格納 write.table(tmp2, write_filename1, sep = "\t", row.names=F) #結果をファイル(ファイル名はwrite_filename1で指定したもの)に保存。 write.table(rownames(tmp[closeg[[1]]$indices,]), write_filename2, quote=F, row.names=F, col.names=F)#ID情報のみファイル(ファイル名はwrite_filename2で指定したもの)に保存。 heatmap(as.matrix(tmp[closeg[[1]]$indices,]), Rowv =NA, Colv=NA, scale="row", col = heat.colors(20),#ヒートマップ(pseudo-color image)の作成 main="Top ranked genes", xlab="Tissue", ylab="Clone ID", margin=c(8,10)) #(見づらいので二行に分けているだけ)