QIIME2는 3가지 interface를 제공하며, 관련 내용이 QIIME 2 doc에 소개되어있다 (Reference의 URL 참고). 아래는 QIIME 2 doc을 바탕으로 작성되었다.
1. Command line interface (q2cli): 가장 일반적으로 사용할 수 있는 interface로, QIIME2의 tutorial은 모두 command line에서 진행된다. CLI의 장점은 Bash shell을 사용할 경우, tab을 통해 자동완성을 지원한다는 점이다.
2. Graphical user interface (QIIME2 Studio, q2studio): GUI 환경에서 QIIME을 돌릴 수 있는 studio도 제공하고 있다.
3. Python API (Artifact API): QIIME2를 Python 3를 통해 사용할 수 있다. 파일의 압축과 해제를 각 step마다 하지 않기 때문에 더 빠르다. Jupyter를 실행해서 커널을 통해 QIIME2가 설치된 가상환경을 이용하면 편리하다. 각 plugin의 사용방법은 QIIME2 docs 중 Plugins에서 Artifact API 항목을 보면 확인 가능하다. 아래는 사용 예제이다.
>>> from qiime2.plugins import feature_table
>>> from qiime2 import Artifact
>>> unrarefied_table = Artifact.load('table.qza')
>>> rarefy_result = feature_table.methods.rarefy(table=unrarefied_table, sampling_depth=100)
>>> rarefied_table = rarefy_result.rarefied_table
# 결과를 중간에 확인 가능하다.
>>> import biom
>>> biom_table = rarefied_table.view(biom.Table)
>>> print(biom_table.head())
# Constructed from biom file
#OTU ID L1S105 L1S140 L1S208 L1S257 L1S281
b32621bcd86cb99e846d8f6fee7c9ab8 25.0 31.0 27.0 29.0 23.0
99647b51f775c8ddde8ed36a7d60dbcd 0.0 0.0 0.0 0.0 0.0
d599ebe277afb0dfd4ad3c2176afc50e 0.0 0.0 0.0 0.0 0.0
51121722488d0c3da1388d1b117cd239 0.0 0.0 0.0 0.0 0.0
1016319c25196d73bdb3096d86a9df2f 11.0 17.0 12.0 4.0 2.0
# Pandas를 사용해서도 확인이 가능하다.
>>> import pandas as pd
>>> df = rarefied_table.view(pd.DataFrame)
>>> df.head()
b32621bcd86cb99e846d8f6fee7c9ab8 99647b51f775c8ddde8ed36a7d60dbcd \
L1S105 25.0 0.0
L1S140 31.0 0.0
L1S208 27.0 0.0
L1S257 29.0 0.0
L1S281 23.0 0.0
# 다시 QIIME artfacts로 importing, 하지만 artifacts의 metadata는 사라진다.
>>> imported_artifact = Artifact.import_data("FeatureTable[Frequency]", df)
# Alpha diversity 결과를 pd.Series로 볼 수 있음
>>> from qiime2.plugins import diversity
>>> alpha_result = diversity.pipelines.alpha(table=rarefied_table, metric='observed_features')
>>> alpha_diversity = alpha_result.alpha_diversity
>>> alpha_diversity.view(pd.Series)
L1S105 24
L1S140 19
L1S208 25
L1S257 30
L1S281 29
L1S57 23
L1S76 20
L1S8 17
...
Name: observed_features, dtype: int64
# Artifacts 저장
>>> rarefied_table.save('rare.qza')
'rare.qza'
>>> alpha_diversity.save('obs_features.qza')
'obs_features.qza'
# Group significance 확인
>>> from qiime2 import Metadata
>>> metadata = Metadata.load('sample-metadata.tsv')
>>> group_significance = diversity.actions.alpha_group_significance(alpha_diversity=alpha_diversity, metadata=metadata)
Reference
728x90
반응형
'Bioinformatics > Metagenomics' 카테고리의 다른 글
[QIIME2] Training feature classifiers with q2-feature-classifier 튜토리얼 (0) | 2021.03.30 |
---|---|
[QIIME2] Paired-end reads를 Deblur로 분석하는 방법 (using Aritifact API) (0) | 2021.03.09 |
[QIIME2] Data Importing (to QIIME2 ARTIFACT) 및 Exporting (from QIIME2 ARTIFACT) (0) | 2021.03.05 |
[QIIME2] Atacama soil microbiome 튜토리얼 (0) | 2021.03.04 |
[QIIME2] Fecal microbiota transplant (FMT) 튜토리얼 (0) | 2021.03.04 |