Closed sjanssen2 closed 7 years ago
hm maybe more a https://github.com/biocore/unifrac question @wasade @ElDeveloper ?
The tree and table produce a valid distance matrix when run directly against ssu
which is the underlying code used by beta-phylogenetic-alt
. The resulting matrix is almost entirely zero as to be expected with an almost fully dense table and unweighted UniFrac, and it loads into an skbio.DistanceMatrix
without error.
Have you tested this against the implementation in beta-phylogenetic
?
I did and got back this distance matrix (after exporting it from the q2 artifact):
Same with good old qiime1
I cannot reproduce the same beta_closedref_unweighted_unifrac.txt
result. However, the results I obtain using the provided inputs with ssu
directly, beta-phylogenetic
(2017.9), beta-phylogenetic-alt
(2017.9), and QIIME v191 are all consistent.
It is possible there is a pathological edge case here as the input is quite unusual in that the matrix is nearly entirely dense (and unweighted UniFrac is qualitative).
Stefan, perhaps we should just discuss this after lab meeting tomorrow?
It looks like this is potentially a bug in beta-phylogenetic-alt. I'm going to rename the title and label as such. Let us know what you find!
On a followup discussion with @sjanssen2, the issue stems from requesting more threads than there are targets for. This is an edge case in so much as requesting a large number of threads for a very small number of samples should be uncommon, but it is an important edge case to handle appropriately nonetheless.
Should this issue be closed in favor of #166 then?
@ElDeveloper, looks like it, that's a prettier issue. Thanks @sjanssen2!
Last of the following three command exists with (I am using qiime2-2017.9):
qiime tools import --input-path input.biom --type FeatureTable[Frequency] --source-format BIOMV210Format --output-path input
qiime tools import --input-path reference.tree --output-path reference_tree.qza --type Phylogeny[Rooted]
qiime diversity beta-phylogenetic-alt --i-table input.qza --i-phylogeny reference_tree.qza --p-metric unweighted_unifrac --p-n-jobs 10 --o-distance-matrix unweighted_unifrac
How comes that the plugin supposed to produce a skbio DistanceMatrix object violates it's properties? Am I doing something wrong here, or is that a real bug?
input.biom.zip reference.tree.zip