Hi all,
There's been another round of updates to Developing with QIIME 2 that I'd like to share.
First, we now have two new Plugin Development How-to guides, both written by @lizgehret. The first, Facilitating installation of your plugin for users provides recommendations on creating conda environments that you can provide to your users which will allow them to install your plugin(s) with a single conda command, just as if they were installing one of the distributions (tiny, amplicon, or metagenome) that my lab maintains. The second, Automate testing of your plugin, describes how to configure GitHub Actions for continuous integration testing of your plugin, and for weekly automated builds against the most recent QIIME 2 development environments. Thanks @lizgehret for this content!
The other big addition is a new section in the Plugin Development tutorial, which adds a Pipeline to the tutorial plugin (q2-dwq2) with parallel computing support. This introduces the concept of split-apply-combine for parallel computing workflows, and applies it in the context of a new Pipeline that performs a BLAST-like search. When I apply this on my laptop using 5 processors, I see a nice speedup in the processing of a small amount of real sequence data. This can be seen when comparing the data provenance of Visualizations resulting from the two runs:
This same approach would enable splitting jobs across more processors on a single computer, or across multiple nodes on a cloud or HPC system, depending on your users' parsl configuration.
There's lots more still to come! Next up will be a tutorial section on integrating metadata in your QIIME 2 Actions, and how to wrap R-based functionality in a QIIME 2 plugin. Then I'll be switching gears for a bit to work on the user documentation refactor.
Stickers!
Oh, and we have some new stickers!
If you're learning from Developing with QIIME 2, or supporting users or developers on the QIIME 2 Forum, and want a sticker, send me a DM with some info on what you're doing and your physical address and I'll get one out to you. (I'll do my best for folks outside the USA, but it will just depend on my shipping costs.)
Happy developing!