# QIIME 2 2020.2 is now available!

**URL:** https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822
**Category:** Announcements
**Tags:** release
**Created:** [February 28, 2020, 9:34pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822 "2020-02-28T21:34:40Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![q2d2](https://forum.qiime2.org/user_avatar/forum.qiime2.org/q2d2/32/613_2.png) [@q2d2](https://forum.qiime2.org/u/q2d2)
#### Post date: [February 28, 2020, 9:34pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/1 "2020-02-28T21:34:40Z")

</div>

The QIIME 2 2020.2 release is now available! Thanks to everyone involved for their hard work!

As a reminder, our next planned QIIME 2 release is scheduled for late May 2020 (QIIME 2 2020.5), but please stay tuned for updates.

Check out the [QIIME 2 2020.2 docs](https://docs.qiime2.org/2020.2/) 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!

Virtual machine builds will be available sometime within the next week - watch this topic thread for an update!

* * *

### ❗ BREAKING CHANGES ❗

- [q2-alignment](https://docs.qiime2.org/2020.2/plugins/available/alignment/)
  - `mafft`: `0` is no longer an acceptable value for `n_threads`. Please specify `auto` instead.

- [q2-phylogeny](https://docs.qiime2.org/2020.2/plugins/available/phylogeny/)
  - `fasttree`: `0` is no longer an acceptable value for `n_threads`. Please specify `auto` instead.
  - `iqtree`: `0` is no longer an acceptable value for `n_cores`. Please specify `auto` instead.
  - `iqtree_ultrafast_bootstrap`: `0` is no longer an acceptable value for `n_cores`. Please specify `auto` instead.
  - `align_to_tree_mafft_fasttree`: `0` is no longer an acceptable value for `n_threads`. Please specify `auto` instead.

- [q2-gneiss](https://docs.qiime2.org/2020.2/plugins/available/gneiss/)
  - `balance_taxonomy`: this visualizer has been removed.
  - `ols_regression`: this visualizer has been removed.
  - `lme_regression`: this visualizer has been removed.

* * *

### Highlights

- [QIIME 2 Framework](https://github.com/qiime2/qiime2)
  - @David-Rod added a new check to better handle misconfigured timezones in a QIIME 2 environment. If QIIME 2 and tzlocal are unable to determine the machine's current timezone (or, if it determines that there are multiple conflicting definitions), QIIME 2 will fall back to using UTC as the timezone when stamping out provenance. ⏲
  - @thermokarst added a new type-checking utility `is_metadata_column_type`. ☠
  - @ebolyen & @thermokarst revised the way that plugins are registered on an instance of [`PluginManager`](https://dev.qiime2.org/latest/api-reference/sdk/#qiime2.sdk.PluginManager) - it is now possible to register plugins on-demand, which can be particularly helpful for testing and development. 🌽
  - @thermokarst & @ebolyen added a new _Usage API_, allowing plugin developers to register interface-agnostic usage examples as part of their plugins. We are still working on interface support for this, so while the API exists, it is of limited utility at the moment - keep your eyes peeled for a full launch later this year! 🥮
  - @ebolyen fixed a minor issue with `parse_primitive` which caused incorrect coercion on some TypeMaps. 🐛

- [docs](https://docs.qiime2.org/2020.2)
  - @fedarko fixed a typo in the Overview Tutorial! 🐛
  - The gneiss tutorial has been updated to reflect the breaking changes noted above.
  - @thermokarst added a tutorial demonstrating common utility functions in QIIME 2. 🔧

- [q2view](https://view.qiime2.org)
  - @ebolyen remove some logic that was limiting certain requests from happening, these checks were intended as part of a broader plan of work that has yet to be tackled 🏈

- [q2cwl](https://github.com/qiime2/q2cwl)
  - @David-Rod corrected a bug that prevented q2cwl from handling primitive union types. q2cwl can once again render all QIIME 2 actions as CWL tools. 🛠 (Note: this QIIME 2 interface is not part of the standard distribution, and must be installed separately at this time.)

- [q2-emperor](https://docs.qiime2.org/2020.2/plugins/available/emperor/)
  - @mortonjt added a `--p-invert` flag to the `biplot` visualizer which allows you to swap arrows and points (useful for exploring microbe-metabolite data).
  - Updated the dependencies to the latest release of Emperor (1.0.0 🐧 🥳 ) .
  - Fixed a bug that would fail to produce the SVG legend for a plot.
  - Fixed a bug that caused the table of categories to only update when the window was resized.
  - Fixed a bug that would create duplicated axes when changing visible dimensions.

- [q2-sample-classifier](https://docs.qiime2.org/2020.2/plugins/available/sample-classifier/)
  - @jwchen fixed a graphical glitch which would cause the legend of the confusion matrices to be repeatedly plotted when executed multiple times in the Artifact API.
  - @ChrisKeefe cleaned up the `heatmap` visualizer to better handle a variety of matrix sizes! :maté:
  - @Oddant1 optimized and modularized unit tests.
  - @Oddant1 added a type check to change the data type of the `confusion_matrix` prediction values to match the data type of the truth values.

- [q2-demux](https://docs.qiime2.org/2020.2/plugins/available/demux/)
  - [`@EmFord (GH)`](https://github.com/EmFord) added an additional suggestion (modifying the new golay correction parameter) to the error that occurs if `emp-single`/`emp-paired` are unable to map any reads.

- [q2-feature-classifier](https://docs.qiime2.org/2020.2/plugins/available/feature-classifier/)
  - @David-Rod created a much nicer error message for when `classify-sklearn` runs out of memory (a common occurrence).
  - @Oddant1 added a new `extract_reads` parameter: `read_orientation`! This allows the user to specify the orientation of the primers relative to the sequences. ◀ ▶
  - @Nicholas_Bokulich added `maxhits`, `maxrejects`, `output_no_hits`, and `weak_id` parameters to `classify-consensus-vsearch` and `classify_hybrid_vsearch_sklearn` 🧲

- [q2-phylogeny](https://docs.qiime2.org/2020.2/plugins/available/phylogeny/)
  - @SoilRotifer added the pipelines [align-to-tree-mafft-iqtree](https://docs.qiime2.org/2020.2/plugins/available/phylogeny/align-to-tree-mafft-iqtree/) and [align-to-tree-mafft-raxml](https://docs.qiime2.org/2020.2/plugins/available/phylogeny/align-to-tree-mafft-raxml/) . These are similar to [align-to-tree-mafft-fasttree](https://docs.qiime2.org/2019.10/plugins/available/phylogeny/align-to-tree-mafft-fasttree/), but uses IQ-TREE / RAxML for phylogenetic inference.🎢 🌲
    - The `--parttree` option was only added `align-to-tree-mafft-fasttree` and the `align-to-tree-mafft-raxml` pipelines. This option addresses the [case](https://forum.qiime2.org/t/1-1-no-such-option-p-parttree/10963) for which alignments of over 1 million reads are requested. 🧗‍♀️

  - ❗ BREAKING ❗@thermokarst changed the allowed values for the several method method's `n_threads` and `n_cores` parameters from `Int % Range(0, None)` to `Int % Range(1, None) | Str % Choices(['auto'])`. This disallows the use of the value `0` for specifying automatic number of threads/cores, instead, users should use the value `auto` instead. 👜

- [q2-alignment](https://docs.qiime2.org/2020.2/plugins/available/alignment/)
  - ❗ BREAKING ❗@thermokarst changed the allowed values for the `mafft` method's `n_threads` parameter from `Int % Range(0, None)` to `Int % Range(1, None) | Str % Choices(['auto'])`. This disallows the use of the value `0` for specifying automatic number of threads, instead, users should use the value `auto` instead. 🥙

- [q2-dada2](https://docs.qiime2.org/2020.2/plugins/available/dada2/)
  - @Oddant1 fixed up the description text in the `denoise_paired` method to reflect the new minimum overlap of 12 nts, verus the older 20 nt requirement. This change isn't new, we just forgot to update the help text! 🧠

- [q2-deblur](https://docs.qiime2.org/2020.2/plugins/available/deblur/)
  - @thermokarst fixed a regression 👁 that caused q2-deblur to explode on certain sample ID schemas. 🤯

- [q2-types](https://docs.qiime2.org/2020.2/plugins/available/types/)
  - @David-Rod fixed a bug that prevented the `CasavaOneEightLanelessPerSampleDirFmt` format from being used. 🥠
  - @Oddant1 Improved error message when invalid characters are found in DNAFASTAFormat

- [q2-longitudinal](https://docs.qiime2.org/2020.2/plugins/available/longitudinal/)
  - @Nicholas_Bokulich fixed a bug in the `pairwise-differences` action that prevented the user from successfully generating a t-value when there is no between-group variance. 🤝

- [q2-composition](https://docs.qiime2.org/2020.2/plugins/available/composition/)
  - @thermokarst fixed a minor bug that caused the `ancom` visualization's mouseover to break. 🐁

- [q2-gneiss](https://docs.qiime2.org/2020.2/plugins/available/gneiss/)
  - ❗ BREAKING ❗ @thermokarst removed three deprecated visualizers: `balance_taxonomy`, `ols_regression`, and `lme_regression`.

- [q2-quality-control](https://docs.qiime2.org/2020.2/plugins/available/quality-control/)
  - [`@gwarmstrong GH`](https://github.com/gwarmstrong) added a new `exclude_seqs` parameter for use with `vsearch`: `left_justify`! This allows the user to reject matches if the pairwise alignment starts with gaps.

- [qiime2.org](https://qiime2.org)
  - @David-Rod added a link to our Community Code of Conduct! 🦑

- Misc.
  - @David-Rod updated the licenses and copyright headers for the [QIIME 2 project repositories](https://github.com/qiime2) to reflect the new year!
  - @Oddant1 brought the latest version of `matplotlib` into the standard distribution! 📊

Happy QIIME-ing! 🌞

---

<div class="post-metadata">

### Author: ![gkma](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/g/e68b1a/32.png) [@gkma](https://forum.qiime2.org/u/gkma)
#### Post date: [March 2, 2020, 9:51am UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/3 "2020-03-02T09:51:23Z")

</div>

Dear qiime supporters  
Thanks for highlighting the changes very clearly. Concerning q2-gneiss, the regressions were such a nice way to get numbers on which variables affect community composition most. as ols\_regression has been removed, is there any alternative?  
Best, Maria

---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [March 2, 2020, 3:01pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/4 "2020-03-02T15:01:37Z")

</div>



---

<div class="post-metadata">

### Author: ![Nicholas\_Bokulich](https://forum.qiime2.org/user_avatar/forum.qiime2.org/nicholas_bokulich/32/19937_2.png) [@Nicholas\_Bokulich](https://forum.qiime2.org/u/Nicholas_Bokulich)
#### Post date: [March 3, 2020, 5:36am UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/8 "2020-03-03T05:36:15Z")

</div>

A post was split to a new topic: [which table stats describe otu table?](https://forum.qiime2.org/t/which-table-stats-describe-otu-table/13859)

---

<div class="post-metadata">

### Author: ![q2d2](https://forum.qiime2.org/user_avatar/forum.qiime2.org/q2d2/32/613_2.png) [@q2d2](https://forum.qiime2.org/u/q2d2)
#### Post date: [March 5, 2020, 9:35pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/9 "2020-03-05T21:35:06Z")

</div>

Wow! We have a special treat for you - VMs are fresh out of the oven 🍞 👩‍🍳 🔥! Head on over to the [docs](https://docs.qiime2.org/2020.2/install/virtual/) for more details!

---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [March 5, 2020, 9:35pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/10 "2020-03-05T21:35:57Z")

</div>

Hi @gkma, we have asked @mortonjt to comment on this - hopefully he will get a chance to reply soon.

---

<div class="post-metadata">

### Author: ![mortonjt](https://forum.qiime2.org/user_avatar/forum.qiime2.org/mortonjt/32/3488_2.png) [@mortonjt](https://forum.qiime2.org/u/mortonjt)
#### Post date: [March 11, 2020, 5:14pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/11 "2020-03-11T17:14:49Z")

</div>

Hi @gkma, we now recommend to use songbird/aldex2 instead of gneiss for regression analysis.

> **[GitHub - biocore/songbird: Vanilla regression methods for microbiome...](https://github.com/biocore/songbird)**
>
> Vanilla regression methods for microbiome differential abundance analysis

Further developments on gneiss are currently pending incorporating phylogenetic visualizations in qiime2.

---

<div class="post-metadata">

### Author: ![Nicholas\_Bokulich](https://forum.qiime2.org/user_avatar/forum.qiime2.org/nicholas_bokulich/32/19937_2.png) [@Nicholas\_Bokulich](https://forum.qiime2.org/u/Nicholas_Bokulich)
#### Post date: [March 11, 2020, 5:53pm UTC](https://forum.qiime2.org/t/qiime-2-2020-2-is-now-available/13822/12 "2020-03-11T17:53:19Z")

</div>


