You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 56148c4
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: book/back-matter/glossary.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,10 @@ Action
5
5
A generic term to describe a {term}`Method`, {term}`Visualizer`, or {term}`Pipeline`.
6
6
Actions accept parameters and/or {term}`Artifacts <Artifact>` and/or {term}`Metadata`) as input, and generate one or more {term}`Results <Result>` as output.
7
7
8
+
Annotation
9
+
Additional information that can be attached to a QIIME 2 {term}`Result`, such as a text file or cryptographic signature.
10
+
See {term}`Note` and {term}`Signature` for more information on the respective {term}`Annotation` types that have been implemented, and what they can contain.
11
+
8
12
Archive
9
13
The directory structure of a QIIME 2 {term}`Result`.
10
14
Contains *at least* a root directory (named by {term}`UUID`) and a ``VERSION`` file within that directory.
@@ -24,7 +28,7 @@ Collection
24
28
These can be used as {term}`Input`, {term}`Parameter`, and {term}`Output` {term}`Types <Type>`.
25
29
26
30
Conda metapackage
27
-
A metapackage is a package with no files, only metadata.
31
+
A metapackage is a package with no files, only metadata.
28
32
They are typically used to collect several packages together into a single package via dependencies.
A method accepts some combination of QIIME 2 {term}`artifacts <Artifact>` and {term}`parameters <Parameter>` as {term}`input`, and produces one or more QIIME 2 artifacts as {term}`output`.
80
84
85
+
Note
86
+
A type of {term}`Annotation` that can be added to a QIIME 2 {term}`Result`.
87
+
This type of {term}`Annotation` can accept inline text or a path to a file whose contents will be written to the associated {term}`Result`, with a limit of 10 MiB.
88
+
81
89
Output
82
90
Objects returned by an {term}`action`. Can be {term}`artifact(s) <Artifact>` or {term}`visualization(s) <Visualization>`.
83
91
@@ -127,6 +135,11 @@ Semantic Type
127
135
When associated with a {term}`directory format`, the combination defines an {term}`artifact class`.
128
136
These types may be extended by {term}`plugins<Plugin>`.
129
137
138
+
Signature
139
+
A type of {term}`Annotation` that can be added to a QIIME 2 {term}`Result`.
140
+
This {term}`Annotation` contains a cryptographic signature, providing support to 'self-sign' QIIME 2 {term}`Results <Result>`.
141
+
This allows for identity confirmation for who created a particular {term}`Result`.
142
+
130
143
Single-Use Plugin (SUP)
131
144
A plugin that is intended for one specific use case, such as generating figures for a single manuscript, as opposed to a plugin that is intended for general widespread usage.
Archive Version 7 development is [currently being planned](https://github.com/qiime2/qiime2/issues/747).
243
+
Starting with QIIME 2 version [2025.4](https://github.com/qiime2/qiime2/releases/tag/2025.4.0), QIIME 2 {term}`Archive` versions 7+ utilize semantic versioning.
244
+
What this means is each new QIIME 2 {term}`Archive` version is broken up into a major version and a minor version.
245
+
Major version updates (i.e. version 6.x -> 7.x) include a significantly different internal structure, such as new files within the zip archive.
246
+
Backward compatibility across major versions is not guaranteed (such that a version 7.0 archive will not be compatible with older software versions that didn't yet know about that version).
247
+
Minor version updates (i.e. 7.n -> 7.n+1) include minor differing internal structure and/or features/capabilities.
248
+
These will be backwards compatible to the nearest major version (such that a version 7.1 or 7.2 archive will be compatible with other software versions as long as they knew about 7.0).
249
+
250
+
### Archive Version 7.0
251
+
Released in QIIME 2 version [2025.4](https://github.com/qiime2/qiime2/releases/tag/2025.4.0) ([changelog](https://forum.qiime2.org/t/qiime-2-2025-4-is-now-available/33088)) [commit `0d2c8ec`](https://github.com/qiime2/qiime2/commit/0d2c8ec7d0cb6e3b81c4ab621e78bd0df74c11a0), this version adds:
252
+
- support for creation of {term}`Annotations <Annotation>` (of sub-type {term}`Note`) to a QIIME 2 {term}`Result`;
253
+
- an all-new `conda-env.yaml` file containing all environment dependencies a {term}`Result` was created from;
254
+
- updated checksum calculations from `md5` to `sha512`;
255
+
- and total file size calculation for all files within the `data` directory as a new entry under the top level/provenance level `metadata.yaml` files.
256
+
All of the new additions to the {term}`Archive` file structure are outlined below.
257
+
258
+
{term}`Annotations <Annotation>` are a way of attaching additional information to a QIIME 2 {term}`Result`.
259
+
In version 7.0, {term}`Note` has been added as a supported {term}`Annotation` sub-type.
260
+
{term}`Notes <Note>` can either contain inline text or a filepath whose contents will be written to the {term}`Note`.
261
+
262
+
The updated structure of a QIIME 2 {term}`Result` includes a new top-level `annotations` directory, where all {term}`Annotations <Annotation>` will be written.
263
+
Each {term}`Note` that is created and written to this directory will have the following structure:
264
+
265
+
```yaml
266
+
annotations/
267
+
8b1ddcc2-b4e7-4c9f-9338-a7785a47862e/
268
+
checksums.sha512
269
+
metadata.yaml
270
+
note.txt
271
+
217d5eb4-febf-48e8-83ac-1a4dbebe8cf5/
272
+
checksums.sha512
273
+
metadata.yaml
274
+
note.txt
275
+
```
276
+
277
+
Each sub-directory underneath the `annotations` directory corresponds to the UUID associated with each {term}`Note` {term}`Annotation` that was added to the {term}`Result`.
278
+
In each UUID's subdirectory, a {term}`Note` will contain the following files:
279
+
- A `note.txt` file that contains either the inline text or the contents of the filepath provided upon creation of the {term}`Note`.
280
+
- A `metadata.yaml` file that contains specific details about the {term}`Annotation` (which will be laid out in detail below).
281
+
- A `checksums.sha512` file with the sha512 calculated checksum for each file within the directory (`metadata.yaml` and `note.txt`).
282
+
283
+
The contents of the `metadata.yaml` file are as follows:
`id` corresponds to the {term}`Annotation's <Annotation>` UUID, the `root_result_uuid` corresponds to the UUID of the {term}`Result` the {term}`Annotation` is attached to, and the `referenced_result_uuid` corresponds to the UUID of the {term}`Result` the {term}`Annotation` is in reference to.
295
+
Note that the current implementation of {term}`Annotations <Annotation>` doesn't support referencing a {term}`Result` separate from the one the {term}`Annotation` is attached to, but these separate fields have been created to allow for this functionality to be supported in future {term}`Archive` versions.
296
+
297
+
In addition to {term}`Annotations <Annotation>`, a new `conda-env.yaml` file (located under the `provenance` directory) has been added within the {term}`Archive` structure.
298
+
This file contains all of the dependencies present in the conda environment where the {term}`Result` in question was created from.
299
+
The contents of this file are as follows (with this example showing a very minimal environment):
Each entry matches the pattern: `<package-name>=<package-version>=<build-number>`.
316
+
317
+
### Archive Version 7.1
318
+
Released in QIIME 2 version [2025.10](https://github.com/qiime2/qiime2/releases/tag/2025.10.1) ([changelog](https://forum.qiime2.org/t/qiime-2-2025-10-is-now-available/33760))
319
+
[commit `7d2a9b1`](https://github.com/qiime2/qiime2/commit/7d2a9b12d98666200b370de89e9e633b33e9acb8), this version adds {term}`Signatures <Signature>`, a new {term}`Annotation` sub-type that provides support for cryptographically signing a QIIME 2 {term}`Result`.
320
+
321
+
A new {term}`Signature` is created by using the fingerprint of an existing GnuPG keypair to cryptographically sign a {term}`Result`, thus providing a verifiable identity associated with that {term}`Result`.
322
+
323
+
The structure of a {term}`Signature` {term}`Annotation` within a {term}`Result` is as follows:
324
+
325
+
```yaml
326
+
annotations/
327
+
217d5eb4-febf-48e8-83ac-1a4dbebe8cf5/
328
+
checksums.sha512
329
+
metadata.yaml
330
+
signature.gpg
331
+
```
332
+
333
+
Each {term}`Signature` (separated by their associated UUID sub-directories) contains the following files:
334
+
- A `signature.gpg` file that contains the cryptographic signature created with the provided GnuPG keypair.
335
+
- A `metadata.yaml` file that contains specific details about the {term}`Signature` (laid out in detail below).
336
+
- A `checksums.sha512` file with the sha512 calculated checksum for each file within the directory (`metadata.yaml` and `signature.gpg`).
337
+
338
+
The contents of the `metadata.yaml` file are as follows:
The {term}`Signature`-specific fields are defined as follows:
355
+
- `algorithm` refers to the encryption algorithm used when generating the GnuPG keypair used for creating the {term}`Signature`.
356
+
- `checksum_digest` refers to the calculated `sha512` sum of the root-level `checksums.sha512` file, used for {term}`Signature` verification.
357
+
- `signer_name` and `signer_email` refer to the GnuPG uid credentials associated with the keypair used for creating the {term}`Signature`.
358
+
- `fingerprint` refers to the fingerprint associated with the GnuPG keypair used for creating the {term}`Signature`.
359
+
360
+
More details on {term}`Signature` creation and verification, along with information on installing and using GnuPG for this purpose, can be found in [How to sign and verify Results](https://use.qiime2.org/en/latest/how-to-guides/sign-and-verify-artifacts.html).
361
+
362
+
### Archive Version 7.2
363
+
Archive Version 7.2 development is currently being planned.
0 commit comments