You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all, thank your work on ANCOM. I love how everything is neatly wrapped in a single function.
This is my first time working with the new pairwise comparison and I run into an issue. I am not sure if I'm interpreting the output wrong or that there is a bug. I provided a minimum working example to recreate the issue. I am by no means an expert on normalization and statistics so please correct me if I am wrong.
It seems to me that when doing a pairwise comparison on data that contains structural zeros, some of the lfc values make no sense.
Let's create a fake OTU table with structural zeros.
taxon structural_zero (Location = A) structural_zero (Location = B) structural_zero (Location = C)
1 OTU1 FALSE FALSE TRUE
2 OTU2 FALSE FALSE TRUE
OTU 1 and 2 are not included. This seem to be in line with the documentation. However I am still interested in the comparison between location A and B. And I want the P values to be corrected for pairwise comparison. So I choose to turn structural zeros FALSE (default behaviour).
In this case OTU1 and OTU2 are included as expected. The lfc for A-C is zero, this is understandable as no comparison can be done. However it is slightly misleading as it might be interpreted as no change between A and C.
More strangely is the LFC value for C - B for OTU 1 and 2. It seems to be the inverse of A-B. Which to me makes no sense to me as it would indicate the Location C has somehow more counts then B.
The biggest problem with this is when interpreting or visualizing the data. Showing a lfc change where there is none. Ideally I think here a NA value should be reported.
As there is no zero_ind table available when struc_zero = FALSE it can also not be cross-referenced to see which OTUs have structural zeros.
Now the solution could be to add a pseudocount. However this is not ideal as explained in your documentation.
To me it seems the when struc-zero = FALSE and no pseudocount is added the LFC values make no sense for C-B. I think the problem here is that when using ANCOM with default setting a researcher might assume these lfc values to be true if they do not check further.
Dear Authors,
First of all, thank your work on ANCOM. I love how everything is neatly wrapped in a single function.
This is my first time working with the new pairwise comparison and I run into an issue. I am not sure if I'm interpreting the output wrong or that there is a bug. I provided a minimum working example to recreate the issue. I am by no means an expert on normalization and statistics so please correct me if I am wrong.
It seems to me that when doing a pairwise comparison on data that contains structural zeros, some of the lfc values make no sense.
Let's create a fake OTU table with structural zeros.
Let's run ancom with struc_zero = TRUE (Non-default behaviour).
OTU 1 and 2 are not included. This seem to be in line with the documentation. However I am still interested in the comparison between location A and B. And I want the P values to be corrected for pairwise comparison. So I choose to turn structural zeros FALSE (default behaviour).
In this case OTU1 and OTU2 are included as expected. The lfc for A-C is zero, this is understandable as no comparison can be done. However it is slightly misleading as it might be interpreted as no change between A and C.
More strangely is the LFC value for C - B for OTU 1 and 2. It seems to be the inverse of A-B. Which to me makes no sense to me as it would indicate the Location C has somehow more counts then B.
The biggest problem with this is when interpreting or visualizing the data. Showing a lfc change where there is none. Ideally I think here a NA value should be reported.
As there is no zero_ind table available when struc_zero = FALSE it can also not be cross-referenced to see which OTUs have structural zeros.
Now the solution could be to add a pseudocount. However this is not ideal as explained in your documentation.
To me it seems the when struc-zero = FALSE and no pseudocount is added the LFC values make no sense for C-B. I think the problem here is that when using ANCOM with default setting a researcher might assume these lfc values to be true if they do not check further.
MWE_ANCOM_Issue.txt
The text was updated successfully, but these errors were encountered: