Passing multiple reference factors in Maaslin2 version 1.16.0

During the version update of Maaslin2 to 1.16.0 for Galaxy platform, I tried passing two reference factors ( for site and diagnosis) separated by a semi-colon (as mentioned in the tutorials) for a test case where no fixed_effects were provided ( default : ALL). But I keep on getting the following error.

Job in error state.. tool_id: maaslin2, exit_code: 1, stderr: Error in relevel.factor(metadata[, i], ref = ref) : 
  'ref' must be an existing level
Calls: Maaslin2 -> relevel -> relevel.factor
Execution halted

If I just give reference for site, it gives error asking for reference of diagnosis factor. Please let me know how I can resolve this issue. Also, is there a way to just skip/disable reference altogether, I mean if the user does not give any reference then instead of throwing an error , it should just accept default alphabetical order as was the case in previous versions. But unfortunately it seems that it is mandatory to pass a reference. Would love any suggestion on this.

Please find attached the metadata and feature file I am testing on .
HMP2_taxonomy.tsv (487.4 KB)
HMP2_metadata.tsv (106.3 KB)

1 Like

Hi there,

Sorry for the delay. In galaxy all reference fields should be operated by a comma. So in this case if you wanted to include site you would input:

diagnosis,nonIBD,site,Emory

Sorry for the confusion.

Thanks,
Jacob Nearing

Thanks for the reply @nearinj . I also wanted to know whether reference is optional or not?

References are required for categorical variables that have more then 2 levels.

Thanks,
Jacob Nearing

So does that mean that default value ,i.e, NA (as mentioned in tutorials ) applies only to categorical variables with less than 2 levels.

Hi @renu_pal,

Thanks for pointing this out. That instruction was left over from a previous version of MaAsLin2. In the current available version you must specify a reference if the variable has more than 2 levels.

thanks,
Jacob Nearing

Thanks for clearing everything @nearinj