実践MySQL
萌え系データベース本で大体のイメージは掴めたので、イメージが消えぬうちにMySQLを使って自分の実験データのデータベース化!に挑戦。
①自分のマイクロアレイデータのテキストファイル(タブ区切り)を整形する。
cut -f フィールドの位置
上記unixコマンドでprobeIDと各実験区の発現数値データを抜き出す。
②抜き出した発現数値データをratioにする。(gc_ratio.txt)
# usr/local/bin/perl while (<>) { chomp; my ($id,$d0,$d1,$d2,$d3,$d4) = split(/\t/); my $r1 = $d1 - $d0; my $r2 = $d2 - $d0; my $r3 = $d3 - $d0; my $r4 = $d4 - $d0; print "$id\t$r1\t$r2\t$r3\t$r4\n"; }
-- -- database; kishoi -- CREATE TABLE GC_ratio ( probeID varchar(20) NOT NULL, _GC2_1 float(6), _GC3_1 float(6), _GC4_1 float(6), _GC5_1 float(6), INDEX k1 (probeID) ); #CREATE TABLE名はデータファイルと同じにしないとダメ
C:\mysql5\bin>mysql -u mysql -D kishoi < (絶対パス)gc_ratio.sql C:\mysql5\bin>mysqlimport -u mysql kishoi (絶対パス)GC_ratio.txt
発現データのデータベース化は完了。
⑤ 発現データとjoinしたいannotaionデータも同様に準備。
annotation.sql -- -- database; kishoi -- CREATE TABLE annotation ( probeID varchar(20) NOT NULL, affy_def text, hs_tx_def text, mm_tx_def text, INDEX k1 (probeID) ); コマンドプロンプトで C:\mysql5\bin>mysql -u mysql -D kishoi < anntation.sql C:\mysql5\bin>mysqlimport -u mysql kishoi annotation.txt
⑥ 発現データとannotationをjoin
mysql>select t1.*, hs_tx_def from gc_ratio t1, annotation t2 where t1.probeID=t2.probeID limit 100;
以上、長々とメモ。