GEOにあるCELファイル名を扱いやすくするには?
GEOは遺伝子発現データのアーカイブで、再利用できるデータの宝庫である。だがしかし、多くのユーザがデータをdepositしてきているためファイル名などに一貫性がなく、コンピュータでの一括処理に困ることもたびたびある。
例えば、GSE50378に含まれている4つのマイクロアレイのraw dataのうち、GSM1217731のファイルは、GSM1217731_110720_03_dmso24H.CEL.gzってな具合に実験条件までファイルに書かれていて(それはそれで何の実験であるかのラベルとして便利なのだが)、他のシリーズのデータと一括してRMA正規化などを行う際にはファイル名に一貫性がなく、却って不便である。このGSMのIDのみがファイル名になっている(もちろん、ファイル拡張子がそれ以外に付くが…)のが、一括処理には向くわけである。 実際のデータファイルの名前を見たところ、この種のデータはGEOにおいてGSM数字_任意の文字列.CEL.gzというルールで付けられているようなので、中にある「任意の文字列」を削って、GSM数字.CEL.gzとなるように変換するscriptで対応することにする。
[perl] while(<>) { chomp; $f1 = $_; $f2 = $1.".CEL.gz" if(/^(GSMd+)/); system("mv -i $f1 $f2"); } [/perl]
これをrename.prlという名前で保存し、変更したいCEL.gzファイルが置いてあるdirectoryにcdして以下のコマンドで実行する。
[shell] ls | perl rename.prl [/shell]
もし仮に同じファイル名が出てきても、mvコマンドのオプションに-iを付けてあるのでそこで一度止まって確認を求めてくるようにしてあるのがミソ。うまくいくと、ファイル名が一括で変更される。もう一個づつ、ファイル名を手で書き換えることをしなくても大丈夫です :)
次はBioconductorのaffyパッケージのjustRMA関数を使って処理した後のデータのハンドリングについて。乞うご期待。