Hi,
I think there might be a small bug in the code for filtering the data by min_variance
in Maaslin2. In particular, the line of code that does this is:
sds <- apply(filtered_data, 2, sd)
variance_filtered_data <- filtered_data[, which(sds > min_variance), drop = FALSE]
This is comparing variance to sds, rather than variance to variance?