해당 내용은 QIIME 2 Tutorial을 바탕으로 작성된 글로, Reference의 URL에서 원본 내용을 확인할 수 있습니다.
이 튜토리얼이 튜토리얼 중 가장 핵심이 되는 내용을 담고 있다.
데이터 정보
Human microbiome samples (Illumina HiSeq, V4 16S rRNA sequence): 항생제 사용의 영향을 보기 위해 두 사람 몸의 네 곳에서 다섯 번 얻은 샘플들
- input/barcodes.fastq.gz
- input/sequences.fastq.gz (multiplexed, single end sequencing)
- sample-metadata.tsv
- gg-13-8-99-515-806-nb-classiier.qza: Classifier
데이터 분석
# 1. IMPORTING
qiime tools import
--type EMPSingleEndSequences
--input-path input/
--output-path input.qza
# 2. Demultiplexing
qiime demux emp-single \
--i-seqs input.qza \
--m-barcodes-file sample-metadata.tsv \
--m-barcodes-column barcode-sequence \
--o-per-sample-sequences demux.qza \
# Check Demultiplexing: 1) 각 샘플의 reads 수, 2) read quality 및 length를 알 수 있음
qiime demux summarize \
--i-data demux.qza \
--o-visualization demux.qzv
# 3. Quality control
qiime quality-filter q-score \
--i-demux demux.qza \
--o-filtered-sequences demux-filtered.qza \
--o-filter-stats demux-filter-stats.qza
# Check Quality control: QC 이후 각 샘플에 남은 reads 수를 확인 가능
qiime metadata tabulate \
--m-input-file demux-filter-stats.qza \
--o-visualization demux-filter-stats.qzv
# 4. Denoising (Deblur)
qiime deblur denoise-16S \
--i-demultiplexed-seqs demux-filtered.qza \
--p-trim-length 120 \
--o-representative-sequences rep-seqs.qza \ # FeatureData[Sequence]
--o-table table.qza \ # FeatureData[Frequency]
--p-sample-stats \
--o-stats deblur-stats.qza
# Check Denoising (Deblur): denoising 이후 각 샘플에 남은 reads 수를 확인 가능
qiime deblur visualize-stats \
--i-deblur-stats deblur-stats.qza \
--o-visualization deblur-stats.qzv
# Check Frequency: Feature(read 종류)와 Frequency(read 수)에 대한 정보를 줌
qiime feature-table summarize \
--i-table table.qza \
--o-visualization table.qzv \
--m-sample-metadata-file sample-metadata.tsv
# Check Sequence: 실제 sequence를 확인하고, NCBI nt DB에 BLAST로 검색해볼 수 있다.
qiime feature-table tabulate-seqs \
--i-data rep-seqs.qza \
--o-visualization rep-seqs.qzv
# 5. Phylogenetic Tree (for 다양성 분석)
qiime phylogeny align-to-tree-mafft-fasttree \
--i-sequences rep-seqs.qza \ # FeatureData[Sequence]
--o-alignment aligned-rep-seqs.qza \ # 1) MSA (mafft)
--o-masked-alignment masked-aligned-rep-seqs.qza \ # 2) Remove highly variable positions in MSA
--o-tree unrooted-tree.qza \ # 3) Generate tree (FastTree)
--o-rooted-tree rooted-tree.qza # 4) Midpoint rooting (Phylogeny[Rooted])
# 6. Diversity analysis (Alpha & Beta)
qiime diversity core-metrics-phylogenetic \
--i-phylogeny rooted-tree.qza \ # Phylogeny[Rooted]
--i-table table.qza \ # FeatureData[Frequency]
--p-sampling-depth 1103 \
--m-metadata-file sample-metadata.tsv \
--output-dir core-metrics-results
# Statistical test (Alpah diversity): Boxplots and Kruskal-Wallis test
qiime diversity alpha-group-significance \
--i-alpha-diversity core-metrics-results/evenness_vector.qza \
--m-metadata-file sample-metadata.tsv \
--o-visualization core-metrics-results/evenness-group-significance.qzv
# Statistical test (Beta diversity): PERMANOVA
qiime diversity beta-group-significance \
--i-distance-matrix core-metrics-results/unweighted_unifrac_distance_matrix.qza \
--m-metadata-file sample-metadata.tsv \
--m-metadata-column body-site \
--o-visualization core-metrics-results/unweighted-unifrac-body-site-significance.qzv \
--p-pairwise # optional
# Alpha rarefaction plotting
qiime diversity alpha-rarefaction \
--i-table table.qza \
--i-phylogeny rooted-tree.qza \
--p-max-depth 4000 \ # ~ median frequency
--m-metadata-file sample-metadata.tsv \
--o-visualization alpha-rarefaction.qzv
# 7. Taxonomic assignment
qiime feature-classifier classify-sklearn \
--i-classifier gg-13-8-99-515-806-nb-classifier.qza \
--i-reads rep-seqs.qza \
--o-classification taxonomy.qza
# Check taxonomic assignment
qiime metadata tabulate \
--m-input-file taxonomy.qza \
--o-visualization taxonomy.qzv
# Check taxonomic composition (barplot)
qiime taxa barplot \
--i-table table.qza \
--i-taxonomy taxonomy.qza \
--m-metadata-file sample-metadata.tsv \
--o-visualization taxa-bar-plots.qzv
# 8. Differential abundance testing (with ANCOM)
qiime feature-table filter-samples \ # Gut sample만 보기 위해
--i-table table.qza \
--m-metadata-file sample-metadata.tsv \
--p-where "[body-site]='gut'" \
--o-filtered-table gut-table.qza
qiime composition add-pseudocount \
--i-table gut-table.qza \ # FeatureTable[Frequency]
--o-composition-table comp-gut-table.qza # FeatureTable[Composition]
qiime composition ancom \
--i-table comp-gut-table.qza \ # FeatureTable[Composition]
--m-metadata-file sample-metadata.tsv \
--m-metadata-column subject \
--o-visualization ancom-subject.qzv
참고
- Keemei: QIIME에 사용되는 tsv 파일 검증 프로그램 [링크]
- qiime tools peek: QIIME artifact의 UUID, type, format을 확인 가능.
- qzv 파일 확인: 1) qiime tools view demux.qzv, 2) view.qiime2.org
- Taxonomic classifiers는 각각의 연구 상황에 맞게 train되었을 때가 가장 정확하게 작동한다.
- Differential abundacne testing을 위한 ANCOM을 사용하기 전에 ANCOM paper를 읽고 ANCOM의 가정과 한계를 아는 것이 좋다 (ANCOM은 그룹 간 차이가 약 25%보다 적을 것으로 가정함).
Artifact API
다음 링크에서는 위 튜토리얼을 Python 코드로 돌린(명령어 X) 과정이 나와있다.
Reference
728x90
반응형
'Bioinformatics > Metagenomics' 카테고리의 다른 글
[QIIME2] Fecal microbiota transplant (FMT) 튜토리얼 (0) | 2021.03.04 |
---|---|
[Diversity] 다양성 지표 (Alpha diversity, Beta diversity) (0) | 2021.03.03 |
[QIIME2] 숙련된 연구자들을 위한 QIIME2 Overview (15) | 2021.03.02 |
[ASV] Amplicon Sequence Variant (ASV)의 특징과 Operational Taxonomic Unit (OTU)와의 차이점 (1) | 2021.02.22 |
[QIIME2] QIIME2의 workflow 설명 (일반적인 Amplicon data 분석 과정) (0) | 2021.02.18 |