QIIME 2 2025.7 is now available!

Hello QIIME 2 Community! :waving_hand:t3:

Our first feature release for 2025 is now available! Thanks (as always) to everyone for their hard work! :partying_face:

As a friendly reminder, we are now doing bi-annual 'full' releases in April and October (which contain new features, bug fixes, and external dependency updates) as well as bi-annual 'feature' releases in July and January (which will contain new features and bug fixes but no external dependency changes). Make sure to keep an eye on our news feed for more up-to-date information on all things QIIME 2! :qiime2:


:police_car_light: Important Announcements :police_car_light:

Python Versioning for Upcoming Full Releases :snake:

  • Target for 2025.10: Python 3.12
  • Target for 2026.4: Python 3.13

Here are the highlights of the release! :sparkler:


QIIME 2 View Updates :mag:

  • @Oddant1 refactored and restyled the provenance DAG page to make it more full screen :mobile_phone:
  • @Oddant1 added a button to the provenance DAG page that resets the DAG to its original state :recycling_symbol:
  • @Oddant1 made it so nodes hit by a provenance search have a blue highlight :blue_circle:

QIIME 2 Library Updates :books:

  • Excited about using QIIME 2 through Galaxy, but want to run it on your own computer? @Oddant1 added new documentation to Using QIIME 2 that illustrates how to use QIIME 2 through Galaxy in our Docker container. Enjoy! :hugs:
  • @lizgehret, @ebolyen, and @gregcaporaso updated the QIIME 2 plugin template from Cookiecutter to Copier :cookie::fax_machine: The main feature motivating this change is that plugins templated with Copier can be updated, which will allow us to automatically submit updates to plugins (e.g., new environment files, when new versions of QIIME 2 are released) and therefore help plugin developers keep their plugins up-to-date with QIIME 2. The Create your plugin from template document in Developing with QIIME 2 has been updated to reflect this change. You can also refer to The structure of QIIME 2 plugin packages to learn about the specific files that are templated into new plugin repositories.

Framework Updates :deciduous_tree:

  • perezthedev and @colinvwood added validation for SingleFileDirectoryFormat, ensuring that only one file is present :page_facing_up:
  • @Oddant1 made it so framework versions going forward will properly handle seeing a cache that's too new for them by raising a helpful error. Older framework versions will identify cache versions too new for them as not a cache and raise an error, but the error won't contain an informative message :money_bag:
  • @Oddant1 made a more informative error when a job is submitted to a remote compute node without the cache being set to a globally accessible location :globe_showing_americas:

Plugin Updates :electric_plug:

  • q2-alignment

    • fethalen added support for the --large flag when running mafft, which uses files, instead of RAM, to store temporary data. This limits RAM usage when aligning very large files. The --large flag has been added to both the mafft and mafft-add commands :white_flag:
  • q2-annotate

    • @Vinzent_Risch added support for passing joined reads and contigs to the classify-kaiju action :dna:
    • @misialq added an ability to extract EC numbers into a feature table in the extract-annotations action :gear:
    • @Vinzent_Risch added two new metrics (completeness and contamination) to the BUSCO results and visualization :bar_chart:
    • @misialq added a new construct-pangenome-index action to allow index construction before read filtering :card_index_dividers:
  • q2-assembly

    • @misialq added a new simulate-reads-mason action to generate simulated reads using the Mason simulator :test_tube:
  • q2-dada2

    • @colinbrislawn exposed the maxMismatch and trimOverhang parameters in the denoise-paired action, allowing more flexibility when merging reads with large overlapping regions :dna:
  • q2-demux

    • @Macabe222 added an option to drop empty samples after subsampling in the subsample-single and subsample-paired actions :wastebasket:
  • q2-diversity

    • @Macabe222 added a clearer error message when feature tables with a single sample are mistakenly given to pipelines that perform beta diversity analyses :hammer_and_wrench:
  • q2-feature-classifier

    • @Macabe222 added a "both" option to the --p-read-orientation parameter to the classify-sklearn action that selects the classification of highest confidence between the forward orientation and reverse complement orientation of each query sequence :chart_increasing:
  • q2-feature-table

    • @Macabe222 made the split action more efficient by taking advantage of new biom.Table.partition functionality :abacus:
    • @lizgehret added FeatureTable[RelativeFrequency | PresenceAbsence | Composition] as allowed inputs in heatmap :clinking_glasses:
    • @lizgehret updated some verbiage in the summarize visualization to more accurately specify Unique Features vs. Total Observations :eyes:
    • @gregcaporaso added a usage example to filter-features that illustrates how to filter features from a feature-table that are present in a FeatureData[Sequence] artifact. This same approach can be used to filter sequences that instead are not present in that artifact. Call qiime feature-table filter-features --help to see this example.
  • q2-rescript

    • @SoilRotifer added the action get-midori2-data. This action enables users to fetch reference mitochondrial DNA sequence data from the MIDORI Reference 2 database. Multiple reference gene sequences can be simultaneously fetched :partying_face:
  • q2-types

    • @cherman2 made Dist1Ds convertable to metadata :file_cabinet:
    • @lizgehret fixed a :beetle: in MultiDirValidationMixin that was causing pesky dotfiles (such as .DS_Store) to raise a ValidationError :no_entry:
  • q2-quality-control

    • @jordenrabasco made various improvements to the decontam-score-viz visualizer, including a default sequence table when representative sequences are not provided, paginated sequence tables, sortable sequence table columns, and a more performant sequence table sorting algorithm :nerd_face:
    • @jordenrabasco removed the decontam-remove action, as this was redundant with other workflows for removing features from feature tables. You should now use qiime feature-table filter-features and qiime feature-table filter-seqs.
  • q2-vizard

    • @Vinzent_Risch and @lizgehret added automatic plot resizing (based on browser window size) for scatterplot_2d and lineplot :chart_increasing:
    • @Vinzent_Risch and @lizgehret added support for zooming in/out for scatterplot_2d and lineplot :magnifying_glass_tilted_right:
    • @Vinzent_Risch added a new slider for resizing line marks' stroke width in lineplot
    • @lizgehret added a new on/off toggle for marks in lineplot :control_knobs:
    • @lizgehret updated the default color palette for all visualizers to category10 :rainbow:
  • q2-diversity-lib

    • @cherman2 fixed a :beetle: that caused faith_pd to truncate sample ids if they looked like floats :bubbles:. Thanks @Lichen for pointing this out!
Share:
Back to Blog