Gneiss questions


I am using QIIME2 for the statistical analysis of my study data using gneiss. I have three questions.

  1. I used QIIME 1.8 (UCLUST- open-reference OTU picking) with gg13_5 to get my BIOM file. Which taxonomy file I will use in the “qiime gneiss balance-taxonomy” command to specify --i-taxonomy? Or how can I generate a taxonomy file from the BIOM file for gneiss?
  2. How can I get a beta and standard error for individual bacterial taxa those are explaining the differences between the treatment and control groups?
  3. Can gneiss take and analyze interactions (e.g., sex X treatment groups) in the regression model?

Thank you so much for developing QIIME2 and Gneiss.


Hi @nhuda6! We are pinging @mortonjt for some assistance with your questions - he is the brains behind gneiss. Stay tuned!

@thermokarst, thank you so much. I am waiting for reply from @mortonjt.


Hi @nhuda6,

  1. The taxonomy file right now uses the taxonomies generated by qiime2. As of qiime 2017.8, this was done using the feature-classifier plugin.
  2. The coefficients and residuals can be directly downloaded from the visualizations. you should be able to calculate the standard errors from those values.
  3. Yes!! If you wanted to test for interaction effects, all you have to do is have the :. So if you are testing for the interaction effect for sex and treatment groups, you can do --p-formula "sex : treatment_groups". If are you lazy, and want to short way to test for additive effects, you can specify "sex * treatment_groups" which is equivalent to "sex + treatment_groups + sex : treatment_groups".

Hope this helps!

Hi @mortonjt,

Thank you so much for your reply. I am happy that we can now analyze interactions effects with microbiota data. Thank you so much for the beta and residuals. However, I have few follow-up questions.

  1. We already had analyzed our microbiota data by QIIME 1.8 (as indicated in the earlier post). We want to keep consistency and do not want to reanalyze them by QIIME2 (at least for now). Is there any way we can create the taxonomy file from the QIIME 1.8 BIOM file? Or do you have any other suggestions on this? I know some other people also have the same issue. I was wondering if @gregcaporaso has any suggestion on this.
  2. I believe the coefficient (beta) for Subjects (in your tutorial) is adjusted for other confounding factors (Please correct me if I am wrong). My understanding is that the coefficient for a balance, e.g., Y0 (or for a cluster of bacteria). Is there any way we can get coefficient for individual taxa (e.g., a Bacteria genera)? Some researchers will like to see it because it will be easier to interpret.
  3. Is the coefficient P values FDR adjusted?
  4. My understanding is that the Residuals are from the overall regression model. How can I get residual for an individual explanatory variable (e.g., Subjects, in your tutorial) adjusted for other confounding factors (e.g., Sex, Age, BMI, sCD14ugml, LBPugml, and LPSpgml)? An easier way to get a standard error would be highly appreciated.

Thank you again for developing Gneiss. I believe it will be a handy tool soon.


  1. You may be able to import those taxonomies into qiime2 artifacts via qiime tool import. Maybe @gregcaporaso can clarify the details on how to do this.
  2. Nope - the main premise behind Gneiss that it is physically not possible to make inferences on individual microbes. We discuss this in detail in the balance tree paper. We try to answer a relaxed form of the question, so that we don’t fall into the trap trying to infer which microbes are growing / declining.
  3. The downloaded pvalue coefficients aren’t FDR adjusted – but the visualized pvalues in the heatmap in Visualization Artifact does have FDR calculations. Right now, those pvalues will need to be corrected after download (we can raise an issue for this if we want to add FDR pvalues on download).
  4. That’s a really cool idea. We currently don’t have an out-of-box solution for this, and I’m not sure what the best way about this is. One possibility is to build two models, a full model and a partial model. For example
    Full model: formula=Sex+Age+BMI+sCD14ugml+LBPugml+LPSpgml
    Partial model:formula=Age+BMI+sCD14ugml+LBPugml+LPSpgml
    Then you’d have residuals for the full model, and residuals for the partial model. This might be able to help you get idea about the residuals due to Age.
    The details would need to be worked out. But if feature is highly desirable, feel free to raise an issue here. Furthermore, contributions via pull requests will be warmly welcomed.
1 Like

Hi @nhuda6!

Please check out our Importing Tutorial for some general information on importing. Once you have familiarized yourself with those concepts, you can execute an import command similar to what is presented here:

$ qiime tools import \
  --input-path my-file.biom \
  --output-path my-taxonomy.qza \
  --source-format BIOMV210Format \
  --type "FeatureData[Taxonomy]"

This will allow you to import my-file.biom (change this to your file’s name, of course!) as a FeatureData[Taxonomy] file (you can also name this whatever you want, instead of my-taxonomy.qza).

Hope that helps!

1 Like

Hi @mortonjt,

Thank you so much. I have added 2 pull requests in the GitHub.

Hi @thermokarst,

Thank you so much for your suggestion. However, I got an error message when I did try to import the “FeatureData[Taxonomy]” from my BIOM file. I used both BIOMV100Format (worked with importing my “FeatureTable[Frequency]”) and BIOMV210Format (did not work for importing my “FeatureTable[Frequency]”). Please see the command and error messages below. I need your suggestion to go forward.

Command (BIOMV100Format):
qiime tools import
–input-path w6_even3000_s5_f005p.biom
–type ‘FeatureData[Taxonomy]’
–source-format BIOMV100Format
–output-path taxa.qza

Error message:
Exception: No transformation from <class ‘q2_types.feature_table._format.BIOMV100Format’> to <class ‘qiime2.plugin.model.directory_format.TSVTaxonomyDirectoryFormat’>

Command (BIOMV210Format):
qiime tools import
–input-path w6_even3000_s5_f005p.biom
–type “FeatureData[Taxonomy]”
–output-path taxonomy.qza
–source-format BIOMV210Format

Error message:
ValueError: Failed to sniff InPath(‘w6_even3000_s5_f005p.biom’) as BIOMV210Format. There may be a problem with the sniffer.


Hi @nhuda6! Sorry to hear that things aren’t working for you - it sounds like something is fishy with your BIOM file. Would you be able to share it? Either here, or in a direct message to me, if that works for you. Thanks!

I have found and fixed the issue in my BIOM file. It was probably broken when I converted to hdf5 from json. It is now working. Thanks for the help.


1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.