Interpreting negative lfc values for "intercept" in primary result
Hello Frederick,
Thank you for creating ANCOM-BC!
I am running ANCOM-BC2 on a 16S marker-gene dataset, with the following commands:
out_pan = ancombc2(data = an_Pan, assay_name = "counts", tax_level = "Class", fix_formula = "temp", p_adj_method = "BH", prv_cut = 0.10, lib_cut = 1000, group = "temp", struc_zero = TRUE, neg_lb = TRUE, alpha = 0.05, global = TRUE, n_cl = 1, verbose = TRUE)
important to note that I have four temperature treatments under the "temp" variable, 28.5, 30, 33, and 36.
ANCOM-BC primary result
res_pan = out_pan$res
When inspecting the primary result, I cannot help but notice that for the lfc_(Intercept) column, which is my experiment's control treatment, the values are all are non-zero, with most being negative.
I know that ANCOM-BC2 uses a log-linear (natural log) model, but I am having a hard time wrapping my head as to what the intercept values' lfc values mean here. If this is being interpreted as the baseline for which subsequent comparisons are made, non-zero lfc values here are difficult to reconcile.
On a similar vein, with my experimental design containing four temperatures, with the above code, I encountered errors running either pairwise = TRUE and/or dunnet = TRUE. I envision being able to perform all four-way comparisons between my temperature treatments, if possible. Is there anything in the code above that should be modified to explicitly make these comparisons, and if so, is this the source of my negative lfc at my intercept column?
Thank you in advance for your time and help -- please let me know if I can provide any additional information to best demonstrate my issue.
Best regards,
Victoria
Hi Victoria,
This post is getting a bit old, but I just had the same panic with non-zero lfc_(intercept) values but I found the answer so I thought I'd share! If you look at the main github page for ANCOMBC and scroll down to question three:
- Q: In the primary results, what do lfc_(Intercept), lfc_groupB, and lfc_groupC represent if I have a group variable with categories A, B, and C?
A: In the primary results, the terms lfc_groupB and lfc_groupC represent the log fold changes (logFC) relative to the reference group, which is group A by default. These logFC values indicate the difference in abundance between group B and group A, and between group C and group A, respectively.
On the other hand, lfc_(Intercept) refers to the log fold change of the grand mean, which may not be a parameter of particular interest in this context.
It's worth mentioning that if you wish to change the reference group, you can use the factor function in R to rearrange the levels of the group variable accordingly.
Therefore, (if i am to understand this myself) the values in the X_(intercept) columns can just be ignored and all is well.
Goodluck, Angus
The intercept can be ignored since usually that term is not of interest.