title: "Linux bioawk 사용법"
cleanUrl: "learn-bioawk"
description: "생물정보학 파일 포맷 처리를 간편하게 해 주는 bioawk 사용법에 대해 정리합니다."

생물정보 데이터는 기본적으로 줄 기반 텍스트 데이터인 경우가 많다. 그래서 간단한 데이터 처리는 따로 스크립트를 짜지 않고 awk, sed 등 줄 단위로 빠르게 연산 가능한 리눅스 커맨드들을 pipe (|)로 연결해서 이용하는 편이 코딩 시간, 분석 속도 면에서 가장 빠른 편이다.

다만 코드가 간결할수록 좋은 리눅스 커맨드들의 특성 상, sam, vcf, bed, gff, fasta, fastq 등 루틴하게 자주 사용하는 데이터들을 파싱하는 boilerplate들을 직접 매번 구현하는 것은 조금 귀찮다. 그래서 오히려 스크립트를 짜는 쪽이 덜 번거로운 경우가 많더라.

bioawk는 이러한 문제를 해결해주는 좋은 도구이다. 알아두면 간단한 분석 할 때 편하다!

https://github.com/lh3/bioawk

요약

설치

$ conda install -c bioconda bioawk

Quickstart

Fasta 파일

$ bioawk -c fastx '{print ">"$name; revcomp($seq)}' seq.fa.gz
$ bioawk -c fastx '{print ">"$name; print length($seq)}' seq.fa.gz

SAM/BAM 파일