I have used the q2-composition da-barplot plugin to visualize the differencials obtained by q2-composition ancombc. The output based on feature table is quite straightforward, each differential ASV is listed by the HASH.
In order to have the taxonomic annotation instead of the hashes, I converted the feature table by q2-taxa collapse using --p-level 7 to add the taxonomic info to the taxonomic feature table.
When using the feature table w/ taxonomic labels, the output of q2-composition da-barplot looks great, but I have some question on the exact meaning of the labels added to the taxonomic bars:
Some taxa do show an asterisk (*) at the end: What does this mean?
Some taxa received a number at the beginning: Does this indicate that several ASVs (hash ids) were collapsed at this taxonomic entry?
Furthermore, some ASV labelled as 's_unculturered_bacterium' were not collapsed, but showed up several times. Is this a bug or a feature, e.g. several uncultured bacteria ASVs with significantly differential abundance between the two groups?
This means that these taxon have the same "most specific level" but different taxonomic labels. You should be able to mouse over the barplots for more specifics on the whole taxon.
This is just a way to differentiate the taxon with the same "most specific level" but different taxonomic labels
This is a feature. Basically uncultured_bacterium was what this feature was labeled in your classifiers reference database. It might be helpful to collapse at the genus to avoid those weird species labels or when you are discussing these findings referring to them as uncultured [insert genus name].
Hi @cherman2 and @lizgehret
I have identified an issue related to the taxa collapse suggestion by @cherman2 using the most recent q2-2023.5 release, and I could not find the reason for this:
I followed the above suggestion and collapsed the feature table at taxonomic level 5 and 6:
The ancombc analysis was ok!
However, I often compare differential abundance also using q2-aldex2 (installed in q2-2021.2: seems not compatible with later releases). However I get an error message from
q2 aldex2 aldex2 (using qiime2-2021.2)
Invalid value for '--i-table': 'od09_dada2_rpca-class-1_BPT-PPU-KA-BT-v1_depth-20_Aerob/filtered_table_L6b.qza' is not a QIIME 2 Artifact (.qza)
This error appears, when the taxa-collapsed feature table was created by q2-2023.5, but does not appear when using q2-2023.2 release (the use of subfolders is not the problem, it is my way to get the various qiime2 outputs sorted in a meaningfull way )
My workaround for the moment is perfomings different steps using various releases of qiime2:
q2 taxa collapse in q2-2023.2
q2 ancombc in q2-2023.5
q2 aldex2 in q2-2021.2
I add @dgiguer and @mortonjt to this post as the authors of q2-aldex2 on Qiime 2 Library.
I tested q2 tools validate using the the following scheme:
I created two taxa collapse qza files using q2-2023.2 and q2-2023.5:
I analyzed the files in q2-2023**.2** using q2 tools validate:
(qiime2-2023.2) [bt140047@btrvx179 issue-collapse]$ qiime tools validate filtered_table_L6_q2-2023-2.qza
Result filtered_table_L6_q2-2023-2.qza appears to be valid at level=max.
(qiime2-2023.2) [bt140047@btrvx179 issue-collapse]$ qiime tools validate filtered_table_L6_q2-2023-5.qza
Traceback (most recent call last):
File "/home/bt140047/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/builtin/tools.py", line 555, in validate
result = qiime2.sdk.Result.load(path)
File "/home/bt140047/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/sdk/result.py", line 74, in load
peek = cls.peek(filepath)
File "/home/bt140047/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/sdk/result.py", line 58, in peek
File "/home/bt140047/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/core/archive/archiver.py", line 338, in peek
File "/home/bt140047/miniconda3/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/core/archive/archiver.py", line 327, in _futuristic_archive_error
raise ValueError("%s was created by 'QIIME %s'. The currently"
ValueError: filtered_table_L6_q2-2023-5.qza was created by 'QIIME 2023.5.0'. The currently installed framework cannot interpret archive version '6'.
There was a problem loading filtered_table_L6_q2-2023-5.qza as a QIIME 2 Result:
filtered_table_L6_q2-2023-5.qza was created by 'QIIME 2023.5.0'. The currently installed framework cannot interpret archive version '6'.
See above for debug info.
I analyzed the same files in q2-2023**.5** usimg q2 tools validate: both seem to be ok:
(qiime2-2023.5) [bt140047@btrvx179 issue-collapse]$ qiime tools validate filtered_table_L6_q2-2023-2.qza
Result filtered_table_L6_q2-2023-2.qza appears to be valid at level=max.
(qiime2-2023.5) [bt140047@btrvx179 issue-collapse]$ qiime tools validate filtered_table_L6_q2-2023-5.qza
Result filtered_table_L6_q2-2023-5.qza appears to be valid at level=max.
Aldex2 however accepts only the 2023.2 collapsed qza.
After talking with some of the devs, this is an expected error because we changed the archive format being used in this release. This means that any older version of qiime2 (qiime2-2023.2 or older) will not be able to interpret qiime2 artifacts from qiime2-2023.5.
Currently, the only way to deal with this if you want to use community plugins like aldex2 is to not upgrade to qiime2-2023.5.
Sorry for the inconvenience!
Does this recommendation apply only to community plugins, or to q2 core plugins, too? I have re-analyzed some older data created with q2-2021.11 with core q2-2023.5 plugins and could not detect any error so far.
Should we use previous q2 releases in general, or just switch to previous releases when using community plugins (and prepare input artifacts for community plugins with the appropriate releases, if necessary)?
I have read in q2 Library About, that the status of implementation is marked at Phase 1. I would like to take the opportunity to thank you and all the developers of community plugins for these great tools! As a head of a genomics core facility, I give recommendation to colleagues and students, and I would like to make sure to give the correct recommendations. Is there a compatibility list of community plugins with q2 releases which I could use as a guide for my collaborators or students?
This only applies when you have generated an artifact in the new version (2023.5) and then you go back to an older version like (2023.2). An artifact from 2023.2 will work fine in 2023.5 but an artifact from 2023.5 will not be valid in 2023.2 because we are using a new archive directory that q2-2023.2 doesn't know about. I hope that makes sense.
This is only a real issue with community plugins because sometimes they only work with specific releases. No core plugins should require you to downgrade your qiime2 env.
This is kinda a case by case decision. For me, I typically stick with a q2-version throughout my whole analysis unless I have a really good reason that I feel like I could justify well in my paper. For example, I would run the whole analysis in the newer version but maybe I would downgrade to use aldex 2, and run all associated steps. That is a lot of work right now since you would have to run all steps prior to aldex in a older version of qiime2, but again most plugins should be compatible with the new release, just some are not.
I do not think there is a compatibility list of community plugins at the moment, but I will be sure to pass this feedback along to the development team!