The QIIME 2 2022.11 release is now available! Thanks to everyone involved for their hard work!
As a reminder, our next planned QIIME 2 release is scheduled for February 2023 (QIIME 2 2023.2), but please stay tuned for updates.
Check out the QIIME 2 2022.11 docs for details on installing the latest QIIME 2 release, as well as tutorials and other resources. Get in touch on the QIIME 2 Forum if you run into any issues!
Docker images are built and ready for use!
Exciting Announcements!
q2-composition
@lizgehret added a new method in q2-composition that wraps the ANCOM-BC functionality from the 3-16 release of Frederick Huang Lin's R package. Some of @mortonjt's ideas from his q2-ancombc plugin were used, along with some additional guards, and the outputs have been packaged slightly differently. The contents of this update include:
-
New method
qiime composition ancombc
that produces an artifact containing the following:lfc (log fold change) w scores std err p-vals q-vals
-
Unit test suite and usage examples for ancombc method
-
Visualizer for the above output artifact. This visualizer provides tab separated views for each dataframe containing the log-fold change (lfc), standard error (se), P and Q values, and W scores.
NOTE: We discovered a bug in the
tabulate
visualizer, and a fix was pushed up for this on Jan. 12th. Everything should now be working as expected, thanks for your patience!
Artifact Cache
The Artifact Cache was added in the background in the last release, now it is accessible via q2cli. The Artifact Cache is a directory structure that stores QIIME 2 Results in an unzipped form on disk in a consistent way controlled by QIIME 2. This is particularly useful for large reference databases and shotgun sequencing where the data is very large, and it is easier to use up more storage space than to be constantly taking the CPU time to zip and unzip it to and from a .qza.
Since the release of QIIME 2 2022.8, all QIIME 2 actions have been interacting with a cache created automatically in the temp directory. It is now possible to create and use custom caches in user-defined locations on the command line interface. The following tools have been added to support this (more details on their usage in the cli help text).
-
qiime tools cache-create
creates a cache at the given path (must be a new path). -
qiime tools cache-remove
removes the given key and data if this was the only key to that data from the given cache. -
qiime tools cache-garbage-collection
runs garbage collection on the given cache. -
qiime tools cache-store
stores a given artifact to the given cache under a given key. -
qiime tools cache-fetch
fetches the artifact with the given key from the given cache into an artifact at the given output path. -
qiime tools cache-status
lists the contents of the given cache.
The cache uses user-defined keys to reference the data stored in it. Currently, these keys must be valid Python identifiers. To use a cache on the command line interface, first, create a cache at a given location using the new qiime tools create-cache
command. Then you may use artifacts in the cache as inputs (or save outputs to the cache) using the cache_path:key
syntax.
For example, the following commands will create a cache at ~/Documents/cache
, save the artifact at ~/Documents/art.qza
into the cache under the key in
creating an unzipped copy of the artifact in the cache, then use that artifact as an input to an action and save the output of the action into the cache under the key out
before saving that output into an artifact at ~/Documents/out.qza
note that you can just as easily use ~/Documents/cache:out
as an input to another command. The data saved into the cache under the keys in
and out
will remain in the cache accessible via those keys until removed via the qiime tools cache-remove
command.
Creating a cache:
qiime tools cache-create --cache ~/Documents/cache
Placing a qza into the cache:
qiime tools cache-store \
--cache ~/Documents/cache \
--artifact-path ~/Documents/art.qza \
--key in
An example action using the cache for input and/or output:
qiime some-plugin some-action \
--i-input ~/Documents/cache:in \
--o-output ~/Documents/cache:out
Converting a cached artifact into a qza:
qiime tools cache-fetch \
--cache ~/Documents/cache \
--key out \
--output-path ~/Documents/out.qza
BREAKING CHANGES
-
-
@colinbrislawn re-named
vsearch join-pairs
tovsearch merge-pairs
-
@colinbrislawn re-named
-
q2studio has been fully deprecated, and will no longer be included in our core or community distribution installations Check out our tools within the Galaxy Toolshed for a fully-functioning graphical user interface!
Here are the highlights of the release:
-
- @lizgehret bumped the core and community distributions up to the latest version of R, so all plugins within these distributions are now compatible with 4.2.0
- @cherman2 fixed a that unintentionally removed the Jupyter Notebook extension from the list of installed packages for our core and community distributions This extension will now be included with any installation of QIIME 2 for 2022.11 and beyond!
-
@emollier fixed a when running our test suite on 32-bit CPU architectures. On 64-bits CPUs, the pandas.dtype returned for integers is a plain int 64 bits wide. However, on 32 bits machines, the type is returned as int64 to differenciate from plain int. This fix now allows for either
int
orint64
as an allowed type within our test suite. - @Oddant1 Fixed cross-device link errors when attempting to symlink across devices by copying instead
-
@gregcaporaso added the ability to add descriptions and examples to "artifact classes" (a new term being used to describe semantic types with associated directory formats, i.e., semantic types that can be associated with QIIME 2 artifacts)
- Descriptions and examples are added on definition of an artifact class with
Plugin.register_artifact_class
.Plugin.register_artifact_class
is a replacement forPlugin.register_semantic_type_to_format
(the latter is still available for backward compatibility, but the former should be used preferentially). - Descriptions and examples of artifact classes can be accessed via
PluginManager.artifact_classes
orPlugin.artifact_classes
.
- Descriptions and examples are added on definition of an artifact class with
-
@gregcaporaso added helpers for use in defining usage examples to obtain an artifact or metadata from a URL These can be accessed with
Usage.init_artifact_from_url
andUsage.init_metadata_from_url
, respectively. - @Keegan-Evans added the ability to make files and file collections optional in directory formats
- @ebolyen made it so metadata column type is now informed by Metadata.load's default_missing_scheme
- @gregcaporaso added better functionality for examining/finding formats on a PluginManager
-
-
colinvwood added the ability to provide multiple files to be examined to
qiime tools peek
. -
colinvwood added a
--tsv
parameter that can be added to calls toqiime tools peek
that outputs the results as a TSV file.
-
colinvwood added the ability to provide multiple files to be examined to
-
- IGK-NZ added the ability to perform quality base trimming.
-
@Keegan-Evans added usage examples for
demux-single
anddemux-paired
.
-
- @lizgehret added an R traceback for any errors that arise within the DADA2 R package for easier debugging
- @Oddant1 made it so barcodes and IDs won't get mixed up while sorting
-
@lizgehret added usage examples for
denoise-single
anddenoise-paired
-
-
@ChrisKeefe added usage examples for
denoise-16s
andvisualize-stats
-
@ChrisKeefe added usage examples for
-
-
@cherman2 added usage examples for
emp-single
andsummarize
-
@cherman2 added usage examples for
-
- @lizgehret added an R traceback for any errors that arise using the adonis method from within the Vegan R package for easier debugging
-
@lizgehret added usage examples for
alpha-group-significance
andalpha-correlation
-
-
@cherman2 added usage examples for
plot
andprocrustes-plot
-
@cherman2 added usage examples for
-
-
@gregcaporaso and @Oddant1 added usage examples for
merge
,merge-taxa
,merge-seqs
,filter-samples
,filter-features
, andfilter-features-conditionally
- @ebolyen made it so summarize can handle NaN values
- @wasade fixed a bug where rarefying with replacement was incorrectly keeping values below the set rarefaction depth
-
@lizgehret added usage examples for
summarize
andtabulate-seqs
-
@gregcaporaso and @Oddant1 added usage examples for
-
- @Stefan helped speed up this plugin, always a welcome addition , by adding explicit file format selection instead of sniffing for it, in accordance with this issue in scikit-bio.
-
-
@ChrisKeefe added usage examples for
tabulate
-
@ChrisKeefe added usage examples for
-
-
@lizgehret added a usage example for
align-to-tree- mafft-fasttree
-
@lizgehret added a usage example for
-
-
@ChrisKeefe added usage examples for
q-score
-
@ChrisKeefe added usage examples for
-
- @cherman2 made the error message raised when N=0 in wilcoxon more informative and added an ignore_empty_comparator parameter that fills invalid comparisons with NaN in the stats table if used
-
-
@ChrisKeefe added usage examples for
collapse
andbarplot
-
@ChrisKeefe added usage examples for
-
-
@misialq added
ProteinFASTAFormat
validation for sequences which contain asterisks*
. While usually not present in sequences fetched from NCBI, the asterisk is often added during in silico translation - @gregcaporaso added support for importing multiplexed fasta/qual files to support analysis of legacy 454 sequencing data
- @gregcaporaso added descriptions and examples for common artifact classes using new functionality added in the QIIME 2 Framework
-
@SoilRotifer: added support for importing and converting lower-case & mixed-case nucleotide sequences into standard upper-case IUPAC form via the new formats:
MixedCaseDNAFASTAFormat
,MixedCaseAlignedDNAFASTAFormat
,MixedCaseRNAFASTAFormat
, andMixedCaseAlignedRNAFASTAFormat
. Add to address: Should DNAIterator support lowercase fasta sequences? ยท Issue #91 ยท qiime2/q2-types ยท GitHub
-
@misialq added
-
-
@colinbrislawn added
--min_seq_length
and--min_unique_size
parameters tovsearch dereplicate-sequences
to discard short or uncommon sequences from the dereplication output
-
@colinbrislawn added
-
- @lizgehret & @thermokarst added documentation for installing QIIME 2 via conda on Apple Silicon devices
- @thermokarst updated the Windows Subsystem for Linux (WSL) installation instructions to provide more context on when to use those instructions
-
Virtual Machines
- @nickodell made some improvements that should reduce the size of our docker builds by ~60%