레이블이 qiime2인 게시물을 표시합니다. 모든 게시물 표시
레이블이 qiime2인 게시물을 표시합니다. 모든 게시물 표시

목요일, 2월 15, 2024

QIIME2의 q2-feature-classifier는 과연 쓸만한가?

QIIME2가 출시된지도... 5년 밖에 안됐군요.  꽤 된줄알았는데..

여튼 오늘은 QIIME2 내부에 있는 classifier에 대한 논문이 있어 gemini에게 한번 읽혀봤습니다.

논문 제목은 "Optimizing taxonomic classification of marker-gene amplicon sequences with QIIME 2’s q2-feature-classifier plugins" 되겠습니다.

DOI: 10.1186/s40168-018-0470-z



연구 목적과 배경

미생물 군집 분석은 다양한 분야에서 사용되는 중요한 기술입니다. 미생물 군집의 구성을 이해하면 질병, 환경, 식품 등의 분야에서 중요한 정보를 얻을 수 있습니다.

마커 유전자 증폭 서열은 미생물 군집 분석에서 널리 사용되는 방법입니다. 이 방법은 미생물의 특정 유전자를 증폭하여 그 유전자의 서열을 분석하는 것입니다.

마커 유전자 증폭 서열의 계통 분류는 미생물 군집 분석의 중요한 단계입니다. 계통 분류를 통해 미생물의 종을 식별할 수 있습니다.

그러나 마커 유전자 증폭 서열의 계통 분류는 몇 가지 어려움이 있습니다. 첫째, 마커 유전자 증폭 서열은 짧기 때문에 계통 분류가 어렵습니다. 둘째, 마커 유전자 증폭 서열에는 오류가 있을 수 있습니다.


연구 방법

이 연구에서는 QIIME 2의 q2-feature-classifier 플러그인을 사용하여 마커 유전자 증폭 서열의 계통 분류를 최적화하는 방법을 연구했습니다.

q2-feature-classifier 플러그인은 다양한 계통 분류 방법을 제공합니다. 이 연구에서는 머신 러닝 기반 방법, 정렬 기반 방법, 그리고 두 가지 방법을 결합한 방법을 평가했습니다.

연구에서는 마커 유전자 증폭 서열을 사용하여 생성한 가상 미생물 군집과 실제 미생물 군집을 사용하여 계통 분류 방법의 성능을 평가했습니다.


결과와 논의

연구 결과, q2-feature-classifier 플러그인은 다른 일반적으로 사용되는 방법보다 더 정확한 계통 분류를 제공하는 것으로 나타났습니다. 특히, 종 수준의 정확도는 90% 이상으로 나타났습니다.

연구진은 계통 분류 방법의 성능을 최적화하기 위해 매개변수 조정을 중요하게 강조했습니다. 또한, 계통 분류 방법의 성능을 평가하기 위한 프레임워크인 tax-credit를 개발했습니다.


결론

이 연구는 q2-feature-classifier 플러그인이 마커 유전자 증폭 서열의 계통 분류를 위한 강력한 도구임을 보여주었습니다. 이 플러그인은 생명공학 전공자가 아닌 분들도 쉽게 사용할 수 있도록 설계되었습니다.


추가적으로 q2-feature-classifier를 사용하는 이유와 다른 classifier와 비교도 한번 요청해보았습니다.

1. 높은 정확도: q2-feature-classifier는 다양한 계통 분류 알고리즘을 제공하며, 이는 다른 일반적으로 사용되는 도구들보다 높은 정확도를 제공하는 것으로 입증되었습니다. 특히, 종 수준(species level)의 정확도는 90% 이상을 달성할 수 있습니다.

2. 사용 편의성: q2-feature-classifier는 QIIME 2 프레임워크에 완벽하게 통합되어 있어 사용하기 매우 편리합니다. 명령줄 인터페이스(command-line interface) 또는 QIIME 2 GUI를 통해 쉽게 사용할 수 있습니다.

3. 다양한 기능: q2-feature-classifier는 다양한 기능을 제공합니다. 

 - 다양한 계통 분류 알고리즘 지원:

    * 정렬 기반(alignment-based) 방법: BLAST, VSEARCH

    * 머신 러닝 기반(machine learning-based) 방법: naive Bayes classifier, support vector machine (SVM), random forest

    * 두 가지 방법을 결합한 하이브리드(hybrid) 방법

 - 분류 결과 시각화:

    * 종류-풍부도 막대 그래프(taxa bar charts)

    * 계통발생학적 나무(phylogenetic trees)

 - 분류 결과 필터링 및 워크플로 통합:

    * 신뢰도(confidence) 기반 필터링

    * 계통 분류 수준(taxonomic level) 기반 필터링

    * 다른 QIIME 2 플러그인과의 통합

4. 활발한 커뮤니티: QIIME 2는 활발한 사용자 커뮤니티를 가지고 있으며, 이는 q2-feature-classifier 사용에 대한 도움과 지원을 제공합니다. 

5. 지속적인 개발: q2-feature-classifier는 지속적으로 개발되고 있으며, 새로운 기능과 개선된 성능을 제공합니다.


- 다른 Classifier와 비교

| Classifier  |              알고리즘              |   장점    |   단점    |
|-------------|-----------------------------------|----------|----------|

|q2-feature-  다양한 알고리즘 지원 (BLAST, VSEARCH,|높은 정확도,|알고리즘   |
|classifier   | naive Bayes classifier, SVM,      |다양한 기능,|선택에 따른|
|             | random forest, 하이브리드)         | 사용 편의성|성능 차이   | 
|Kraken        | k-mer 기반                       | 빠른 속도 |낮은 정확도,|

|              |                                 |          |종 수준 분류|
|              |                                 |         |어려움      |
| Centrifuge   | FM-index 기반                    |빠른 속도 |낮은 정확도,|
|              |                                 |         |종 수준 분류|
|              |                                 |         |어려움      |
| CLARK        | BLAST 기반                      |높은 정확도 |느린 속도   |
--------------┴-------------------------------------------┴----------┘

결론적으로, q2-feature-classifier는 높은 정확도, 다양한 기능, 사용 편의성, 활발한 커뮤니티, 지속적인 개발 등의 장점을 가진 강력하고 다목적적인 플러그인입니다. 마커 유전자 증폭 서열의 계통 분류를 위한 최고의 선택입니다.


그렇다고합니다. :)


출처: @ye._.vely618


토요일, 8월 05, 2023

microbiome 시퀀싱 데이터는 얼마나 잘라내야 결과가 좋을까? for DADA2

요즘 QIIME2를 뒤적이고 있는 차에 쓰임이 많아 보이는 논문이 하나 있어서 투적해봅니다. (물론 greengene2만큼일련지는...)

Trimming conditions for DADA2 analysis in QIIME2 platform

doi: https://doi.org/10.11620/IJOB.2021.46.3.146


사실 QIIME2를 사용할 때뿐만 아니라 metagenome 분석을 할 때 한번은 짚고 넘어가야 하는 내용을 다루고 있어서 거쳐야 하는 단계를 가볍게 넘어가게 할 수 있지 않을까 합니다.

바로 metagenome분석시 qiime2에서 DADA2를 이용한 최적의 read trimming 조건 찾기 입니다.


metagenome 연구를 할 때 일반적으로 일루미나 플랫폼의 V3/4 region을 target으로 시퀀싱을 진행하게 됩니다. 16S rRNA가 종 동정에 많이 사용되고 16S rRNA의 가변 영역인 V1~V9중 해상도가 괜찮은 부분인 V3/4라고 연구되어 있기 때문에 일반적으로 많이 사용하고 있죠

V3/4은 대략 440bp정도이므로 안타깝게도 일루미나의 한쪽 read만으로는 V3/4 영역을 커버할 수가 없습니다. 그래서 pair로 짝을 이뤄 중간에 overlap되게 하여 시퀀싱을 진행하고 overlap되는 서열을 활용하여 merged/stitch 하게 됩니다.

이때 Read1에서는 얼마나 잘라내고 Read2에서는 얼마나 잘라내야지 내 피 같은 연구비를 들여서 생산한 데이터를 최대로 활용하면서 좋은 데이터를 확보할 수 있을까? 가 중요하게 됩니다.

그래서 이 연구팀은 QIIME2의 DADA2를 사용하여 Read1과 Read2를 얼마나 trimming해야지 내 데이터에서 좋은 결과를 뽑아낼 수 있는지에 대한 다양한 실험을 통해 확인하였습니다.

QIIME2에는 DADA2말고 deblur도 있는데 delbur는 왜 안 했어? 라고 하신다면 안타깝게도 deblur는 single read에서 작동된다고 되어 있으니 deblur 결과가 궁금하신 분께서는 직접 해보시는 것도 좋은 선택지 같습니다. :)


여튼 Read1과 Read2의 여러 수치의 trimming 조건과 trimming후 read merge/stitch 이후 chimera 서열로 보이는 데이터의 양, 그리고 trimming에 따라 얻어진 데이터의 미생물의 풍부도(Alpha Diversity)까지, 세심하게 trimming에 따른 결과 영향까지 확인해서 논문에 실어주었네요

사실 빡빡 trimming해서 좋은 quality base들만 남겨 논들 read merge/stitch가 되지 않고, 죄다 chimera라고 나와버리면 무용지물이다 보지 trimming 이후에 trimming의 영향에 대해서도 함께 평가해서 적절한 trimming 지점을 제안해주고 있습니다. 

결과적으로 Read1은 1사분위의 read quality가 Q20가 되면 이제 그 위치부터는 헤어져야 하고, Read2는 Read1과 overlap되는 길이가 16bp이상만 되도록 조절(trimming)해주면 결과에 나쁜 영향을 미치지 않는 -개인적으로는 망하지는 않는 조건이지 않을까 합니다- trimming 조건이라고 얘기하고 있습니다.


그럼 다음에 또 재미있는 내용으로 찾아와 보도록 하겠습니다.


출처: @ye._.vely618


토요일, 12월 14, 2019

qiime2 -시작하기1-

qiime을 한번 실행시켜 봤습니다.

저는 완벽한 ubuntu 시스템이 아닌 윈도우에서 지원하는 linux subsystem에서 ubuntu 18.04 LTS를 설치해서 사용하고 있습니다.

그래서 약간 이글을 보시는 분들과 환경이 다소 차이가 날 수 있는걸 감안하시고 봐주시기 바랍니다. :)
-근데 지금까지 크게 차이 안나는거 같습니다. ㅎㅎ 소스 컴파일을 빡시게 해봐야 좀 차이가 나는걸 느낄수도...

WSL의 ubuntu를 시작하면 걍 shell창이 뜹니다.

그러면 qiime2를 원할하게 사용하기 위해서
conda env를 활성화 시켜보겠습니다. (물론 꼭 conda를 활성화해서 안해도 사용 가능핧!!..)

$conda activate qiime2-2019.10
하면 다음과 같이 conda env환경이 활성화 됩니다.
(qiime2-2019.10)$

다음과 같이 qiime 명령어를 실행시켜주면
(qiime2-2019.10)$qiime






















사용가능한 명령어들을 표시됩니다.
사용 방법은 모 알고 있다 싶이 qiime뒤에 명령어 입력해서 엔터치시면
(qiime2-2019.10)$qiime [command]

또 각 명령어에서 사용 가능한 sub command들을 볼 수 있습니다.

이제 qiime2를 본격적으로 사용하시기 전에 qiime glossary를 잘 일독하시고 사용하시면되겠습니다.

튜토리얼 페이지 상단에 이렇게 적혀있습니다.
Abandon all hope, ye who enter. If you have not read the glossary.
(신곡을... ㅋㅋ 센스가..) 꼭 읽으십시요!!

여튼.. 저는 glossary없이 qiime2를 접했을 때 첫 관문이 artifact, artifact를 이런 의미로  사용할 줄이야.. artifact는 원래 제거 대상아니었나요 Orz

qiime1으로 파이프라인 셋업해본 분이시라면 이건 모 신세계 아니겠습니까!!
일목요연한 명령어 리스트를 명령어 하나로 볼 수 있다니.. 아놔

그럼 다음에 또 명령어 몇개 실행해보고 다시 와보겠습니다. :)


출처: @sana_twice.09

※ 짧게라도 정리해서 일주일에 한개는 포스팅 할 줄 알았는데 이거 모 보름에 하나 겨우겨우 하네요.. ㅋ 정신을 가다듬을 정신이 없어서... 일단 되는대로 한번 업데이트 하는걸로...

일요일, 12월 01, 2019

qiime2 설치편

지난번 qiime2 파헤치기에 이어
이번에는 설치편!!
WSL을 이용하여 우분투 18.04 LTS에 설치하는것처럼 흉내를 내보겠습니다.

윈도우 10에서 WSL을 활성화시키고 Ubuntu를 설치하면 되겠습니다.
자세한 내용은 >여기< 를 참고해주시면 될것 같습니다.
(저도 이분의 블로그를 보고 WSL 셋팅하고 ubuntu 설치했습니다. :) )

위에서 우분투 설치후 apt-get update와 build-essential같은 패키지 설치해 주시면 다음 작업에 크게 문제가 생길일은 없으니 설치하라고 하시는거 다 설치해주시면됩니다만 생정보도구중에 특이하게 요구하는 패키지를 사용하는 프로그램 쓰시는 분이라면 알아서 하실만하리라고 봅니다. :)

여튼 ubuntu 업데이트까지 되고 나면

qiime2를 설치하기 위해 conda를 설치하시면됩니다.

conda는 miniconda2를 사용하였고 자세한 설치 화면은
>여기< 를 참고하시면되겠습니다.

$wget https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh
$sh Miniconda2-latest-Linux-x86_64.sh

miniconda2를 설치한 이후에는 qiime2의 설치 안내 페이지에 나와 있는대로
진행해주시면됩니다. 자세한 내용은 >여< 에 나와있습니다.

$conda update conda
$conda install wget
$wget https://data.qiime2.org/distro/core/qiime2-2019.10-py36-linux-conda.yml
$conda env create -n qiime2-2019.10 --file qiime2-2019.10-py36-linux-conda.yml

conda에 설치된 qiime2를 사용하려면 qiime2가 설치된 conda환경인 qiime2-2019.10을 활성화 시켜주면됩니다.
$conda activate qiime2-2019.10

활성화된 환경을 비활성화 하려면 다음과 같이..
$conda deactivate

일단 설치는 했습니다.

다음에 사용해보아요~ :) 제발~


출처: @sana_twice.09

금요일, 4월 19, 2019

qiime2 파헤치기

간만에 qiime2도 간만에 공부하려고 docs를 한번 읽어보는 겸해서 정리도 같이? :)

그럼 qiime2가 무엇이냐 우리 훃님께서 만든 microbiome분석 파이프라인,
아니 파이프라인을 뛰어넘어 토탈 분석 패키지(?)이라고 할 수 있는 툴입죠.
*토탈패키지라고까지 얘기하는 이유는 qiime1을 사용해보신 분이라면 감동의 눈물이.. ㅋ

Core Concepts는...

qiime2는 qza, qzv와 같은 독자적인 파일 형식을 지원하고 있네요
qiime1에서는 듣도보지도 못한.. 개념이라서 처음에 artifacts라는 단어를 보고
artifacts는 제거해야 제맛아니겠슴까 했는데..  (   ' ')


일단 간단히 qiime2는 qiime1과 달리 지저분하게 파일을 만들지 않고 qza, qzv 두개의 파일로 관리를 시도 하고 있습니다.

qza는 텍스트 파일을 조금더 관리가 용이하도록 json이나 table 형식으로 만든것 같고
qzv는 시각화 파일로 plot이나 그래프를 나름에 규격에 맞게 qza파일과 같이 구조화된 형식으로 만들어놓고 시각화하기 편리하도록 구현해 놓았다고 보면 될것 같습니다.
https://view.qiime2.org라는 사이트를 운영해서 qzv파일만 있으면 언제든지 확인 할 수 있도록 만든것 보면 예상 가능하죠. 어느 멍청한 놈이 만들어도 우리 사이트에 qzv파일 올리면 내용 볼수 있게 우리가 만들었어 라고 하고 있죠.

그래서 qiime2 처음 나왔을때 상용화하려고 하려나 하는 생각을 했음죠
예전에는 그냥 순수 bio업자들에게 친숙하지 않은 plain txt파일이나 csv파일만
디립다 생성하고 있는데 파일 내용을 굳이 보여주지 않지만
웹페이지에 파일 가져다 놓으면 이쁜 그림이 뙇!!

두번째로 공식적으로 plugin을 사용하여 확장성을... (이것 또한 상용화의 냄새가...)
잡았다고 얘기하고 싶겠지만... 일단 제가 qiime2를 한번도 안써봐서
모 내머리에서 번뜩 생각나는 것들인 이미 plugin으로 만들어놨을듯한..
어차피 루틴하게 쓸만한 plugin은 이미 다 있을테니 가져다가 사용하면 될듯 합니다.
plugin개발하고 싶으시면 >> 여기로 (전 너님이 개발하면 유용하게 쓰겠습니다. ㅎㅎ )

모 처음으로 qiime2 첫 페이지를 읽어 보았습니다.

다음에는 install qiime2를 해보고 싶은데..
사용할수 있는 서버가 닫혀있어서...
테스트를 해볼 수가 없네요 ㅎㅎ :)

여튼 사적으로 접근 가능한 서버가 열리면 한번 테스트해서 자세한 리뷰한번 해보는걸로 :)

ps. 이제 고대 유물이 된 qiime1 base로 만든 파이프라인은 어디에 팔아먹나...


출처: SM


화요일, 11월 29, 2016

QIIME2

QIIME2 출시(된지는 한달여정도... 지났지만..)

설치만 해두려고 qiime2 설치하다가 환경 설정이 꼬였는지
쓰고있던 qiime 1이 작동안해서 멘붕이 왔다는건 비밀;;; 빼고는
아직까지는 호감인 녀석!

여튼 이번 qiime2 출시하면서 변화를 준게 완전히 qiime 플랫폼을 만든듯..
통상적으로 사용하였던 파일 포맷이 아닌 아예 새롭게
qza/qzv를 만들어서 사용한다는... 음..
qiime2를 설치하지않은 사용자들을 위한 qza/qzv view사이트까지
(모하자는거지... 유료화로 바꿀건가)

그리고 CLI기반이 아닌 q2studio라는 GUI 인터페이스를 제공한다는
기쁜소식!! (인지 아닌지는 까봐야..)
GUI는 자동화하기 귀찮은데... 제길..

qiime1보다 report가 얼마나 세련되졌는 확인할 필요가 있고
그에 따라 유료화를 점쳐볼수도...
그러므로 나는 일단 소스 다운로드;;;;