Table of Contents

[부록] 유용한 팁 모음

EMBOSS, seqtk, BBMap 등 서열 데이터를 용이하게 다룰 수 있는 상당히 많은 종류의 생명정보학 응용프로그램이 이미 존재하고 있으며, 파이썬이나 펄을 이용하여 원하는 기능을 수행하는 스크립트를 손수 작성하는 것도 가능하다. 그러나 리눅스에 기본적으로 설치된 일반 유틸리티를 bash 환경에서 적절히 활용하면 작업의 작업의 능률을 크게 향상시킬 수 있다. 이러한 도구를 사용하여 서열 자료를 다루는 기법을 부록에서 소개하고자 한다. 또한 명령행 환경에서 유용하게 활용할 수 있는 힌트를 제시한다. 일부는 본문에서 다루어진 것도 있다.

FASTA file의 unwrapping

일반적으로 FASTA file은 60 문자마다 개행문자를 삽입하여 줄바꿈을 한다. 이를 다시 펼쳐서 하나의 서열이 하나의 줄로 이루어지게 unwrapping을 실시하면 후속 작업이 매우 편리해질 수 있다. 예를 들어서 큰 FASTA 파일을 천 개 서열 단위로 잘게 분할하려면 unwrapping을 한 다음 ‘split -l 200 unwrapped_fasta.fa’ 명령을 실행하면 된다.

$ awk '/^>/ {printf("%s%s\n",(N>0?"\n":""),$0);N++;next;} {printf("%s",$0);} END {printf("\n");}' infile.fa > unwrapped.fa

Unwrapped FASTA file의 서열 길이는 awk를 사용하여 간단하게 계산할 수 있다.

$ awk '{if(/>/){n=$1}else{print n " " length($0)}}' unwrapped.fa

SED one-liner

유용한 SED 한 줄 스크립트 모음: https://www.pement.org/sed/sed1line.txt

SeqKit

FASTA/Q 파일의 조작을 위한 유틸리티는 상당히 많은 종류가 존재하며 정확하게 같은 작업을 수행하는 것들도 많다. 이중에서 SeqKit(논문GitHub)는 매우 유용하므로 사용법을 익혀 두기를 권장한다.