Error in q2-mmvec and some other question

Hi @mortonjt

Recently I follow your tutorial about q2-mmvec on github
I got an error information in qiime mmvec paired-heatmap
I use your tutorial cf data and my command is a little bit different from your tutorial
qiime mmvec paired-heatmap \
--i-ranks rank.qza \
--i-microbes-table otus_nt.qza \
--i-metabolites-table lcms_nt.qza \
--m-microbe-metadata-file taxonomy.tsv \
--m-microbe-metadata-column Taxon \
--p-top-k-microbes 3 \
--p-top-k-metabolites 10 \
--p-normalize z_score_row \
--o-visualization paired-heatmap-top3.qzv

Plugin error from mmvec:
ā€˜TACGTATGTGGCAAGCGTTATCCGGATTTATTGGGCGTAAAGCGAGCGCAGGCGGTCTTTTAAGTCTAATGTGAAAGCCTTCGGCTCAACCGAAGAAGTGCATTGGAAACTGGGAGACTTGAGTGCAGAAGAGGACAGTGGAACTCCATGā€™
Debug info has been saved to /tmp/qiime2-q2cli-err-46cbixeh.txt (9.1 KB)

But it worked when I change the ā€“p-top-k-microbes parameter by using ā€“p-features to select the microbes as you show in the tutorial.
my conda environment is qiime2-2019.10 so I guess the issue may be caused by the different version of pandas.

I also have some question

1.can we have a separate hierarchical clustering for clustering rows and columns in qiime mmvec heatmap?
2. can we have a none hierarchical clustering method in qiime mmvec heatmap just like pheatmap(cluster_rows=FALSE or cluster_cols=FALSE)?
3.can we have a ā€“m-sample-metadata-file/columnand ā€“m-metabolite-metadata-file/column for annotating plots in qiime mmvec paired-heatmp? I think it is also useful to display the names of the samples in heatmap.
4.What is the meaning of the parameter --p-top-k-metabolites in qiime mmvec paired-heatmap

Select top k metabolites associated with each of the chosen features to display on heatmap.

is the top means highest estimated conditional probability in each of the features? :face_with_raised_eyebrow:

Thanks for implementing this plugin .It is useful! :+1:

1 Like

I canā€™t comment on the plugin error the moment, we will probably need to double check the q2 version in the meantime. Do you see the same error with qiime2-2019.7? Maybe @Nicholas_Bokulich may have a better idea on this?

Concerning the other questions:

  1. You mean pass in your own hierarchical clustering? No, this functionality is not available at the moment and would require custom python/R code to pass in custom trees (we used seabornā€™s clustermap function)
  2. The same applies here, but is not too difficult to implement ā€“ pull requests are welcome.
  3. Agree, it would be very useful to have sample metadata ā€“ pull requests are welcome.
  4. This selects the top co-occurring metabolites for each microbe based on the conditional probability that you pointed out.
2 Likes

Thanks @sixvable re: paired-heatmaps it sounds like this is a bug. Basically, your top microbes are missing from the rank.qza file. I raised an issue for this on the mmvec issue tracker and for the time being the workaround will be to either select individual features as shown in the tutorial, or filter your otus_nt.qza file to only contain features that are present in rank.qza

1 Like

Thanks for replying to my question! @mortonjt and @Nicholas_Bokulich

Yes I test the same command in qiime2-2019.7 and receive same error,so it may be a real bug.
Plugin error from mmvec:
ā€˜TACGTATGTGGCAAGCGTTATCCGGATTTATTGGGCGTAAAGCGAGCGCAGGCGGTCTTTTAAGTCTAATGTGAAAGCCTTCGGCTCAACCGAAGAAGTGCATTGGAAACTGGGAGACTTGAGTGCAGAAGAGGACAGTGGAACTCCATGā€™
Debug info has been saved to /tmp/qiime2-q2cli-err-ovfr4jo5.txt (3.4 KB)

I actually mean a logical parameter like--p-(no)-cluster-rows/columns which control if rows or columns should be clustered as only appling hierarchical clustering to rows or column instead of forcing simutaneous clustering rows and column both.

I am not familiar with python so I can implement myself ,sry I can not contribute. :expressionless: