Question about differential expression and the batch_correction usage


Say I train a model using categorical covariates to correct for donors/biological replicates, but the scRNA experiment was run in one “batch” (that is, on one flow cell/sequencing run) with a treated and untreated groups. The way I setup_anndata is with the following:

setup_anndata(adata, layer = “X_Scar_Denoised_Counts”,
continuous_covariate_keys=[‘pct_counts_mt’, ‘total_counts’])

then I train the model and run differential expression using model.differential_expression(). My question is in this case, when I call the differential expression function, does it make sense to have the batch_correction in the function when I wish to compare treated vs untreated populations?

Another question I have is that many of the calculated differentially expressed genes have 0 or near 0 normalized expression in the untreated group, and some expression in the treated. Is there a good way to filter so that there is a min expression value?