2022년 7월 6일 수요일

맘바(mamba)는 무엇인가? - Metagenome binning 관련 도구를 설치하다가 만난 새로운 세계

위키백과에 의하면 맘바(mamba)는 코브라과 맘바속에 속하는 매우 사납고 재빠른 독사라고 한다. 원래의 뜻은 뱀의 한 종류를 일컫는 것이겠지만, 오늘의 주제는 패키지 매니저인 conda를 대체하기 위해 나온 프로그램인 mamba에 관한 것이다. 경쟁자인 (아나)콘다보다 한 수 위임을 보이기 위해 이런 이름을 지은 것 같다. 

Mamba is a reimplementation of the conda package manager in C++.

귀여운 독사? mamba-org는 package manager(mamba), package server(quetz), 그리고 package builder(boa)로 구성된 새로운 생태계이다. 리눅스 디스트로처럼 자꾸 파편화되는 것은 싫은데... 왜냐하면 계속 공부하면서 따라잡기만 하다가 시간이 다 지나는 것 같기 때문이다.

 

Metagenomic analysis를 도와주는 종합 도구인 MetaWRAP을 설치하기 위하여 mamba를 쓰게 되었다. 설치 설명 문서에 의하면 conda보다 훨씬 빠르다고 한다. 실제로 체감 속도도 빠르다. 이번이 처음 설치는 아니다. 아마 이전 시도에서는 필요한 데이터베이스를 미처 다 설치하지 못해서 실제 활용은 하지 못했었다. MetaWRAP을 metagenome-assembled genome(MAG)의 binning 도구(metaBAT2, CONCOCT 및 MaxBin2)를 종합하여 최적의 결과를 만드는 솔루션으로만 기억하고 있었는데, 실제로는 일루미나 read의 처리와 조립을 담당하는 모듈도 들어 있었다. 괜히 BBduk과 FastQ-Screen을 사용하는 전처리 스크립트를 만드느라 시간을 낭비하고 있었다!

설치 막바지에는 QUAST가 요구하는 GRIDSS, SILVA 및  BUSCO(tools & databases)를 따로 설치하라는 메시지가 나온다.

The default QUAST package does not include:
* GRIDSS (needed for structural variants detection)
* SILVA 16S rRNA database (needed for reference genome detection in metagenomic datasets)
* BUSCO tools and databases (needed for searching BUSCO genes) -- works in Linux only!

To be able to use those, please run
    quast-download-gridss
    quast-download-silva
    quast-download-busco

BUSCO DB를 다운로드하는 과정에서 에러가 발생하였다. 'http error', 301, 'Moved Permanently'라니... BUSCO 웹사이트를 방문하니 v3로 바뀌었다는 안내가 보인다. 에러 메시지를 보면 다음의 세 파일을 수동으로 다운로드하여 path_to_miniconda3/envs/metawrap-env/lib/python2.7/site-packages/quast_libs/busco/ 아래에 복사하란다.

  • https://busco.ezlab.org/v2/datasets/bacteria_odb9.tar.gz
  • https://busco.ezlab.org/v2/datasets/eukaryota_odb9.tar.gz
  • https://busco.ezlab.org/v2/datasets/fungi_odb9.tar.gz 

BUSCO v2 웹사이트Download all datasets 링크를 눌렀을 때 나오는 문서에는 https://가 아니라 http://로 시작하는 구식 URL이 나열되어 있었다.

KRAKEN 2 및 NCBI BLAST nt database를 설치하여  MetaWRAP을 쓸 수 있는 상태로 만들려면 시간이 더 걸릴 것이다. 비록 MetaWRAP이 좋은 도구임에는 틀림이 없으나, 2018년에 처음 논문으로 선을 보였으니(링크) 이에 대한 자체 업데이트 말고도 다른 연구팀에 의한 진보된 도구가 더 나왔을 것이다. 예를 들어 Nextflow 환경에서 돌아가는 nf-core/mag라든지... nf-core/mag는 일루미나뿐만이 아니라 long read를 수용할 수 있다는 것은 매우 바람직하지만, 개발자 Ran Wick도 이제 손을 놓은 porechop을 포함하고 있으니 이를 어쩌란 것인지?

Nextflow는 NanoCLUST와 Bactopia를 통해 조금 경험해 보았다. Dependency를 일일이 설치할 필요가 없어서 편리하기는 하나, metagenome 관련 도구라면 프로그램이 아닌 대용량의 DB를요구할 터인데 이를 어떻게 처리하는지 궁금하다.

아무 생각 없이 MAG의 binning이라는 표현을 썼는데, 이는 정확하지 않다. 엄밀히 말하자면 MAG는 완성도를 점검하여 어느 수준에 오른 bin이라고 한다. 즉 MAG는 binning 결과를 잘 갈고 다듬어서 얻어진 것이지, binning의 대상은 아닌 셈이다. Biostars에 실린 Difference between a bin and a MAG를 조금 인용해 본다.

Basically, MAGs are bins that have been checked for completeness and refined of necessary. Any of your bins that are >90% complete and <10% contaminated can be considered MAGs as they are.


댓글 없음: