FASTQファイルをftp://ftp.ddbj.nig.ac.jp/ddbj_database/dra/fastq/DRA000/DRA000520/DRX001286/DRR001823.fastq.bz2 からダウンロードし、
bzip2 -d DRR001823.fastq.bz2
とコマンド入力してファイルを解凍しておく。
1.FASTQファイルのリード数を算出せよ
FASTQは4行で1リードを記述するファイル形式です。
回答例
awk '{if(NR%4==1){cnt=cnt+1}} END{print cnt}' DRR001823.fastq
もしくは、下記のように改行・スペースを入れても良い。以後分かりやすいように回答例では改行を入れてあるが、実際には上記のように書くことが多い。
awk ' { if(NR%4==1){ cnt=cnt+1 } } END{print cnt} ' DRR001823.fastq
20336リード
2.リードの平均長を算出せよ
文字列の長さはlength(“文字列”)を使えば取得できます。
awk ' { if(NR%4==2){ cnt=cnt+1; cnt2=cnt2+length($0); } } END{print cnt,cnt2,cnt2/cnt} ' DRR001823.fastq
平均長:502.161 bp
3.最も長いリード長、短いリード長はそれぞれいくつか
最大リード長
awk ' { if(NR%4==2){ if(length($0)>max){ max=length($0) } } } END{print max} ' DRR001823.fastq
629 bp
最小リード長
awk ' BEGIN{min=1000} #適当に大きな値をあらかじめ代入しておく { if(NR%4==2){ if(length($0)<min){ min=length($0) } } } END{print min} ' DRR001823.fastq
340 bp
4.最も長いリード長を持つ配列を(1つでよいので)表示せよ
awk ' { if(NR%4==2){ if(length($0)>max){ max=length($0); maxseq=$0; } } } END{print max, maxseq} ' DRR001823.fastq
TGATACGTCTTCCTACGGGAGGCAGCAGTGGGGAATATTGGACAATGGGCGCAAGCCTGATCCAGCCATGCCGCGTGAGTGATGAAGGCCCTAGGGTTGTAAAGCTCTTTCGCCAGGGACGATAATGACGGTACCTGGATAAGAAGCCCCGGCTAACTTCGTGCCAGCAGCCGCCGGTAATACGAAGGGGCGGTANCGTTGTTTCGGAATACACTGGGCGGTAAACGACGCACGTAAGGCGGGATCTTTAACGTTACAGGGGTGGGAAAATAACCCCGACGGGCGTTCCTAAACCCTACCGGGAAACCGTAGCCCTTTTCGTAATAACCTTGGGAAGGGGTCCGTTCCGAGGTCCGGGACGGAAGGTTGGAGTGGTAACGTAGCGAGTGTTAGAAGGTGGAAATTAACGTTAGATAATTTCGTCCAAGAAACAACCCAACGTTGGCGGACGGAACGGGCGGTCCGACCTACGTCCGGTACCCGGTTCCGTACGGACCGTCGTAGGTAGGTACGGAACGGAACGGTACGGGGTAGGGACGGAAACGAAACGAAGTAAGTAAGTAACCGGTAACCGGTACCGTCGTACGACGTACGACGACGACGACGACAACGGAAGGTAAGGTAGNGNN