The following package performs this type of analysis and can be directly used on a Seurat object:
paper: propeller: testing for differences in cell type proportions in single cell data
github: Speckle
You mention that you would like to do some statistics so keep in mind that this requires replicated measurements to handle the large variability in proportions between samples. Your metadata should contain:
celltype, sample, group_to_test
once the package is installed you can simply run the propeller function and set group to technology (in your post you mention you want to evaluate 3' vs multi-omics):
propel <- propeller(clusters = [email protected]$celltype,
sample = [email protected]$sample,
group = [email protected]$technology)
This will return the statistics: t-test for two groups or ANOVA for multiple testing.
The following function will return the transformed proportions that can then be used in limma for example to test for more complex designs or simple sample-wise plotting using ggplot. For transform
you will offcourse have to decide which transformation is applicable to your data.
getTransformedProps(clusters = [email protected]$celltype,
sample = [email protected]$sample, transform="asin")
There are a variety of other packages that allow for more complex analysis and a recent benchmark can be found here