ANCOM-BC LME in a QIIME 2 enviroment version issue

I'm having a delightful version problem and Im not quite sure what the issue is. I've got a longitudinal dataset and need a repeated measures model to address all the wonder complexities of my data.

I've been running it as an R script within my qiime2 environment. It works well in qiime2-2023.2 but fails with qiime2 ≥2023.5, something to do with the lmer version change.

Does anyone have any idea of what happened and why?

Thanks,
Justine

You probably checked this already, but for future user who discover R version conflicts, here's how to compare the conda env files for older qiime versions and newer qiime versions after 2023.9

git diff --no-index \
  2023.2/release/qiime2-2023.2-py38-linux-conda.yml \
  2023.5/release/qiime2-2023.5-py38-linux-conda.yml

Looks like lme4 was updated from r-lme4=1.1_31 to r-lme4=1.1_33 along with lots of other R changes.

3 Likes

Hey @jwdebelius!

@colinbrislawn is right - there have been lots of R-based package version changes in our releases this year. Nothing intentional on our end, but it's unfortunately inevitable when we're dealing with 500+ dependencies in a QIIME 2 environment :sweat_smile:

Do you need a QIIME 2 environment > 2023.2 in order to utilize this R script with specific functionality contained in subsequent releases?

2 Likes

Hi @lizgehret and @colinbrislawn,

Thanks! Partially I'm lazy and prefer my analysis to run in a single enviorment whenever possible since it makes documentation easier. Partially, its an extension I've considered adding to the compositional plugin in the future and would like to make sure that it's possible. Environment management is just a titch beyond my coding expertise. :woman_shrugging:

(I've been doing a lot of repeated measures work and think this is a place qiime2 could do better.)

Best,
Justine

2 Likes

Hey @jwdebelius,

Makes sense re: running things in a single env! I am interested in the q2-composition extension - it would be cool to add something like that in the future! If that's something that aligns with our funding (cc: @gregcaporaso), I'd love to help you develop that :nerd_face:

Dealing with R dependencies is always a headache (that was certainly my experience while developing ANCOM-BC in q2-composition) - but I'm sure we could finagle package versions and get something working for those purposes.

What packages does your R script depend on?

2 Likes

Thanks @lizgehret!

If yours doesn't, mine might! :slight_smile:.
(Although my colleague says I have projects at home and I'm not allowed to start new ones until I get at least 4 manuscripts off my desk.)

My current plan was to heavily borrow from you current script, and introduce a variation that would allow a random effect (part 5 of the ANCOM-BC2 tutorial). Based on Colin's sleuthing, I think it would need lmer version 1.1_31 to work correctly. I don't know if the method wants to be split into structured (longitudinal) and unstructured clustering, but that might be an option

Best,
Justine

3 Likes

@jwdebelius, @lizgehret - we should discuss specifics, but my gut is that this would align with our funding.

3 Likes