title: "Linux bioawk 사용법"
cleanUrl: "learn-bioawk"
description: "생물정보학 파일 포맷 처리를 간편하게 해 주는 bioawk 사용법에 대해 정리합니다."
생물정보 데이터는 기본적으로 줄 기반 텍스트 데이터인 경우가 많다. 그래서 간단한 데이터 처리는 따로 스크립트를 짜지 않고 awk
, sed
등 줄 단위로 빠르게 연산 가능한 리눅스 커맨드들을 pipe (|)로 연결해서 이용하는 편이 코딩 시간, 분석 속도 면에서 가장 빠른 편이다.
다만 코드가 간결할수록 좋은 리눅스 커맨드들의 특성 상, sam
, vcf
, bed
, gff
, fasta
, fastq
등 루틴하게 자주 사용하는 데이터들을 파싱하는 boilerplate들을 직접 매번 구현하는 것은 조금 귀찮다. 그래서 오히려 스크립트를 짜는 쪽이 덜 번거로운 경우가 많더라.
bioawk
는 이러한 문제를 해결해주는 좋은 도구이다. 알아두면 간단한 분석 할 때 편하다!
bioawk
는 생물정보학 분석에서 주로 사용되는 일부 파일 포맷들을 자동으로 파싱하여 awk
를 사용할 수 있게 해 주는 도구이다.
-c [file format]
처럼 파일 포맷을 지정한다.bioawk -c help
로 지원되는 파일 포맷을 확인할 수 있다. (sam
, vcf
, bed
, gff
, fastx
정도 지원)samtools view
로 출력해서 넘겨줘야 함.awk
변수로 컬럼명을 이용할 수 있는 기능도 있다.$ conda install -c bioconda bioawk
$name
, $seq
변수, revcomp
함수 사용. (AGCTU
→ AAGCT
로 변환해줌.)$ bioawk -c fastx '{print ">"$name; revcomp($seq)}' seq.fa.gz
$ bioawk -c fastx '{print ">"$name; print length($seq)}' seq.fa.gz
$flag
변수 사용