May 14, 2020

GSEA解析 (データの準備方法)

Affymerix社のCELファイルを元にGSEA解析をする際のデータ準備方法について書く。

前提として

  • Rを使う
    ※ Rのインストールに関しては、門田先生のwebサイトに書かれている。その中で紹介されている、必要最小限のパッケージをインストールしておくと便利
    ※ エディタにはRstudioが便利
  • CELファイルは3' Expression Arrayで取得されたもの
    ※ 比較的新しい、HTAやGene STで取得されたデータに関しては、oligoというパッケージを用いてデータを抽出する

まずRを起動したら、Rのコンソールで以下のパッケージをインストールする。それぞれのリンク先に、インストールするためのコードが書かれている。特にaffyは注意。

任意の場所にフォルダを作成し、解析したいCELファイルを置く。そして、RのWorking directoryをそのフォルダに設定する。
次に、以下のコードをスクリプトにコピーする。コード内に書かれている「設定項目 (txtファイル名、clsファイル名、phenotype)」を好きに書き換えて実行する。phenotypeは、WTやMUTなどの属性名である。


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# !!!設定項目!!!
output_txt_filename <- "HGU133plus2_XXX.txt"
output_cls_filename <- "HGU133plus2_XXX.cls"
cls_name <- c("WT", "MUT")
# ***終わり***

# ライブラリの確認
require(affy) || stop("Library affy is NOT available")
require(stringr) || stop("Library stringr is NOT available")

# RMAで正規化し、logスケール化されているのを戻す
rma_data <- justRMA()
exprs(rma_data) <- 2 ^ exprs(rma_data)
rma_mat <- exprs(rma_data)

# サンプル名に.CELが含まれていると動作不良になるため外す
colnames(rma_mat) <- str_sub(colnames(rma_mat), end = -5)
txt_file <- rma_mat

# txtファイルの整形
# descriptionは"na"だとなぜか動作不良
name_col <- matrix(data = rownames(txt_file), nrow = nrow(txt_file), ncol = 1)
colnames(name_col) <- "NAME"
dcrp_col <- matrix(data = 1, nrow = nrow(txt_file), ncol = 1)
colnames(dcrp_col) <- "Description"
txt_file <- cbind(name_col, dcrp_col, txt_file)

# txtファイルを出力
write.table(txt_file, file = as.character(output_txt_filename),
           col.names = TRUE, row.names = FALSE, sep = "\t", na = "")

# clsファイルを作成
cls_file <- matrix(nrow = 3, ncol = ncol(rma_mat))
cls_file[1,1] <- paste(as.character(ncol(rma_mat)),
                       as.character(length(cls_name)), "1", sep = " ")
cls_file[2,1] <- paste("#", paste(cls_name, collapse = " "), sep = " ")
cls_file[3,] <- colnames(rma_mat)

# clsファイルの出力
write.table(cls_file, file = as.character(output_cls_filename),
            col.names = FALSE, row.names = FALSE, sep = "\t", na = "")

これで終わりではありません!
最後にclsファイルをexcelなどで開き、個々の細胞名の下に対応するphenotypeを書き入れる。全て入力したら、細胞名の行を削除し、上書き保存する。

以上で、解析に必要なtxtファイルとclsファイルが作成できる、はずである。
(ファイルの場所はCELファイルと同じ)
もしGSEAで動作しなかったらご一報ください。

追記: もし発現データをgctファイルで出力したい場合はこちらをご参考ください。

No comments:

Post a Comment