QIIME 2 2020.2 has been released!
Please see the official changelog for more details.
Original content of post
Important
The following is an early developer preview of the changes expected in 2020.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.
Important Developer Information
Dates (please keep an on this post, these might change):
- PRs must be submitted by: February 10, 2020
- PRs must be merged by: February 17, 2020
- Repo Freeze and Package Building: February 20, 2020
- Release Day: February 21, 2020
Developer Project Board: https://github.com/orgs/qiime2/projects/18
BREAKING CHANGES
-
q2-alignment
-
mafft
:0
is no longer an acceptable value forn_threads
. Please specifyauto
instead.
-
-
q2-phylogeny
-
fasttree
:0
is no longer an acceptable value forn_threads
. Please specifyauto
instead. -
iqtree
:0
is no longer an acceptable value forn_cores
. Please specifyauto
instead. -
iqtree_ultrafast_bootstrap
:0
is no longer an acceptable value forn_cores
. Please specifyauto
instead. -
align_to_tree_mafft_fasttree
:0
is no longer an acceptable value forn_threads
. Please specifyauto
instead.
-
-
q2-gneiss
-
balance_taxonomy
: this visualizer has been removed. -
ols_regression
: this visualizer has been removed. -
lme_regression
: this visualizer has been removed.
-
Please update scripts, workflows, etc. as appropriate. Stuck? Reach out here on the forum for help. Want to test this prior to the next release of QIIME 2? Check on the Dev Env instructions here:
https://dev.qiime2.org/latest/quickstart/
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_primitive
which caused incorrect coercion on some TypeMaps.
-
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.
-
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
-
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
-
@mortonjt added a
--p-invert
flag to thebiplot
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.
-
@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
heatmap
visualizer 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_matrix
prediction 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 ifemp-single
/emp-paired
are unable to map any reads.
-
-
q2-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
, andweak_id
parameters toclassify-consensus-vsearch
andclassify_hybrid_vsearch_sklearn
-
@David-Rod created a much nicer error message for when
-
q2-phylogeny
-
@SoilRotifer added the pipelines
align-to-tree-mafft-iqtree
andalign-to-tree-mafft-raxml
. These are similar to align-to-tree-mafft-fasttree, but uses IQ-TREE / RAxML for phylogenetic inference.- The
--parttree
option was only addedalign-to-tree-mafft-fasttree
and thealign-to-tree-mafft-raxml
pipelines. This option addresses the case for which alignments of over 1 million reads are requested.
- The
-
BREAKING @thermokarst changed the allowed values for the several method method’s
n_threads
andn_cores
parameters fromInt % Range(0, None)
toInt % Range(1, None) | Str % Choices(['auto'])
. This disallows the use of the value0
for specifying automatic number of threads/cores, instead, users should use the valueauto
instead.
-
@SoilRotifer added the pipelines
-
q2-alignment
-
BREAKING @thermokarst changed the allowed values for the
mafft
method’sn_threads
parameter fromInt % Range(0, None)
toInt % Range(1, None) | Str % Choices(['auto'])
. This disallows the use of the value0
for specifying automatic number of threads, instead, users should use the valueauto
instead.
-
BREAKING @thermokarst changed the allowed values for the
-
q2-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!
-
@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.
-
q2-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
-
@David-Rod fixed a bug that prevented the
-
q2-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.
-
@Nicholas_Bokulich fixed a bug in the
-
q2-composition
-
@thermokarst fixed a minor bug that caused the
ancom
visualization’s mouseover to break.
-
@thermokarst fixed a minor bug that caused the
-
q2-gneiss
-
BREAKING @thermokarst removed three deprecated visualizers:
balance_taxonomy
,ols_regression
, andlme_regression
.
-
BREAKING @thermokarst removed three deprecated visualizers:
-
q2-quality-control
-
@gwarmstrong GH
added a newexclude_seqs
parameter for use withvsearch
: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!
- 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
matplotlib
into the standard distribution!
Happy QIIME-ing!