User Tools

Site Tools


one-liners_for_fastq_files

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
  • Interleaved file의 작성은 velvet 패키지의 contrib/shuffleSequences_fasta에 포함된 유틸리티를 사용하면 된다.

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

참고자료

  • AWK와 SED 등을 이용한 서열 조작을 위한 스크립트 예제(v20150922) PDF download
one-liners_for_fastq_files.txt · Last modified: 2021/03/17 13:09 by 127.0.0.1