create_profile_matrix: Create Custom Cell Profile Matrix

View source: R/create_profile_matrix.R

create_profile_matrixR Documentation

Create Custom Cell Profile Matrix

Description

Create custom cell profile matrix using single cell data. The average gene expression for each cell type is returned.

Usage

create_profile_matrix(
  mtx,
  cellAnnots,
  cellTypeCol,
  cellNameCol,
  matrixName = "Custom",
  outDir = "./",
  geneList = NULL,
  normalize = FALSE,
  scalingFactor = 5,
  minCellNum = 15,
  minGenes = 100,
  discardCellTypes = FALSE
)

Arguments

mtx

gene x cell count matrix

cellAnnots

cell annotations with cell type and cell name as columns

cellTypeCol

column containing cell type

cellNameCol

column containing cell ID/name

matrixName

name of final profile matrix

outDir

path to desired output directory, set to NULL if matrix should not be written

geneList

gene list to filter profile matrix to

normalize

Should data be normalized? (TRUE/FALSE) if TRUE data will be normalize using total gene count

scalingFactor

what should all values be multiplied by for final matrix, set to 1 if no scaling is wanted

minCellNum

minimum number of cells of one type needed to create profile, exclusive

minGenes

minimum number of genes expressed in a cell, exclusive

discardCellTypes

should cell types be filtered for types like mitotic, doublet, low quality, unknown, etc.

Value

A custom cell profile matrix genes (rows) by cell types (columns), matrix gets written to disk and outDir

Examples

cellNames <- paste0("Cell", seq_len(1500))
geneNames <- paste0("Gene", seq_len(1500))
mtx <- matrix(data=sample(size = length(cellNames)*length(geneNames),
                          replace = TRUE,
                          x = c(0,seq_len(100)), 
                          prob = c(0.6784, rep(0.0075, 15), rep(0.005, 25),
                                   rep(0.002, 25), rep(0.001, 35))), 
                          ncol = length(cellNames), nrow = length(geneNames), 
                          dimnames = list(geneNames, cellNames))
cellAnnots <- as.data.frame(cbind(CellID=cellNames, 
                                  cellType=sample(size = length(cellNames), 
                                                  replace = TRUE,
                                                  x = c("A", "B", "C", "D"),
                                                  prob = c(0.1, 0.4, 0.3, 0.2))))
table(cellAnnots$cellType)
profile_matrix <- create_profile_matrix(mtx = mtx,    
                                        cellAnnots = cellAnnots, 
                                        cellTypeCol = "cellType",
                                        cellNameCol = "CellID",
                                        minGenes = 10,
                                        scalingFactor = 1)
head(profile_matrix)

Nanostring-Biostats/SpatialDecon documentation built on Jan. 26, 2024, 8:20 p.m.