Hi all,
I'm very excited to announce the availability of Developing with QIIME 2 (DWQ2), a new Jupyter Book that you can find at https://develop.qiime2.org.
DWQ2 replaces and expands on the old QIIME 2 Developer Documentation (previously available at https://dev.qiime2.org). The most notable new content is the Plugin Development Tutorial, which provides hands-on instruction for creating a QIIME 2 plugin. This begins with the creation of a plugin from a new cookiecutter template, and then walks through adding functionality in a series of sections. To help get you started, I've also created a 10-minute video that introduces DWQ2, and then walks through building a new QIIME 2 plugin from template.
DWQ2 is still a work in progress, and new content is continuously being added. I'd love any feedback on it (DM on the forum is ideal), and I am open to requests for new content.
Hi all,
There have been some exciting updates to Developing with QIIME 2 (DWQ2) since I last posted about it. The highlights are that the Plugin Developer API documentation has been expanded and reorganized (thanks to @ebolyen for writing and @cherman2 for reviewing the content!), and the cookiecutter template now templates installation instructions targeting the developer's choice of release or development versions of the amplicon, metagenome, or tiny QIIME 2 distributions.
As always, reach out if you have feedback on DWQ2 (DM'ing me on the forum is best for that), or if you have questions about developing QIIME 2 plugins (posting to the Developer Discussion category is best for that).
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.
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.)