eArray などのメーカーサイトからアノテーションファイル(タブ区切りのテキストファイル)をダウンロードして、ドラッグ&ドロップでエクセルで開くと、’MARCH*’ や ‘SEPT*’ などの遺伝子名は ‘*-Mar’ や ‘*-Sep’ のように自動変換されてしまいます。
次回、この問題を回避する方法を記述します。
今回も、引き続き、マイクロアレイ解析結果を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
Agilent のマイクロアレイデータを想定して、 MeV の操作方法を紹介します。
t-検定により、WT vs KO で差のある遺伝子を求める。
検定を行った上で、有意な差を持つ遺伝子群のクラスタリング図を作成。
続きます。
今回も、引き続き、マイクロアレイ解析結果を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に該当する行だけが抽出できました。
Agilent のマイクロアレイデータを想定して、 MeV の操作方法を紹介します。
ヒートマップのクラスタリングには、比較する方向によって、サンプル(横方向) と、遺伝子(縦方向)の2種類に分けられます。どちらの方向でクラスタリングを行うかは、見たいものによって異なります。似ているサンプルを知りたいときは、サンプル方向でクラスタリングを行います。(がん細胞と正常細胞のデータを比較する場合など。)また、発現パターンの似ている遺伝子を知りたい場合は、遺伝子方向でクラスタリングを行います。(特定の遺伝子に興味があり、その遺伝子と発現パターンの似ている遺伝子を探す場合。)
場合によっては、サンプル、遺伝子の両方向で行うこともあるかもしれません。ただ、サンプルが時系列に並んだタイムコースのデータの場合は、サンプル方向のクラスタリングは行わない方が、発現パターンが分かりやすいと思います。
MeV で階層的クラスタリングを行う方法です。
例:クラスタリング結果
クラスタリング図を適切な表示にするには、「色づけ」の作業が必要です。論文などではシグナル値の低い遺伝子を緑色、中間の遺伝子を黒色、高い遺伝子を赤色に色付けされることが多いです。しかしながら、シグナル値がどれくらい低ければ、緑色、どれくらい高ければ赤色という決まりはありません。よって、作者が色付けを定義しなければなりません。MeV では、下記の操作で色づけを定義できます。
追記:Color Scale Limits ウィンドウ内の Color Range Selection には、 ()内に参考までの値が表示されています。Lower Limit に「最小値」、Midoint Value に「中央値」、Upper Limit に「最大値」が表示されますが、右側のボックスへの入力自体は、ユーザーが行わなければなりません。
作成したクラスタリング図は、画像ファイルとして出力できます。
マイクロアレイ解析結果は、プローブ・シグナル値・アノテーション情報等で 情報が多くなりがちです。タブ区切りデータとして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
ファイル読み込み後の操作方法を説明します。
(6) ラベルの表示変更
各プローブにつけられたラベルは、メニューから、”Display -> Gene/Row Labels -> Label by GeneSymbol” などとして変更可能。
*読み込み時に “Automaticaly download” と “Load Annotation” にチェックを入れて、生物種とアレイの製品名を選択すれば、自動的にアノテーションがダウンロードされ、ラベルとして使用できるようになります。すべての製品に対応しているわけではありませんし、ダウンロードされるアノテーションが最新のデータとは限りませんので、表示したいアノテーションは、あらかじめ準備されることを推奨します。
(7) サンプルのグループ名の設定
設定例: WT と KO の2グループを設定
(8) シグナル値の log2 変換
Agilent のマイクロアレイデータを想定して、 MeV の操作方法を紹介します。
(1) MeV の起動
(2) ファイルの読み込み (Expression File Loader)
*マイクロアレイデータがエクセルで開けるのであれば、タブ区切りのテキストファイルは、エクセルから「名前を付けて保存」などで保存形式(フォーマット)を「タブ区切りテキスト(.txt)」と指定すれば出力できます。