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
)

Arguments

gobject

giotto object

spat_unit

spatial unit

feat_type

feature type

expression_values

expression values to use

logbase

base used for log normalization

cluster_column

name of cluster column

sign_matrix

sig matrix for deconvolution

n_cell

number of cells per spot

cutoff

cut off (default = 2)

name

name to give to spatial deconvolution results, default = DWLS

return_gobject

return giotto object

Value

giotto object or deconvolution results

See also

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.

Examples

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