[ ] Outlier detection for DEGs (either by kurtosis or leverage).
[ ] Optionally inherit gene set exclusion lists in PerformDifferentialExpression().
[ ] Gene set summaries (likely an UpsetPlot across classes of contrasts?)
[x] Subsetting for PseudobulkingDEHeatmap(). It's difficult to support arbitrarily many variables to show in a heatmap, but we could support a passthrough to a subset(seuratObj, subset = expression) to help with that.
[ ] Some kind of rejection criterion for pseudobulking. We're attempting to approximate bulk RNASeq samples via pseudobulking, which (rule of thumb) have both negative binomially distributed within gene expression and across gene expression (within-sample). We could do some "goodness of fit" type approaches? Still brainstorming on this one.
[ ] Interaction terms? This would affect the column format of the model fit itself, which impacts the whole pipeline, so this might be a bigger lift. We'll never be statistically powered to properly estimate interactions, but it is exactly the effect we usually want to estimate.
Bug fixes:
[x] #241
[ ] The warning: Warning: No filtering in FilterPseudobulkContrasts() was performed in FilterPseudobulkContrasts() trips if any individual filter doesn't reduce the number of pseudobulk contrasts, but it implies that no filtering was performed at all. This should instead indicate which of the gates in the logic list didn't filter anything.
[ ] PseudobulkingHeatmap shouldn't error when the pct.expression assay is missing (e.g. true bulk RNAseq/GeoMx)
Hi all,
We have some improvements planned for the pseudobulking pipeline. Documenting them here so we can track progress/add ideas.
Planned:
PerformDifferentialExpression()
.PseudobulkingDEHeatmap()
. It's difficult to support arbitrarily many variables to show in a heatmap, but we could support a passthrough to asubset(seuratObj, subset = expression)
to help with that.Prospective:
Bug fixes:
Warning: No filtering in FilterPseudobulkContrasts() was performed
inFilterPseudobulkContrasts()
trips if any individual filter doesn't reduce the number of pseudobulk contrasts, but it implies that no filtering was performed at all. This should instead indicate which of the gates in the logic list didn't filter anything.I'll update with PRs!