Artifacts are QIIME 2 results that are generally considered to represent intermediate data in an analysis, meaning that an artifact is generated by QIIME 2 and intended to be consumed by QIIME 2 (rather than by a human).
Artifacts can be generated either by importing data into QIIME 2 or as out from a QIIME 2 action.
When written to file, artifacts typically have the extension qza.
Artifacts can be provided as input to QIIME 2 actions or exported from QIIME 2 for use with other software.
breaking change
A breaking change is a change to how a program works (for example, a QIIME 2 plugin or interface) that introduces an incompatibility with earlier versions of the program.
This will generally require that users make some modification to how they were using some aspect of a system.
For example, if a plugin method added a new required input in version 2, that would be a breaking change with respect to version 1: calling the method without that new parameter would fail in version 2, but would have succeeded with version 1.
This may also be called a backward incompatible change or an API change.
conda metapackage
A metapackage is a package with no files, only metadata.
They are typically used to collect several packages together into a single package via dependencies.
(source)
deployment
An installation of QIIME 2 as well as zero-or-more interfaces and plugins.
The collection of interfaces and plugins in a deployment can be defined by a distribution of QIIME 2.
distribution
A collection of QIIME 2 plugins that are installed together through a single conda metapackage.
These are generally grouped by a theme. For example, the amplicon distribution provides a collection of plugins for analysis of microbiome amplicon data, while MOSHPIT provides a collection of plugins for analysis of microbiome shotgun metagenomics data.
When a distribution is installed, that particular installation of QIIME 2 is an example of a deployment.
stand-alone plugins can be installed to expand the functionality of a distribution.
DRY
An acronym of Don’t Repeat Yourself, and a critical principle of software engineering and equally applicable in research data management.
For more information on DRY and software engineering in general, see Thomas & Hunt (2019).
The Thomas & Hunt (2019) content on DRY is available in a free example chapter here.
epoch
An identifier referencing a release cycle of QIIME 2.
Epochs identifiers represent dates (e.g., 2024.10 references the release cycle initiated in October of 2024).
Interface
The layer of QIIME 2 that users (either humans or other computer software) interact with.
q2cli and the Python 3 API are the two interfaces covered in Using QIIME 2.
Other interfaces include Galaxy (see https://cancer.usegalaxy.org) and Adagio (more info on that soon!).
method
A type of QIIME 2 action that takes one or more artifacts or parameters as input, and produces one or more artifacts as output.
For example, the filter-featuresaction in the q2-feature-tableplugin is a method.
parameter
An input to a QIIME 2 action representing a primitive data type, such as a number or a string, as opposed to an input in the form of a QIIME 2 artifact.
A plugin provides analysis functionality in the form of actions.
All plugins can be accessed through all interfaces.
Plugins can be developed and distributed by anyone.
As of this writing, a collection of plugins that are installed together are referred to as a distribution.
Additional stand-alone plugins can be installed.
Python 3 API
QIIME 2’s Application Programmer Interface.
This allows advanced users to access all QIIME 2 analytic functionality directly in Python.
This can be very convenient for developing tools that use QIIME 2 as a component, or for performing data analysis without writing intermediary data artifacts to disk unless you specifically want to.
q2cli
q2cli is the original (and still primary, as of March 2024) command line interface for QIIME 2.
qza
An acronym for QIIME Zipped Artifact.
See artifact.
qzv
An acronym for QIIME Zipped Visualization.
See visualization.
A plugin that is not included in one of the primary QIIME 2 distributions, but rather is installed independently.
These often include cutting edge functionality, and can be discovered through the QIIME 2 Library.
Visualizations are QIIME 2 results that represent terminal output in an analysis, meaning that they are generated by QIIME 2 and intended to be consumed by a human (as opposed to being consumed by QIIME 2 or other software).
Visualizations can only be generated by QIIME 2 visualizers or pipelines.
When written to file, visualizations typically have the extension qzv.
How to view Visualizations provides information on different ways that these can be viewed.