User Tools

Site Tools


bioinfo:prokaryotic_genome_analysis_manual_2023

Prokaryotic genome analysis manual

이 위키 사이트와 블로그에 흩어져 있는 미생물 유전체 분석 관련 정보를 일목요연하게 정리하기가 쉽지 않아서 아예 별도의 문서 체계를 만들기로 하였다. 2019년부터 내부 교육용으로 만들어 계속 업데이트를 해 온 약 130쪽 분량의 문서 파일 '정해영의 유전체 분석 매뉴얼(v220315)'을 가져다가 불필요한 부분은 제외하고 Ubuntu 환경에 맞게 손질하여(원래는 CentOS용이었음) 여기에 정리하기로 하였다. 비슷한 목적의 글이 이 위키 사이트 내에 있는 경우 참고를 위하여 인용할 예정이다.

본 매뉴얼은 리눅스 및 R의 기본적인 사용법을 알고 있다는 전제 하에 작성한 것이다. 응용프로그램의 설치 방법은 각 섹션에서 최소한도로 설명하였으며, 가급적 철저하게 테스트를 하고 다시 정리를 하려 노력하였으나 현 시점에서 제대로 작동하지 않을 수도 있다. 다시 말해서 필요한 프로그램은 각자 알아서 설치하는 것을 기본으로 하고 있다. 대부분 bioconda 채널에서 제공하므로 큰 어려움은 없을 것이다. 모든 명령어는 프롬프트를 포함하였고, '#'로 시작하는 주석도 포함하고 있으므로 이를 그대로 복사하여 사용할 때에는 적절히 편집하기 바란다. 간혹 특정 conda environment를 언급한 것도 있으나, 이는 무시하기 바란다.

본문에서 응용프로그램의 이름에 링크된 URL은 대부분 프로그램 배포의 중심이 되는 GitHub repository이다(예: shovill). Bowtie 2는 SourceForge를 중심으로 하되 GitHub repository를 링크한 체제를 갖는다. Read the Docs를 통해서 구조화된 매뉴얼 문서를 제공하는 경우도 있다(예: dRep).

간혹 내가 직접 만든 별볼일 없는 Perl/bash/R script도 소개하였다. 우분투에서는 기본 shell이 bash가 아닌 dash이므로 호환성 문제가 생길 수 있다. shebang line을 '#!/bin/sh'에서 '#!/usr/bin/bash' 또는 '#!/usr/bin/env bash'로 바꾸거나, 여기에 나오는 방법에 따라 기본 shell을 bash로 바꾸어서 실행하기 바란다.

실습용 데이터 파일은 아무리 간단한 텍스트 파일이라 해도 zip으로 압축하여 올려 놓았다. 왜냐하면 DokuWiki에서는 보안 때문에 업로드할 수 있는 파일의 확장자에 제한을 걸어 두었기 때문이다.

작업 개시일은 2023년 6월 20일이다. 늦어도 7월 내에 마무리하는 것을 목표로 한다. 어휴… 언제 다 한담.

실행 환경

AMD Ryzen 9 5950X 16-core processor, 128 GB memory로 구성된 데스크탑 리눅스 머신. 일루미나 데이터의 조립, 매핑이나 PGAP 등 비교적 묵직한 프로그램을 돌리려면 이 정도는 되어야…

$ cat /etc/os-release | grep 'VERSION='
VERSION="22.04.2 LTS (Jammy Jellyfish)"
$ uname -a # as of 2023-06-20
Linux ryzen-5950x 5.19.0-45-generic #46~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 7 15:06:04 UTC 20 x86_64 x86_64 x86_64 GNU/Linux

그러나 여기에서 설명한 예제 중 사무용 PC에 설치한 Windows Subsystem for Linux(WSL) 또는 Oracle VirtualBox 내의 우분투에서도 잘 돌아가는 것도 얼마든지 있다.

목차

아래에 제시한 목록 중 일부는 너무 오래 전에 작성한 것이라서 현실에 맞지 않거나, 또는 공부가 부족한 관계로 앞으로도 영원히 채워지지 않을 수도 있다.

  1. R을 이용하여 ANI matrix 자료 다루기 - 클러스터링, 시각화(heatmap 등), 트리자료의 조작 포함 완료
  2. PhyloSift를 이용한 genome 또는 metagenome의 분석 - PhyloSift는 내가 꽤 즐겨 사용하던 도구였으나 이제는 배포용 웹사이트가 제대로 유지되지 않는다. 나의 매뉴얼에서도 퇴출을 해야 될 것 같다.
  3. …to be continued

잡담

예전에는 하나의 conda environment에 되도록 많은 응용프로그램을 설치하기 위해 많은 노력을 했었다. 그러나 요즘은 서로 의존성이 잘 맞지 않는 프로그램은 별도의 환경에 따로 설치하는 쪽으로 바뀌었다. 그렇게 하는 것이 훨씬 깔끔하고, 워낙 디스크 가격도 많이 내려갔으니 아끼려고 노력할 필요도 없다. 다만 내가 실행하려는 프로그램이 어느 환경에 들어가 있는지 잘 파악해 두어야 한다.

리눅스에서 하나의 응용프로그램을 설치하는 방법은 단일한 것이 아니다. 개발자가 얼마나 수고를 하는가에 따라서 다양한 방식의 설치를 지원하게 된다. 예를 들어서 매우 대중적인 미생물 유전체 주석화 프로그램인 Prokka(호주의 Torsten Seemann)의 경우를 보자. Seemann은 무려 일곱 가지의 설치 방법(bioconda, brew, docker, singularity, Ubuntu/Debian/Mint, CentOS/Fedora/RHEL & MacOS)을 설명하였다. 게다가 Prokka는 데비안 패키지로도 나올 정도이다.

또 다른 사례로서 Jason Sahl의 LS-BSR을 살펴보자. Conda를 이용하여 python v3.9 환경을 만들고, 여기에 필요한 여러 프로그램을 설치한 뒤, git clone을 통해 ls_bsr 프로젝트를 가져다가 직접 셋업 스크립트를 돌려야 한다. Prokka와 비교한다면 설치 방법은 매우 제한적이고, 다소 불편하기까지 하다.

Python 스크립트만으로 이루어진 ncbi-genome-download는 또 어떠한가? Conda base environment에서 pip로 설치할 수도 있고, conda package를 이용할 수도 있다. 설치를 어떻게 했는지 잊어버린 다음 재설치/업그레이드 또는 삭제를 하면서 서로 뒤섞이지 않도록 요령껏 운영해야 할 것이다.

따라서 본 매뉴얼에서 설명한 유전체 분석 업무를 수행하기 위해 필요한 응용프로그램을 반드시 '이 한가지 방법'으로만 설치해야 된다고 못박아 말할 수는 없다. 프로그램에 따라서는 분석에 필요한 대용량의 데이터베이스 파일을 가져와야 하는 것도 있으며, 이 경우는 별도의 설치 스크립트를 실행하도록 만든 것이 많다.

생명정보학 연구를 위한 응용프로그램 설치 방법의 '천하통일'은 앞으로 영원히 이루어지지 않을 것이다. 각자 나름대로의 방법을 추구해서 자신에게 잘 맞도록 손질하는 것이 최선이다.

bioinfo/prokaryotic_genome_analysis_manual_2023.txt · Last modified: 2023/08/17 09:10 by hyjeong