[Preview] QIIME 2 2024.2 development changelog

QIIME 2 2024.2 has been released!
Please see the official changelog for more details.

Original content of post

:exclamation: Important :exclamation:

The following is an early developer preview of the changes expected in 2024.2

This post is a live-document which will be updated throughout our development cycle. Any links will in this topic will be broken until the release is officially published. When we are ready for release, we’ll copy this changelog and create a new post in the Announcements category.

Developer Project Board:

QIIME 2 2024.2 Project on Github

:bangbang: Important: Interface Changes in QIIME 2 2024.2 :bangbang:

In the 2024.2 release, the following interface changes have gone into effect (as previously mentioned here):

  • All existing action parameters that configure the number of threads/cpus to be used have had their type changed to Threads in order to standardize the valid inputs. This supports consistency in how actions accept parameters related to parallelization in QIIME 2, and is important in contexts where an interface (such as Galaxy) needs to manage parallelization rather than the user managing parallization.
  • The merge-pairs method in the q2-vsearch plugin now outputs unmerged reads via the --o-unmerged-sequences option. Calls to qiime vsearch merge-pairs now require that either --o-unmerged-sequences or --output-dir be provided.
  • The summarize method in the feature-table plugin no longer accepts the FeatureTable[RelativeFrequency] semantic type as input. Upon review of the contents we realized that much of the information presented (e.g., summarized feature frequencies) didn't make sense (they weren't wrong, there just wasn't a meaningful interpretation).
  • The subsample method in the feature-table plugin has been renamed to subsample-ids to avoid confusion with the rarefy and *-rarefaction methods.

Here are the highlights of the release:

Distribution Updates :package:

  • @lizgehret added RESCRIPt to the amplicon distribution :scroll:
  • @lizgehret added q2-fondue and q2-vsearch to the shotgun distribution :fondue:
  • @lizgehret removed q2-types-genomics from the shotgun distribution as part of a larger update to unify q2-types and q2-types-genomics (more details on this change under q2-types) :dna:

Framework Updates :qiime2:

  • @Oddant1 Fixed a bug that allowed a cache to be created in an existing directory :card_file_box:
  • @Oddant1 Fixed a :bug: for OSX users induced by the tmpdir cleanup that caused recycle to error when attempting to use dangling references :recycle:
  • @Oddant1 Added support for more parsl features in the parsl config :gear:
  • @Oddant1 and @colinvwood made it possible to replay provenances that contain ResultCollections, which were previously unsupported by provenance replay.

Interface Updates :tv:

  • q2cli

    • @Oddant1 Added the qiime tools cache import command that allows data to be imported directly into an artifact in the cache on the cli :luggage:
    • @Oddant1 Fixed a bug making it impossible to start the path to keyed collection member inputs with ~ :key:
    • @ebolyen and @colinvwood exposed the --validate-level option on the import and cache-import commands, allowing users to customize the extent to which imported data is validated. This is useful for importing exceptionally large datasets for which full validation is time-prohibitive. The same parameter is exposed in the python API as well. Passing --validate-level min to qiime tools import can be used to speed up imports relative to the default (--validate-level max) for formats where minimal validators exist. If you'd like to see support for a minimal validator where one doesn't exist, please file an issue on q2-types. In your issue, please include details on the runtime of your qiime tools import command with and without the --validate-level min parameter.
    • @lizgehret fixed a :beetle: in the error handling associated with metadata-file vs. metadata-column parameters that would produce a missing metadata-file error when the metadata-column parameter was not provided :no_entry_sign:
  • q2view

    • @ebolyen fixed a :lady_beetle: that wasn't permitting new Dropbox URLs to be used to load Artifacts/Visualizations :tv:

Plugin Updates :electric_plug:

  • q2-assembly

    • @Oddant1 Added parallel support to the assemble-megahit, index-contigs, and map-reads-to-contigs actions :world_map:
  • q2-cutadapt

    • vaamb Exposed the --p-cut option on the demux-single and demux-paired commands to support libraries with poly-N tails :dna:
    • vaamb Added support for anchored adapters to the demux-single and demux-paired commands for higher confidence and faster demultiplexing :running_man:
  • q2-dada2

    • @dwthomas fixed a bug in denoise-paired that was causing samples with zero sequences after the filtering and denoising steps to be dropped, but retaining samples that had zero sequences after merging and later steps. These samples are now dropped from the resultant table, but retained in the denoising stats :chart_with_upwards_trend:
  • q2-demux

    • @Oddant1 Fixed a bug causing NaNs to appear in the demux summarize viz :hash:
  • q2-diversity

    • @jphagen exposed the ignore_missing_samples parameter from emperor plot in core-metrics and core-metrics-phylogenetic. This allows users to handle the case where samples present in their input table are missing from their metadata file when using either of the core metrics pipelines :pause_button:
  • q2-diversity-lib

    • @wasade updated alpha-diversity to rely on the biom.Table API and perform alpha calculations on a per-sample basis (avoiding conversion to a full dense matrix) :abacus:
  • q2-feature-classifier

    • @vaamb made a change to classify-consensus-vsearch that reduces both the memory load and runtime :stopwatch:
    • @SirDavidLudwig improved the efficiency and performance of confidence-based taxonomy prediction by removing the need for deepcopy :copyright:
  • q2-feature-table

    • @isaiah-ghost Added the summarize-plus pipeline that returns feature frequencies, sample frequencies, and the summarize viz, along with some numeric formatting improvements to the original summarize viz :1234:
    • @Oddant1 fixed a :beetle: where hyperlinks on sequences in tabulate-seqs weren't linking to BLAST :boom:
    • @jphagen added the --p-allow-empty-table parameter for all filtering methods (i.e. filter-samples, filter-features, filter-features-conditionally) that will default to raising an error if the filtering parameters provided result in an empty table :pouring_liquid:
  • q2-moshpit

    • @Oddant1 Added parallel support for the classify-kraken2 action :space_invader:
  • q2-quality-control

    • @jordenrabasco fixed a bug in decontam-identify that disallowed special characters in users' metadata :symbols:
  • q2-sample-classifier

    • @Nicholas_Bokulich added support for additional FeatureTable types (i.e. RelativeFrequency, PresenceAbsense, Composition) in classify-* and regress-* actions :bar_chart:
  • q2-types

    • @Sann5 expanded the allowed alphabet for ProteinFASTAFormat to include U, O, J and all lowercase characters :abcd:
    • @Oddant1 migrated all of the types/formats/transformers/etc from q2-types-genomics into q2-types. This improves compatibility between the different distributions. :partying_face:
  • q2-vsearch

    • @colinvwood exposed the --o-unmerged-sequences output to allow users to retain the unmerged paired-end reads as an artifact for further analysis :mag:
    • @vaamb exposed the --p-strand option to the cluster-features-de-novo command to add support for mixed orientation reads :dna:

Documentation Updates :books: