Function to perform DWLS deconvolution based on single cell expression data
runDWLSDeconv(
gobject,
spat_unit = NULL,
feat_type = NULL,
expression_values = c("normalized"),
logbase = 2,
cluster_column = "leiden_clus",
sign_matrix,
n_cell = 50,
cutoff = 2,
name = NULL,
return_gobject = TRUE
)
giotto object
spatial unit
feature type
expression values to use
base used for log normalization
name of cluster column
sig matrix for deconvolution
number of cells per spot
cut off (default = 2)
name to give to spatial deconvolution results, default = DWLS
return giotto object
giotto object or deconvolution results
https://github.com/dtsoucas/DWLS for the DWLS bulk deconvolution method, and doi:10.1186/s13059-021-02362-7 for spatialDWLS, the spatial implementation used here.
g <- GiottoData::loadGiottoMini("visium")
#> 1. read Giotto object
#> 2. read Giotto feature information
#> 3. read Giotto spatial information
#> 3.1 read Giotto spatial shape information
#> 3.2 read Giotto spatial centroid information
#> 3.3 read Giotto spatial overlap information
#> 4. read Giotto image information
#> python already initialized in this session
#> active environment : '/usr/bin/python3'
#> python version : 3.10
#> checking default envname 'giotto_env'
#> a system default python environment was found
#> Using python path:
#> "/usr/bin/python3"
x <- findMarkers_one_vs_all(g,
cluster_column = "leiden_clus", min_feats = 20
)
#> using 'Scran' to detect marker feats. If used in published
#> research, please cite: Lun ATL, McCarthy DJ, Marioni JC (2016).
#> 'A step-by-step workflow for low-level analysis of single-cell RNA-seq
#> data with Bioconductor.'
#> F1000Res., 5, 2122. doi: 10.12688/f1000research.9501.2.
#> start with cluster 1start with cluster 2start with cluster 3start with cluster 4start with cluster 5start with cluster 6start with cluster 7
sign_gene <- x$feats
sign_matrix <- matrix(rnorm(length(sign_gene) * 8, mean = 10),
nrow = length(sign_gene)
)
rownames(sign_matrix) <- sign_gene
colnames(sign_matrix) <- paste0("celltype_", unique(x$cluster))
#> Error in dimnames(x) <- dn: length of 'dimnames' [2] not equal to array extent
runDWLSDeconv(gobject = g, sign_matrix = sign_matrix)
#> Error: package 'quadprog' is not yet installed
#>
#> To install:
#> install.packages(c("quadprog"))