Did these plugins get eliminated in newer versions? The link from the Qurro GitHub site just goes to the generic Qiime2 plugins page and I dont see it in there. Has it been replaced with something different?
Hello @Ravenclaw,
Qurro and Songbird are tools developed by a 3rd party not developed and maintained by the core QIIME 2 development team. Their integration with QIIME 2 was also developed and maintained by said 3rd party. To my knowledge they were never shipped natively with any version of QIIME 2, but I may be wrong on that.
They, and many other community plugins like them, ended up not receiving regular updates from their maintainers to keep up with new QIIME 2 releases.
I'm not 100% sure what happened to Qurro or Songbird. Given that the last commit to the master branch on the Qurro GitHub repo was 3 years ago and for Songbird it was 5 years ago it appears as though neither tool is still in active development. You should still be able to use the older versions of them either standalone or with the older versions of QIIME 2 they are compatible with.
We are trying to alleviate this issue as much as possible with QIIME 2 Library which is currently in the middle of a total redesign. It should end up making it apparent what community plugins are available and which versions of QIIME 2 they support which the previous implementation of library did not make obvious. It should also make it easier for 3rd party plugin developers to make sure their plugins work with newer versions of QIIME 2, but the burden of actually making their plugins compatible will still fall on them.
Hi! I can't speak regarding Songbird, but Qurro is (hopefully!) not dead -- I intend to keep supporting it. See below for more details, but I just released a new version of it (v0.9.0, available via pip) which supports all QIIME 2 amplicon distributions* ≥ 2020.11 and all Python versions ≥ 3.6. So, Qurro should now work fine in modern distributions of QIIME 2 (as of writing).
* It should be compatible with other QIIME 2 distributions, too (I just checked and it seems to work fine in the 2024.10 metagenome distribution), but for now the automatic testing just uses the amplicon distributions.
The link from the Qurro GitHub site just goes to the generic Qiime2 plugins page and I dont see it in there.
I am not sure which link you are referring to (please let me know if you remember -- if something is broken I can fix it!) In any case, it looks like there is still a plugin page for Qurro buried way back in the recesses of the old QIIME 2 library ... like a soot-covered book locked away in the basement of the Library of Alexandria, if it had a basement. I don't know if it had a basement.
Anyway, as Anthony said,
They, and many other community plugins like them, ended up not receiving regular updates from their maintainers to keep up with new QIIME 2 releases.
This sums it up. A while ago, QIIME 2 introduced a very reasonable dependency requirement (a modern version of Altair) which conflicted with one of Qurro's own dependency requirements (pinning Altair to an old version, which was a jury-rigged solution I should've fixed long ago). The only way around this was to update and test Qurro to handle the new version of Altair, which I didn't have time for.
Anyway! Excuses are boring. I had a bit of time over the past few days, so I resolved the issue and released a new version of Qurro that supports recent QIIME 2 environments. A nice side effect of having the dependencies up-to-date is that Qurro now supports the creation of jitter plots, now that it is using a newer version of Altair / Vega-Lite under the hood.
While I'm writing this up, I do want to note that this process (making the changes, and doing my best to verify that these changes didn't subtly break anything) took multiple days' worth of work. This is fine (I genuinely care about making sure these tools remain useful to the community, and I am happy to work on this!) -- but it is challenging to take this kind of time away from other, more immediate tasks, now that developing these plugins is not my main job. I am sure a lot of other developers have found themselves in similar situations. (In the long run, I imagine this is probably why many bioinformatics tools end up silo-ed off into docker containers, dedicated conda environments, etc. -- it's a lot easier to maintain software when the dependencies are fixed.)
We are trying to alleviate this issue as much as possible with QIIME 2 Library which is currently in the middle of a total redesign.
I'm excited for it! I suspect that eventually a later version of QIIME 2 (or pandas, numpy, ...) will again adjust something that requires that Qurro be updated, and I am optimistic that the next round of this process will be smoother
Eventually it would be great to get Qurro (and Empress, I think) set up on the new QIIME 2 library... but I really do need to get back to the other stuff in my thesis now