2017년 10월 11일 수요일

SeqKit: a cross-platform and ultrafast toolkit for FASTA/Q file manipulation (PLoS One 2016)



FASTQA/Q 서열 파일 조작용 유틸리티인 seqtk와 이름이 흡사해서 자칫 잘못하다가 그냥 지나칠 뻔하였는데, 자세히 살펴보니 2016년도에 PLoS One에 발표된 매우 '신선한' 프로그램이었다. 다른 프로그램과 기능을 비교한 표를 인용하여 본다. 못하는 일이 없다!



논문의 제목에도 표현이 되었듯이 SeqKit의 특징을 요약하자면 cross-platform과 ultrafast로 표현할 수 있다. 대부분의 생명정보학 프로그램이 리눅스 혹은 Mac에서 돌아가는 것을 생각한다면 Windows에서도 실행 가능하다는 것은 매력이 아닐 수 없다.

하지만 명령행 방식의 application을 실제 Windows에서 실행하기에는 매우 불편하다(나만 그런가?). 리눅스의 command line 환경(Shell)에 너무 익숙해진 상태라서 그럴 것이다. 환경변수의 개념이 윈도우에서는 어떻게 구현되는지 나는 아직도 잘 모른다. 리눅스 shell이 제공하는 직관적인 편집 기능 또한 윈도우에서는 커맨드 창에서는 먹히질 않으니 더욱 그러하다. Mac을 쓰는 사람은 리눅스의 터미널 창과 거의 흡사한 환경을 이용하게 되니 이야기는 달라진다.

많은 기능을 갖는 super tool이 나온다 해도 과거에 쓰던 프로그램을 다 버리고 새 도구로 전적으로 갈아타는 일은 잘 벌어지지 않는다. 새 도구는 특정 기능이 필요한 때에만 사용하게 되고, 기존에 익숙하게 쓰던 도구를 계속 쓰는 것이다. 그만큼 습관이란 무서운 것. 그리고 아무리 고차원적인 도구가 나온다 할지라도 shell script와 awk, 그리고 sed는 버릴 수 없는 것과 마찬가지이다.

Paired fastq file에서 subsampling을 하는 예제

다른 것들에 비해서 사이즈가 비정상적으로 큰 fastq file의 쌍으로부터 30%의 샘플을 취하는 예제이다. 이보다 더 좋은 방법이 있다면 알려주시길!
seqkit sample -p 0.3 ../ABA59_1.fastq > subABA59_1.fastq
seqkit seq --name --only-id subABA59_1.fastq > id.txt
seqkit grep --pattern-file id.txt ../ABA59_2.fastq > subABA59_2.fastq

댓글 없음: