One-liners for fastq files
Fastq file의 앞부분에서 1만 read(40,000 라인)를 추출하기
$ head –n 40000 BL21-20x_1.fastq > small_1.fastq 또는
$ awk 'NR == 1, NR == 40000 BL21-20x_1.fastq > small_1.fastq
Interleaved file을 2개의 paired file로 분리하기
$ awk 'BEGIN{OFS="\n"} $2~/^1:/{header = $0; getline seq; getline qheader; getline qseq; print header, seq, qheader, qseq}' interleaved.fastq > file_1.fastq
$ awk 'BEGIN{OFS="\n"} $2~/^2:/{header = $0; getline seq; getline qheader; getline qseq; print header, seq, qheader, qseq}' interleaved.fastq > file_2.fastq 또는
$ sed -n '/1:N/{N;N;N;p;}' interleaved.fastq > file_1.fastq
$ sed -n '/2:N/{N;N;N;p;}' interleaved.fastq > file_2.fastq
Fastq file을 single-line fasta file로 변환하기
$ awk 'NR%4 == 1 {a=substr($0,2)} NR%4 == 2 {print ">" a "\n" $0}' file.fastq > single_line.fasta
Single-line fasta 파일 내의 서열 ID와 길이를 출력하되 긴 서열이 앞으로 나오도록 정렬하기
$ awk 'NR%2 == 1 {id=substr($0,2)} NR%2 == 0 {print id, " ", length($1)}' single_line.fa | sort –k 2 –nr
Multi-fasta 파일 내의 서열들을 분리하여 각각을 별도의 파일로 저장하기
$ awk '/^>/ {OUT=substr($0,2) ".fa"}; {print >> OUT; close(OUT)}' multi_sequences.fasta
Fastq 파일을 fasta 파일로 전환하기
$ sed –n '1~4{s/^@/>/p};2~4p file.fastq > file.fa
참고자료