QIIME 2 2020.2 is now available!
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 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
 BREAKING CHANGES 
- q2-alignment- mafft:- 0is no longer an acceptable value for- n_threads. Please specify- autoinstead.
 
- q2-phylogeny- fasttree:- 0is no longer an acceptable value for- n_threads. Please specify- autoinstead.
- iqtree:- 0is no longer an acceptable value for- n_cores. Please specify- autoinstead.
- iqtree_ultrafast_bootstrap:- 0is no longer an acceptable value for- n_cores. Please specify- autoinstead.
- align_to_tree_mafft_fasttree:- 0is no longer an acceptable value for- n_threads. Please specify- autoinstead.
 
- q2-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- @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- 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_primitivewhich caused incorrect coercion on some TypeMaps. 
 
- @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. 
- docs- @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.  
 
- @fedarko fixed a typo in the Overview Tutorial! 
- q2view- @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  
 
- @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- @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.) (Note: this QIIME 2 interface is not part of the standard distribution, and must be installed separately at this time.)
 
- @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. 
- q2-emperor- @mortonjt added a --p-invertflag to thebiplotvisualizer 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.
 
- @mortonjt added a 
- q2-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 heatmapvisualizer to better handle a variety of matrix sizes! 
- @Oddant1 optimized and modularized unit tests.
- @Oddant1 added a type check to change the data type of the confusion_matrixprediction values to match the data type of the truth values.
 
- q2-demux- @EmFord (GH)added an additional suggestion (modifying the new golay correction parameter) to the error that occurs if- emp-single/- emp-pairedare unable to map any reads.
 
- q2-feature-classifier- @David-Rod created a much nicer error message for when classify-sklearnruns out of memory (a common occurrence).
- @Oddant1 added a new extract_readsparameter: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, andweak_idparameters toclassify-consensus-vsearchandclassify_hybrid_vsearch_sklearn 
 
- @David-Rod created a much nicer error message for when 
- q2-phylogeny- @SoilRotifer added the pipelines align-to-tree-mafft-iqtree and align-to-tree-mafft-raxml . These are similar to align-to-tree-mafft-fasttree, but uses IQ-TREE / RAxML for phylogenetic inference.   - The --parttreeoption was only addedalign-to-tree-mafft-fasttreeand thealign-to-tree-mafft-raxmlpipelines. This option addresses the case for which alignments of over 1 million reads are requested. 
 
- The 
 BREAKING BREAKING @thermokarst changed the allowed values for the several method method's @thermokarst changed the allowed values for the several method method's- n_threadsand- n_coresparameters from- Int % Range(0, None)to- Int % Range(1, None) | Str % Choices(['auto']). This disallows the use of the value- 0for specifying automatic number of threads/cores, instead, users should use the value- autoinstead. 
 
- @SoilRotifer added the pipelines align-to-tree-mafft-iqtree and align-to-tree-mafft-raxml . These are similar to align-to-tree-mafft-fasttree, but uses IQ-TREE / RAxML for phylogenetic inference.
- q2-alignment BREAKING BREAKING @thermokarst changed the allowed values for the @thermokarst changed the allowed values for the- mafftmethod's- n_threadsparameter from- Int % Range(0, None)to- Int % Range(1, None) | Str % Choices(['auto']). This disallows the use of the value- 0for specifying automatic number of threads, instead, users should use the value- autoinstead. 
 
- q2-dada2- @Oddant1 fixed up the description text in the denoise_pairedmethod 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! 
 
- @Oddant1 fixed up the description text in the 
- q2-deblur- @thermokarst fixed a regression  that caused q2-deblur to explode on certain sample ID schemas. that caused q2-deblur to explode on certain sample ID schemas. 
 
- @thermokarst fixed a regression 
- q2-types- @David-Rod fixed a bug that prevented the CasavaOneEightLanelessPerSampleDirFmtformat from being used. 
- @Oddant1 Improved error message when invalid characters are found in DNAFASTAFormat
 
- @David-Rod fixed a bug that prevented the 
- q2-longitudinal- @Nicholas_Bokulich fixed a bug in the pairwise-differencesaction that prevented the user from successfully generating a t-value when there is no between-group variance. 
 
- @Nicholas_Bokulich fixed a bug in the 
- q2-composition- @thermokarst fixed a minor bug that caused the ancomvisualization's mouseover to break. 
 
- @thermokarst fixed a minor bug that caused the 
- q2-gneiss BREAKING BREAKING @thermokarst removed three deprecated visualizers: @thermokarst removed three deprecated visualizers:- balance_taxonomy,- ols_regression, and- lme_regression.
 
- q2-quality-control- @gwarmstrong GHadded a new- exclude_seqsparameter for use with- vsearch:- left_justify! This allows the user to reject matches if the pairwise alignment starts with gaps.
 
- qiime2.org- @David-Rod added a link to our Community Code of Conduct!  
 
- @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 to reflect the new year!
- @Oddant1 brought the latest version of matplotlibinto the standard distribution! 
 
Happy QIIME-ing! 
Share: