one-liners_for_fastq_files
Table of Contents
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: 2024/08/27 14:29 by hyjeong