일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 리눅스
- 증권사레포트
- 우분투
- 주식투자
- 생명정보학
- 비교유전체
- 상한가
- 세균
- W패턴
- 지지저항
- 생물정보학
- 스캘핑
- 추천종목
- mummer
- 지지저항선
- 관심종목
- 차트분석
- 매매기법
- 이동평균선
- 분봉차트
- 주식매매
- 쌍바닥패턴
- 기본적분석
- 목표주가
- 초단타
- 돌파매매
- 기술적분석
- 유전체
- 매매일지
- bioinformatics
- Today
- Total
A Fine-Tuned Universe
[CheckM2] 세균유전체 quality check를 위한 checkM2 설치와 명령어 정리 본문
세균 유전체를 연구하기 전에 이용하고자 하는 유전체의 질을 따져보는 것이 중요하다. 유전체 본래의 크기가 모두 시퀀싱이 되었는지 또는 배양이나 시퀀싱 과정에서 오염이 발생하지 않았는지, 크게 이 두 가지 요인을 확인하여 전체적인 genome quality를 유추해볼 수 있다.
CheckM은 유전체의 completenes와 contamination rate을 추정하여 genome quality를 계산해주는 유용한 프로그램인데 2022년 11월에 bioRxiv에 CheckM2가 소개되었다.
https://www.biorxiv.org/content/10.1101/2022.07.11.499243v1.abstract
CheckM1은 lineage-specific marker gene의 존재 유무와 copy number 등을 고려하여 completeness와 contamination rate을 유추하는 방식이었다. 그래서 어떤 분류군의 유전체가 잘 알려져있지 않을 경우 lineage-specific gene 자체가 정의되어 있지 않기 때문에 상위 분류군 (e.g. phylum, domain)에서 정의된 적은 수의 gene set을 이용할 수 밖에 없었고 따라서 overestimation 될 수 밖에 없었다. 또는 obligate pathgen 처럼 reduced genome을 가지고 있는 경우 genome quality를 올바르게 파악할 수 없었다.
CheckM2는 머신 러닝 방법을 도입하여 특정 유전자나 대사 경로를 함께 고려한다고 한다. 논문을 이해하기는 어려워서 구체적으로 어떤 방식으로 작동되는 것인지 알지는 못하겠다. 그러나 대부분의 경우 ribosomal proteins, DNA processing, tRNA biosynthesis 와 같이 대체로 universal할 것으로 생각되는 pathway나 gene의 중요도가 큰 것 같다. 일부 문장을 인용하자면 아래와 같다.
According to their SHAP values, key pathways contributing to completeness predictions across most lineages are ribosomal proteins, as well as genes in the DNA processing and tRNA biosynthesis pathways. There are also individual pathways with substantially higher predictive values for only certain lineages. For example, the membrane transporters pathway in the Patescibacteria have much higher importance values compared to most other lineages which are characterized by genome reduction or streamlining (Supplementary Table 7). Transporters are particularly noteworthy as they are likely to be key to an auxotrophic lifestyle, while also presenting an example of a set of genes that would be missed using only a conserved single-copy marker approach. The high importance placed on these pathways are in line with our biological understanding of microorganisms and give confidence that the machine learning models are
capturing details of underlying biological reality.
CheckM1과 checkM2 간의 결과는 유전체가 잘 알려져있는 lineage에서는 대체로 일치한다고 한다. 그러나 유전체가 매우 작거나 reduce된 경우 (e.g. DPANN, Patescibacteria and Dependentiae) 좀 더 정확한 결과를 보인다고 한다. 속도도 3배 가량 빨라진 것 같다 (During runtime, CheckM2 was consistently faster than CheckM1, processing an average of 348 1.56±0.83 genomes per minute per thread on an AMD EPYC 7702 64-ore Processor, relative to 349 CheckM1’s 0.57±0.19 genomes per minute per thread.) 실제 사용할 때 checkm1은 몇 단계의 명령어를 쳐야했던 반면 checkm2는 한 번의 명령어로 사용할 수 있게 되어 훨씬 더 간편해졌다.
저자들은 앞으로 update 계획도 계속 가지고 있는 것으로 보인다.
Future version of CheckM2 will be iteratively updated and may also include additional annotation databases (e.g. STRING, EggNOG) if this leads to significant improvements in genome quality predictions. CheckM2 is a major step forward in our ability to rapidly and accurately predict genome quality across the microbial tree of life.
설치와 이용은 github checkm2 페이지를 참조하면 된다.
https://github.com/chklovski/CheckM2
중요한 것만 정리해보자면
해보니까 mamba로 설치하는게 가장 간편하고 빠르다
#mamba 설치
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"
bash Mambaforge-$(uname)-$(uname -m).sh
#mamba를 이용해 checkm2 설치
mamba create -n checkm2 -c bioconda -c conda-forge checkm2
그리고 database를 다운로드 받으면 된다
checkm2 database --download
잘 설치되었나 확인하기 위해 test run을 실행시켰다
conda activate checkm2
#도움말 출력
checkm2 -h
#test run 실행
checkm2 testrun
사용법은 아래와 같다
#디렉토리에 여러개의 파일을 넣고 실행할 경우
checkm2 predict --threads 30 --input <folder_with_bins> --output-directory <output_folder>
#몇 개 파일만 분석할 경우
checkm2 predict --threads 30 --input ../bin1.fa ../../bin2.fna /some/other/directory/bin3.fasta --output-directory <output_folder>
폴더 안에 넣어놓은 파일들의 확장자가 fasta가 아니라 gz일 경우 --extension gz 를 덧붙여주면 된다. 추가적인 옵션을 github 페이지를 읽어보길 바란다
'Bioinformatics > 그 외' 카테고리의 다른 글
PULpy를 이용한 세균 유전체의 polysaccharide utilization loci (PUL) 예측 (0) | 2023.05.30 |
---|---|
[roary] query_pan_genome 스크립트로 roary 결과 다루기 (1) core gene의 protein id만 구하기 (0) | 2023.01.05 |