エクセルで遺伝子名が曜日に自動変換される

eArray などのメーカーサイトからアノテーションファイル(タブ区切りのテキストファイル)をダウンロードして、ドラッグ&ドロップでエクセルで開くと、’MARCH*’ や ‘SEPT*’ などの遺伝子名は ‘*-Mar’ や ‘*-Sep’ のように自動変換されてしまいます。

(正)

(誤)

次回、この問題を回避する方法を記述します。

 

簡単!Linuxコマンドでマイクロアレイ解析結果自由自在3

今回も、引き続き、マイクロアレイ解析結果をLinuxコマンドを用いて簡単に操作する方法を紹介していきたいと思います。今回は、行に関する操作です。

head
ファイルの先頭を表示します。
大きいファイルの内容をちょっと確認したい場合や、ヘッダー情報を確認したい場合に使うと便利です。表示する行数も指定できます。

使い方
head test.txt   # 行数オプションを指定しない場合は、5行表示します。
head -n2 test.txt > test2.txt   # 先頭から2行を別ファイルに保存します。

grep
前回も出てきましたが、条件に該当する情報を抽出することができます。
行のフィルタリングに使用することができます。オプションで色んな条件を指定できます。

使い方
cat test.txt | grep “mouse”   # mouseというキーワードを含む行を抽出します。

sed
代表的なテキストフィルタリングツールです。
色々な使い方ができるツールですが、今回は使用する機会の多い置換についての使い方です。

使い方
cat test.txt | sed -e “s/,/\t/g”
# カンマ(,)区切りをタブ(\t)区切りに変換します。gは1行に見つかった全てに適用の意味です。本例のようにtest.txtの全行でカンマをタブ変換したい場合は、決まった書き方で対応可能です。

サンプル>

$ cat test.txt # ターゲットとなるテキストファイル
no,columnA,columnB
1,mouse,aaa
2,cat,bbb
3,mouse,ccc
4,mouse,ddd
5,cat,eee
$ head -n2 test.txt # 先頭2行だけを表示
no,columnA,columnB
1,mouse,aaa

$ cat test.txt | grep "mouse" # mouseを含む行だけを抽出
1,mouse,aaa
3,mouse,ccc
4,mouse,ddd
$ cat test.txt | sed -e "s/,/\t/g" # カンマ区切りをタブ区切りに変換
no columnA columnB
1 mouse aaa
2 cat bbb
3 mouse ccc
4 mouse ddd
5 cat eee
 

MeV の使い方 3. t-検定

Agilent のマイクロアレイデータを想定して、 MeV の操作方法を紹介します。

  1. MeV の起動とファイルの読み込み
  2. 階層的クラスタリング
  3. t-検定

3. t-検定

t-検定により、WT vs KO で差のある遺伝子を求める。

(1) 検定方法の選択

  • “Statistics” ボタンから “t Tests” を選択。

検定方法の選択

(2)  t-検定のパラメーター

検定を行った上で、有意な差を持つ遺伝子群のクラスタリング図を作成。

  • 1) “Between subjects” タブを選択。
  • 2) “Cluster Selection” タブを選択。
  • 3) 2つのグループに割り当てる。
  • 4) “Hierarchical Clustering” タブを選択。”Construct Hierarchical Trees for:” にチェックを入れる。

t-検定のパラメーター

続きます。

 

 

エクセルのフィルタを使ってデータ抽出

エクセルのフィルタを使ってデータ抽出する方法です(エクセル2007の場合)。

例)解析結果のエクセルファイルから、| Zscore | >= 2 のデータを抽出したい

1. [データ] をクリック。

2. [ フィルタ ] をクリック。

3. Zscore のセルの矢印をクリック。

4. [ 数値フィルタ ]  → [ 指定の範囲内 ] を選択。

5. 抽出したい条件を選択。

6. 指定した条件のデータが抽出できました。ステータスバーには抽出した件数が表示されます。

7. 前回紹介した「データの並べ替え」で、見たい順に並べ替えることができます。

8. フィルタを解除する場合は [ フィルタ ] をクリック。データは元に戻ります。

 

簡単!Linuxコマンドでマイクロアレイ解析結果を自由自在2

今回も、引き続き、マイクロアレイ解析結果をLinuxコマンドを用いて簡単に操作する方法を紹介していきたいと思います。今回は、解析結果ファイルの内容操作から少し脱線しますが、使用頻度の高いファイルの検索について紹介させて頂こうと思います。

コマンド操作で作業を行う際、一番困るのはファイルの場所がわかりづらい点と聞くことがあります。Windows等ではエクスプローラーを使って目で確認しながらファイル操作できますが、コマンド操作では慣れが必要です。しかし、慣れるとより速く・より便利に使えるので試してみる価値があると思います。

今回は、簡単で便利なファイル検索を紹介します。

find
ファイルを検索します。
検索対象となるディレクトリを指定して、ファイルを検索します。その時、名前や種類を指定できます。拡張子名が「txt」や、ファイル名が「my_」で始まる等を指定できます。

使い方1(拡張子がtxtであるファイルを検索)
find ~/work -name “*.txt”

使い方2(ファイル名がmy_で始まるファイルを検索)
find . -name “my_*”

grep
指定されたファイルや結果データ内をキーワード検索します。
とても有名なコマンドなので、ご存知の方もいらっしゃると思いますが、指定データに対して指定したキーワードに合致(含む等)する行を取得します。

使い方1(指定ファイル中から、mouseというキーワードを含む行を取得)
grep “mouse” data.txt

使い方2(コマンドの結果に対して、mouseを含む行を取得して、行数をカウント)
cat data.txt | grep “mouse” | wc -l

そして、上記の2つのコマンドを併せて使うと、「○○.datというファイルの中に、mouseというキーワードが入っているファイルはどれだったかな?」というような検索ができます。xargsは、findの結果ファイルを1つずつgrepに渡します。

使い方(findで*.txtで絞り込んで、mouseというキーワードを含む行を表示)
find ~/mydir -name “*.txt” | xargs grep “mouse” | less

サンプル>

$ ls mydir
-rw-------+ 1 Administrators None 33 Nov 30 18:30 test1.dat
-rw-------+ 1 Administrators None 33 Nov 30 18:28 test1.txt
-rw-------+ 1 Administrators None 25 Nov 30 18:31 test2.dat
-rw-------+ 1 Administrators None 25 Nov 30 18:30 test2.txt
$ find ~/work -name "*.txt" | xargs grep "mouse" | less
~/mydir/test1.txt:mouse 1
~/mydir/test1.txt:mouse 2

結果
拡張子がtxtであるファイルについて、mouseに該当する行だけが抽出できました。

 

MeV の使い方 2. 階層的クラスタリング

Agilent のマイクロアレイデータを想定して、 MeV の操作方法を紹介します。

  1. MeV の起動とファイルの読み込み
  2. 階層的クラスタリング
  3. t-検定

2. 階層的クラスタリング

(1) クラスタリングの方向

ヒートマップのクラスタリングには、比較する方向によって、サンプル(横方向) と、遺伝子(縦方向)の2種類に分けられます。どちらの方向でクラスタリングを行うかは、見たいものによって異なります。似ているサンプルを知りたいときは、サンプル方向でクラスタリングを行います。(がん細胞と正常細胞のデータを比較する場合など。)また、発現パターンの似ている遺伝子を知りたい場合は、遺伝子方向でクラスタリングを行います。(特定の遺伝子に興味があり、その遺伝子と発現パターンの似ている遺伝子を探す場合。)

場合によっては、サンプル、遺伝子の両方向で行うこともあるかもしれません。ただ、サンプルが時系列に並んだタイムコースのデータの場合は、サンプル方向のクラスタリングは行わない方が、発現パターンが分かりやすいと思います。

クラスタリングの方向

(2) 階層的クラスタリング

MeV で階層的クラスタリングを行う方法です。

  • “Clustering” ボタンから “Hierarchical Clustering” を選択。
  • クラスタリングの各オプションは変更しなくてもよい。

階層的クラスタリング

例:クラスタリング結果

  • 左側の “Analysis Results” にクラスタリング結果が作成される。
  • ツリーの計算と結果の色づけ (赤、緑)は、独立した作業。
  • 1色で表示されているのは、log2 変換前のスケールで色づけされているため。(スケールの設定が合っていない。)

例:クラスタリング結果

(3) クラスタリング図の色づけ

クラスタリング図を適切な表示にするには、「色づけ」の作業が必要です。論文などではシグナル値の低い遺伝子を緑色、中間の遺伝子を黒色、高い遺伝子を赤色に色付けされることが多いです。しかしながら、シグナル値がどれくらい低ければ、緑色、どれくらい高ければ赤色という決まりはありません。よって、作者が色付けを定義しなければなりません。MeV では、下記の操作で色づけを定義できます。

  • 1) “Display -> Set Color Scale Limits” を選択。
  • 2) 色付けする Lower Limit, Midpoint Value, Upper Limit を入力

追記:Color Scale Limits ウィンドウ内の Color Range Selection には、 ()内に参考までの値が表示されています。Lower Limit に「最小値」、Midoint Value に「中央値」、Upper Limit に「最大値」が表示されますが、右側のボックスへの入力自体は、ユーザーが行わなければなりません。

クラスタリング図の色づけ

例: 色づけを変更した後のクラスタリング図

色づけを変更した後のクラスタリング図

(4) クラスタリング図の出力

作成したクラスタリング図は、画像ファイルとして出力できます。

  • 1) “File -> Save Image” を選択
  • 2) ファイル名を入力。 (.pngを付ける)
  • 3) 保存形式は、PNG を推奨。

クラスタリング図の出力

 

エクセルでデータの並べ替え

エクセルファイルでデータを並べ替える方法です (エクセル2007の場合)。

例)解析結果のエクセルファイルで Zscore の降順に並んでいるのを GeneSymbol の昇順に並び替えたい

1. [ データ ] をクリック。

2. [ 並べ替え ] をクリック。

3. ダイアログで並べ替えの条件を指定します。

 

4. データは GeneSymbol の昇順に並び替えられました。

 

 

簡単!Linuxコマンドでマイクロアレイ解析結果を自由自在1

マイクロアレイ解析結果は、プローブ・シグナル値・アノテーション情報等で
情報が多くなりがちです。タブ区切りデータとしてExcel等で結果を眺めても、
列数が多くなると、煩わしく感じるものです。特に、「必要な列だけ使いたい」、
「ちょっとデータの確認を」という時に、Excel等で開いて、不要な列を削除して、
保存し直して・・・という操作を開く度に行うのは効率的ではありません。

そこで、Linuxのコマンドを用いて、解析結果を簡単に操作する方法を
紹介したいと思います。端末画面のコマンドだけで操作するのは、
最初は難しいと感じる方もいらっしゃるかもしれませんが、慣れてくると
簡単に素早くデータを操作でき、元のデータを直接変更しないので安全という
利点もあります。

今回は、データの表示と列情報の抽出を紹介します。

cat
 端末画面で直接テキストデータを表示(、連結)する時に使います。
  行数の多いデータを表示すると、データが高速に流れて行ってしまうので、
  lessというコマンドと組み合わせて、1ページ単位で表示する事が多いです。

 使い方
 cat test.txt | less
 ※次ページは「スペースキー」、終了には「q」を押します。

cut
  列情報が多い時に、表示する列だけを選択して表示します。
  例では1列目と3列目だけ、3列目以降全てを表示します。
  但し、列の区切り情報は「TAB」区切りです。
  オプションで区切り文字や切り出し方法を変更できます。

 使い方1(1列、3列目表示)
 cat test.txt | cut -f1,3 | less

 使い方2(3列目以降表示)
 cat test.txt | cut -f3- | less

  使い方3(列抽出結果保存)
  cat test.txt | cut -f1,3 > test_cut.txt
 ※test_cut.txtという新しいファイルで結果を保存します。
  元のファイル内容は変更されません。

サンプル>
test.txt(タブ区切りテキストデータ)
ProbeID	PrimaryAccession	RefSeqAccession	GenbankAccession
A_55_Pxx1	ENSMUST000000yyy1	AKxxx1	Mm.nnn1
A_55_Pxx2	ENSMUST000000yyy2	AKxxx2	Mm.nnn2
A_55_Pxx3	ENSMUST000000yyy3	AKxxx3	Mm.nnn3

実行例>
cat test.txt | cut -f1,3 | less
ProbeID RefSeqAccession
A_55_Pxx1       AKxxx1
A_55_Pxx2       AKxxx2
A_55_Pxx3       AKxxx3
 

MeV の使い方 1. (続き)ファイルの読み込み後の操作

ファイル読み込み後の操作方法を説明します。

  • ラベル変更方法
  • グループ名の設定
  • シグナル値の log2 変換

(6) ラベルの表示変更
各プローブにつけられたラベルは、メニューから、”Display -> Gene/Row Labels -> Label by GeneSymbol” などとして変更可能。

*読み込み時に “Automaticaly download” と “Load Annotation” にチェックを入れて、生物種とアレイの製品名を選択すれば、自動的にアノテーションがダウンロードされ、ラベルとして使用できるようになります。すべての製品に対応しているわけではありませんし、ダウンロードされるアノテーションが最新のデータとは限りませんので、表示したいアノテーションは、あらかじめ準備されることを推奨します。

ラベルの表示変更

(7) サンプルのグループ名の設定

  1. Sample Cluster を選択。
  2. サンプルを複数選択。 (連続した領域は、シフトを押しながら複数選択できます。連続していない領域を複数選択する場合は、 Windows は Ctrl キー、 Mac はコマンドキーを押しながら選択します。)
  3. Store Rows as Cluster を選択。
  4. グループ名を入力。
*検定などを行う際は、ここでグループを設定しておくと便利です。ラベルの色も選択して、変更できます。

サンプルのグループ名

設定例: WT と KO の2グループを設定

設定例

(8) シグナル値の log2 変換

  • メニューから、 “Adjust Data -> Log Transformations -> Log2 Transform” を選択。
  • UnLog2 Transform を選択すれば、log2 変換前の値に戻すこともできる。

log2 変換

 

MeV の使い方 1. MeV の起動とファイルの読み込み

Agilent のマイクロアレイデータを想定して、 MeV の操作方法を紹介します。

  1. MeV の起動とファイルの読み込み
  2. 階層的クラスタリング
  3. t-検定

(1) MeV の起動

  • MeV を起動するとメインのメニューバーと、ビューワーの2つのウィンドウが表示される。
  • 複数のビューワーを開く場合は、メニューバーから操作する。解析は、ビューワーで行う。

MeV の起動

 

(2) ファイルの読み込み (Expression File Loader)

  • ビューワーのメニューから、 “File -> Load Data” と選択する。
  • Expression File Loader のウィンドウが表れる。
ファイルの読み込み
(3) 読み込ませるファイルの形式
  • Affymetrix のデータの場合は、 GCOS や Bioconductor で処理された MAS5 や RMA の結果を読み込ませることができる。
  • Agilent, Illumina, その他のアレイデータの形式であっても、タブ区切りのテキストファイルの形式であれば、読み込ませることができる。
  • 1列目が ProbeID、2列目から遺伝子名などのアノテーション(複数列も可能)、アノテーションの次から最後の列までサンプルのシグナル値を並べる。

ファイルの形式

*マイクロアレイデータがエクセルで開けるのであれば、タブ区切りのテキストファイルは、エクセルから「名前を付けて保存」などで保存形式(フォーマット)を「タブ区切りテキスト(.txt)」と指定すれば出力できます。

(4) ファイルの読み込み
  • 1) Browse ボタンからファイルを選択。
  • 2) Single-Color Array を選択。
  • 3) 生物種とアレイを選択。
  • 4) シグナル値の先頭を選択。

ファイルの読み込み

(5) 読み込み後の画面
  • 読み込みが終わるとヒートマップが表示される。

読み込み後の画面