A generic term to describe a Method, Visualizer, or Pipeline. Actions accept parameters and/or Artifacts and/or Metadata) as input, and generate one or more Results as output.


The directory structure of a QIIME 2 Result. Contains at least a root directory (named by UUID) and a VERSION file within that directory.


A QIIME 2 Result that contains data to operate on.

Artifact class#

A kind of Artifact that can exist. This is defined by a plugin developer by associating a semantic type with a directory format when registering an artifact class.

Artifact API#

See Python 3 API.

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)


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.

Directory Format#

An object that is a subclass of qiime2.plugin.DirectoryFormat. A Directory Format represents a particular layout of a directory that contains files and/or arbitrarily nested sub-directories, and defines how the contents must be structured.


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 the metagenome distribution 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.


An acronym of Don’t Repeat Yourself, and a critical principle of software engineering. For more information on DRY and software engineering in general, see Thomas and Hunt [4].

File Format#

An object which subclasses either qiime2.plugin.TextFileFormat or qiime2.plugin.BinaryFileFormat. File formats define the particular format of a file, and define a process for validating the format.


See file format and directory format.


The engine of orchestration that enables QIIME 2 to function together as a cohesive unit.


Galaxy is a browser-based graphical interface used to access bioinformatics (and other data science tools) without having to write command line or other code. QIIME 2 provides a Galaxy interface to support access to plugins through a web browser.


A unique value that denotes an individual sample or feature.


Distinguishes a piece of data. QIIME 2 does not consider a rename (like UNIX mv) to change identity, however re-running a command, would change identity.


Data provided to an action. Can be an artifact or metadata.


A user-interface responsible for coordinating user-specified intent into framework-driven action.


Columnar data for annotating additional values to existing data. Operates along Sample IDs or Feature IDs.


A method accepts some combination of QIIME 2 artifacts and parameters as input, and produces one or more QIIME 2 artifacts as output.


Objects returned by an action. Can be artifact(s) or visualization(s).

Pairwise sequence alignment#
  1. (noun) A hypothesis about which positions in a pair of biological sequences (i.e., a DNA, RNA, or protein sequence) were derived from a common ancestral sequence position.

  2. (verb) The process of generating a pairwise sequence alignment (noun). For additional detail, see the Pairwise Sequence Alignment chapter of An Introduction to Applied Bioinformatics [3].


A value that alters the behavior of an action.


Data that is meant for primary consumption or interpretation (in contrast to metadata which may be useful retrospectively, but is not primarily useful).


A pipeline accepts some combination of QIIME 2 artifacts and parameters as input, and produces one or more QIIME 2 artifacts and/or visualizations as output.


A discrete module that registers some form of additional functionality with the framework, including new methods, visualizers, formats, or transformers.

Plugin Manager#

An instance of the qiime2.sdk.PluginManager object. This object provides access to all plugins, actions, artifact classes, and transformers that are registered to all plugins in a given deployment, and are therefore central to the functioning of interfaces.

Primitive Type#

A type that is used to communicate parameters to an interface. These are predefined by the framework and cannot be extended.


In the context of QIIME 2, provenance or data provenance refers to the history of how a given result was generated. Provenance information describes the host system, the computing environment, Actions performed, parameters passed, primary sources cited, and more.

Provenance Replay#

The QIIME 2 functionality that enables new executable code to be generated from an existing QIIME 2 result’s provenance. For additional detail, refer to [5].

Python 3 API#

When the Python 3 API is referred to in the context of QIIME 2, this refers to the interface that allows users to work with QIIME 2 plugins and actions natively in Python 3 (for example in a Jupyter Notebook environment). This was formerly referred to as the Artifact API.


q2cli is the original (and still primary, as of March 2024) command line interface for QIIME 2.


A generic term for either a Visualization or an Artifact.

Semantic Type#

An identifier that is used to describe what some data is intended to represent, and when and where they can be used. When associated with a directory format, the combination defines an artifact class. These types may be extended by plugins.


“Too long; didn’t read.” In other words, a quick summary of the content that follows.


A function registered on the framework capable of converting data in one format into data of another format.


A term that is used to represent several different ideas in QIIME 2, and which is therefore ambiguous when used on its own. More specific terms are file type, semantic type, and data type. See Semantic types, data types, file formats, and artifact classes for more information.


Universally Unique IDentifier, in the context of QIIME 2, almost certainly refers to a Version 4 UUID, which is a randomly generated ID. See this RFC or this wikipedia entry for details.


A particular representation of data. This includes on-disk formats and in-memory data structures (objects).


A QIIME 2 Result that contains an interactive visualization.

Visualization (Type)#

The type of a visualization. There are no subtyping relations between this type and any other (it is a singleton) and cannot be extended (because it is a singleton).


A visualizer accepts some combination of QIIME 2 artifacts and parameters as input, and produces exactly one visualization as output.