2022awk5回答例

練習問題5-2

wget http://www.suikou.fs.a.u-tokyo.ac.jp/yosh_data/2018train/example.vcf.gz
gzip -d example.vcf.gz

練習用のVCFファイルをダウンロードし、example.vcfというファイルに解凍する VCFファイルは変異情報を記述するファイル形式でRAD-seq、全ゲノムシーケンス等で使用される。

1.VCFファイルの最初のほうの##から始まる行はコメント行である。##で始まる行を除外して表示せよ。

grep -v "^##" example.vcf

2.VCFの8列目にはその変異について、色々な情報が記述されている。各情報の区切りとしては「;」が使用される。この8列目に遺伝子名も記載されている(snpEffというツールで)。 snpEffのアノテーションがついている変異については、8列目に「ANN=」から始まる項目が存在する。遺伝子名は「ANN=」から始まる項目の中で「|」区切りで表示される情報の4番目に登場する。 ただし、複数の転写物が重なっている領域は、「ANN=」の項目は「,」で区切られて転写物の数だけ複数回表記される。 example.vcfファイル中にはいくつの遺伝子が記載されているでしょうか。

grep -v "^#" example.vcf |awk -F'\t' '
BEGIN{}

{
    split($8, arr, ";");
    for(i in arr){
        if(arr[i]~"^ANN="){
            split(arr[i],arr2,",");
            for(j in arr2){
                split(arr2[j],arr3,"|");
                data[arr3[4]]=1;
            }
        }
    }
}

END{print length(data)}
' 

結果は「14131」

  • 2022awk5回答例.txt
  • 最終更新: 2022/05/09 08:50
  • by suikou