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
#> cell_spatInfo_spatVector.shp
#> cell
#>
#> 3.2 read Giotto spatial centroid information
#> cell
#>
#> 3.3 read Giotto spatial overlap information
#> No overlaps were found, overlap loading will be
#> skipped
#>
#> 4. read Giotto image information
#> a giotto python environment was found
#> Using python path:
#> "/Users/yuanlab/Library/r-miniconda/envs/giotto_env/bin/pythonw"
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)
#> Warning: no non-missing arguments to min; returning Inf
#> Warning: no non-missing arguments to max; returning -Inf
#> Warning: no non-missing arguments to max; returning -Inf
#> Warning: NaNs produced
#> Error in seq_len(ceiling(log2(max(wsScaledMinusInf)))): argument must be coercible to non-negative integer