Processing NGS data involves launching multiple processes and creating numerous plots. Running a single analysis often requires the use of multiple tools. Simplifying NGS data analysis within this framework can be achieved in various ways. In this discussion, we will focus on QIIME2, a tool that combines multiple programs to facilitate the analysis of metagenome sequencing data. With QIIME2, researchers can perform different types of analyses without the need to configure numerous dependencies.
About QIIME2
QIIME2 is an advanced software package designed for analyzing amplicon sequencing data in microbial ecology. Built on Python, it offers a wide range of tools for data manipulation and analysis. QIIME2 supports various file formats, integrates seamlessly with third-party plugins, and provides visualizations and statistical summaries to facilitate data interpretation.
With its comprehensive documentation and strong community support, QIIME2 serves as a valuable tool for researchers studying microbial communities.
1) Command line interface: Learn how to install QIIME2 on Mac, Linux and Windows using tutorials on the official site. Note, QIIME2 utilizes conda environment, you can refresh or gain knowledge about it using <this> topic.
2) Python API: Check some usage examples. This interface requires QIIME2 CLI to be installed.
3) Galaxy Graphical User Interface: Click this link to the Galaxy platform, and here you can select the appropriate Galaxy server and launch your analysis using cloud resources. You don't need to install QIIME2 to run your analysis with this platform!
What are the capabilities of QIIME2?
QIIME2 empowers researchers to perform a wide range of metagenome data analyses, encompassing everything from the initial processing of raw reads to the final visualization and statistical evaluation of results. While its primary focus is on amplicon data analysis, the processing of metagenome data in QIIME2 can be easily adapted and modified to suit specific research needs.
Although there exists a standard pipeline for amplicon data preparation, QIIME2 offers flexibility for customization and tailoring analysis workflows according to individual requirements.
Here are some typical steps which can be done with QIIME2:
-
Data Import and Quality Control
-
Multiple tools for quality control are built-in QIIME2 plugins. Such as DADA2, deblur, USEARCH and others.
-
-
Denoising, chimera removal, sequence clustering
-
QIIME2 provides methods for denoising raw sequence data, removing errors and artifacts. It also facilitates sequence clustering into operational taxonomic units (OTUs) or amplicon sequence variants (ASVs) for downstream analysis. To recap what's the difference between OTU and ASV you can see <this topic>
-
-
Taxonomic Classification
-
Diversity Analysis
-
Statistical metrics include alpha diversity, beta and gamma diversity.
-
-
Visualization and Data Interpretation
-
QIIME2 offers numerous visualization tools to create interactive and informative plots, heatmaps, and networks. These visual representations allow researchers to explore and communicate their findings effectively.
-
Review of QIIME2 commands
Here we will briefly cover the main commands, which may be used to perform quality control, processing and visualization of the data.
After you install QIIME2 you will be able to run it from the command line.
In the command line, you make a request, which typically looks like this:
>qiime plugin_name command --parameter value
Instead of plugin_name you need to write the name of the plugin and instead of command – the name of the method from the chosen plugin. You will also need to pass parameters, to perform the desired operation: it can be the location of a file, trimming parameters and other variables.
Let's pretend you want to run denoising of the paired reads. This can be done in QIIME2 with the help of dada2 plugin and denoise-paired option. We need to pass arguments, such as the location of input data – demultiplexed reads: ./data/demux-paired.qza, truncation parameters, and location of output data:
> qiime dada2 denoise-paired \
--i-demultiplexed-seqs ./data/demux-paired.qza \
--p-trunc-len-f 150 \
--p-trunc-len-r 140 \
--o-representative-sequences ./output/representative-sequences.qza \
--o-table ./output/table.qza \
--o-denoising-stats ./output/denoising-stats.qza
As a result, we will find in ./output/ folder denoised sequences in QZA format (./output/representative-sequence.qza), as well as the feature table (./output/table.qza) and denoising statistics (./output/denoising-stats.qza).
What is the QZA format? We will cover that in the next section.
Which plugin options are available in QIIME?
Data processing plugins:
- For data ingestion and preprocessing:
tools – Tools for working with QIIME 2 files.
- For read quality control:
cutadapt – Plugin for removing adapter sequences, primers, and other unwanted sequences from sequence data.
dada2 – Plugin for sequence quality control with DADA2.
deblur – Plugin for sequence quality control with Deblur.
demux – Plugin for demultiplexing & viewing sequence quality.
vsearch – Plugin for clustering and dereplicating with vsearch.
quality-control – Plugin for quality control of feature and sequence data.
quality-filter – Plugin for PHRED-based filtering and trimming.
- For taxonomic classification
feature-classifier – Plugin for taxonomic classification.
feature-table – Plugin for working with sample by feature tables.
sample-classifier – Plugin for machine learning prediction of sample metadata.
taxa – Plugin for working with feature taxonomy annotations.
Data analysis and visualization plugins:
composition – Plugin for compositional data analysis.
diversity – Plugin for exploring community diversity.
diversity-lib – Plugin for computing community diversity.
emperor – Plugin for ordination plotting with Emperor.
gneiss – Plugin for building compositional models.
longitudinal – Plugin for paired sample and time series analyses.
phylogeny – Plugin for generating and manipulating phylogenies.
How QIIME2 works?
As mentioned before, QIIME2 is a pipeline. It depends on multiple programs, which can be native to QIIME2 or be integrated into QIIME2 as a plugin. Each step in a pipeline is triggered through the command line and has input and output files. QIIME2 accepts multiple formats as input (i.e. fastq, tsv, csv, qza) and returns a zipped archive with processing results. Such archive, or QIIME Zipped Artifact, or QZA for short, contains information about the location of the input and output data and the configuration used to run processes.
QZA can be used as an input file for a consequent processing or visualization step in QIIME2.
Its simplified structure looks like this:
Artifact in this scheme means an object, that was created by some process
There is another file format — QZV, short for QIIME Zipped Visualization. This object stores information about configurations and parameters of the plot that was once built in QIIME2 and it cannot be used as an input for the next step of a pipeline.
QZV files can be viewed online and locally with the usage of qiime tools view command in CLI. Also, you can visualize data stored in a QZV file via an online service.
This directory structure of the archive makes it easy to store analysis results and use them via other tools, as it is accessible with and without QIIME utilities. To add, if you forget what was done in some experiments, you can easily recall what kind of analysis was done by looking at the data and artifacts that were created.
What is inside of QIIME2?
QIIME2 integrates with several third-party software tools and resources to enhance its functionality and make it easier for users to perform analysis. Some of the key integrations in QIIME2 include:
-
Deblur: Deblur software serves for denoising and quality filtering of sequencing data.
-
DADA2: QIIME2 incorporates DADA2 software used for denoising and quality filtering of amplicon sequencing data. DADA2 provides advanced algorithms for accurate sequence error correction and identification of amplicon sequence variants (ASVs).
-
scikit-learn: QIIME2 utilizes scikit-learn, a very useful machine learning library in Python, for sequence classification, including methods to train and employ. scikit-learn algorithms can be applied within QIIME2 workflows to enhance the accuracy and efficiency of analysis.
-
USEARCH: USEARCH tool is integrated into QIIME to perform tasks such as sequence quality filtering, dereplication, clustering sequences into OTUs and chimera detection.
-
QIIME2 plugins: QIIME2 encourages community contributions and provides a plugin system for extending its capabilities. Various plugins have been developed by the QIIME2 community, offering additional methods, algorithms, and tools.
Example of data analysis pipeline in QIIME2
On the scheme below we briefly introduce a typical pipeline of metagenomic data processing and analysis in QIIME2. It consists of multiple steps, on each step, results are saved as an artifact in .qza or .qzv format.
Also note, which file formats are generated by QIIME2.
Also, have a look at the QIIME2 Gallery, where you can see possible data visualization approaches.
For example, have a look at alpha-diversity visualization.
What else can be done? Check QIIME2 documentation and tutorials for inspiration!
Conclusion
Here we have introduced QIIME2 software, which allows us to apply a wide range of metagenomic data processing methods, to calculate diversity metrics, and to visualize data. As we already know, QIIME2 can be installed on any operational system, and it is easily run through the command line, python API and Galaxy webserver. Additionally, we mentioned that QIIME2 website is very handy: you can find there an installation guide, examples of interactive plots, tutorials and many more.