練習問題① アノテーション情報の付与 遺伝子(正確にはトランスクリプト)発現情報ファイル http://www.suikou.fs.a.u-tokyo.ac.jp/yosh_data/2018train/take.tpm.txt と、各遺伝子のBlast検索結果ファイル http://www.suikou.fs.a.u-tokyo.ac.jp/yosh_data/2018train/take.blastn.txt から、次のファイルを作成せよ 1.Blastの結果ファイルのうち、E-value <= 1e-10 (0.0000000001)以下のトップヒットを抽出せよ。(blastの結果はトップヒットが必ず先頭に来ることを利用する。)  配列arrayの要素keyに値が入っているかどうかは、if(array[key]=="")でチェックできます。 ``` awk -F'\t' ' { if($11 <= 1e-10){ if(data[$1]==""){ data[$1]=$2; print $0; } } } ' take.blastn.txt ``` 2.遺伝子発現情報ファイルに1.で抽出された遺伝子名を付与せよ。  ファイルを2つ同時にawkに渡す。まずはBlastの結果ファイルを配列に格納し、次に発現情報ファイルを読み込みながらBlastの結果をアノテーションする。 ``` awk -F'\t' ' { if(FILENAME==ARGV[1]){ if($11 <= 1e-10){ if(data[$1]==""){ data[$1]=$2; } } } if(FILENAME==ARGV[2]){ print $0"\t"data[$1]; } } ' take.blastn.txt take.tpm.txt ``` 3.遺伝子名を付与することが出来た既知の遺伝子は全部で何個、何%か? ``` awk -F'\t' ' { if(FILENAME==ARGV[1]){ if($11 <= 1e-10){ if(data[$1]==""){ data[$1]=$2; } } } if(FILENAME==ARGV[2]){ cntall=cntall+1; if(data[$1]!=""){ cnthit=cnthit+1; } print $0"\t"data[$1]; } } END{print cnthit, cnthit/cntall*100} ' take.blastn.txt take.tpm.txt ```