getting version numbers for packages used in qiime2 plugins

I am trying to find the version of specific packages used in the qiime2 plugins, in order to report what versions I used. For example, the version of dada2, cutadapt, and scikit-learn used. I know that qiime info gives you version numbers, but most of these look like the same version of qiime that I had used (2020.2) and are only for the plugins (not for any other packages). I used qiime tools citations as well on my taxonomy.qza file, and that doesn't tell me the version of scikit-lean. The version info I see is (among other citations) feature-classifier:2020.2.0, dada2:2020.2.0 and cutadapt:2020.2.0.

I am using qiime in a conda environment, so I looked up the packages and versions in that conda environment with conda list. With this, I can see that it is cutadapt version 2.8, but there is also q2-cutadapt version 2020.2.0. Which one would be the correct one to report? The only dada2 I can see is q2-dada2 version 2020.2.0. This versioning doesn't look like the way the versions are listed on the dada2 webpage current version is 1.16? Is this because it is a qiime2 version of dada2 (not the R version)? But isn't there a specific version of dada2 (version 1.x) used in qiime2 (and has changed over time, as I've seen in forum posts)? How can I find this version information? Or is 2020.2.0 sufficient to report for dada2 managed in qiime2 now?

I can find the version of scikit-learn using the conda list command (version 0.22.1). But is there a way to find this information more easily?

Sorry there are a lot of questions in there. Really, I want to be able to say that we used qiime 2 version 2020.2, primers were trimmed using cutadapt version x, denoising was done with dada2 version y, and ASVs were classified using scikit learn version z. And I'm having trouble with what those versions actually are.
Thanks!

Hello Emilie,

You are on the right track! The command qiime tools citations will tell what was used to make a specific artifact, so that's where to start. Then conda list shows you all the packages to fill in the gaps.

Let's talk about those double versions:

Qiime2 and it's plugins are often named like year.month.patch

The underlying packages can be named any-which-way, but it's often major.minor.patch.

On a paper, I would report the underlying package version (2.8) and the Qiime2 version (2020.2.0). I would not worry about the versions of all the plugins in the main text.

Let's use DADA2 as an example.

Yes, that's the version of the Qiime2 plugin, not the R package.

That can be found with conda list. Try this:

>$ conda list | grep dada

bioconductor-dada2   1.22.0   r41h619a076_1   bioconda
q2-dada2             2022.8.0        py38_0   qiime2/label/r2022.8

I would report this as "DADA2 v1.22.0 via bioconductor" in the manuscript.

(I'm not sure why the bioconductor releases don't quite match the GitHub releases. :person_shrugging: )

That's the best way I know of. That trick with grep can be helpful.

>$ conda list | grep scikit

scikit-bio      0.5.7    py38h6c62de6_0    conda-forge
scikit-learn    0.24.1   py38h658cfdd_0    conda-forge

:bulb: One final idea.

Listing key software in the manuscript is important because you can provide a citation to give the authors credit. :handshake:

But if you want to list all the software you used along the way, you can export the full conda environment and include it with the supplementary files:

conda env export > qiime2_env_brislawn_2022_q2_forms_24258.yml

2 Likes