wget http://www.suikou.fs.a.u-tokyo.ac.jp/yosh_data/2018train/example.vcf.gz gzip -d example.vcf.gz #example.vcfというファイルが解凍される
として練習用のVCFファイルをダウンロードする。 VCFファイルは変異情報を記述するファイル形式でRAD-seq、全ゲノムシーケンス等で使用される。
1.VCFファイルの最初のほうの##から始まる行はコメント行である。##で始まる行を除外して表示せよ。(正規表現を使用すること)
awk ' { if($0!~"^##"){print $0} } ' example.vcf
2.VCFの8列目にはその変異について、色々な情報が記述されている。各情報の区切りとしては「;」が使用される。この8列目に遺伝子名も記載されている。遺伝子名は「ANN=」から始まる項目の中で「|」区切りで表示される情報の4番目に登場する。(各自確認すること) まずは、「ANN=」という文字列が1行辺り1回だけ登場するのか確認せよ。 ヒント:何回マッチしたかを直接調べる関数は今のところawkには無いので、代わりにsplit関数を使用する。
awk ' { if($0!~"^##"){ n=split($0,arr,"ANN="); if(n!=2){print $0} } } ' example.vcf
3.遺伝子名を抽出し、遺伝子名を最後の列に付与したVCFを表示せよ。(正規表現を使用して、「ANN=」よりも前の文字列を削除した後、「|」区切りの4フィールド目を取得せよ。)
awk ' { if($0!~"^##"){ str=$0; sub(".*ANN=","",str); #「ANN=」以前の文字列を消す # print str; #確認用 split(str, arr, "|"); print $0"\t"arr[4]; } } ' example.vcf