scDesign2_simulation: Simulate Datasets by scDesign2

View source: R/12-scDesign2.R

scDesign2_simulationR Documentation

Simulate Datasets by scDesign2

Description

This function is used to simulate datasets from learned parameters by simulate_count_scDesign2 function in scDesign2 package.

Usage

scDesign2_simulation(
  parameters,
  other_prior = NULL,
  return_format,
  verbose = FALSE,
  seed
)

Arguments

parameters

A object generated by scDesign2::fit_model_scDesign2()

other_prior

A list with names of certain parameters. Some methods need extra parameters to execute the estimation step, so you must input them. In simulation step, the number of cells, genes, groups, batches, the percent of DEGs are usually customed, so before simulating a dataset you must point it out. See Details below for more information.

return_format

A character. Alternative choices: list, SingleCellExperiment, Seurat, h5ad. If you select h5ad, you will get a path where the .h5ad file saves to.

verbose

Logical. Whether to return messages or not.

seed

A random seed.

Details

In addtion to simulate datasets with default parameters, users want to simulate other kinds of datasets, e.g. a counts matrix with 2 or more cell groups. In scDesign2, you can set extra parameters to simulate datasets.

The customed parameters you can set are below:

  1. nCells. In scDesign2, You can directly set other_prior = list(nCells = 5000) to simulate 5000 cells.

  2. prob.group. You can directly set other_prior = list(prob.group = c(0.4, 0.6)) to assign two proportions of cell groups. Note that the the length of the vector must equal to the groups or types that users input in estimation step.

For more customed parameters in scDesign2, please check scDesign2::simulate_count_scDesign2().

References

Sun T, Song D, Li W V, et al. scDesign2: a transparent simulator that generates high-fidelity single-cell gene expression count data with gene correlations captured. Genome biology, 2021, 22(1): 1-37. https://doi.org/10.1186/s13059-021-02367-2

Github URL: https://github.com/JSB-UCLA/scDesign2

Examples

## Not run: 
ref_data <- simmethods::data

## cell groups
group_condition <- as.numeric(simmethods::group_condition)
## In scDesign2, cell group information is not neccessary which indicates the type
## that each cell belongs to.
estimate_result <- simmethods::scDesign2_estimation(
  ref_data = ref_data,
  other_prior = list(group.condition = group_condition),
  verbose = TRUE,
  seed = 111
)

## Simulate 1000 cells (40% in Group1, 60% in Group2)
simulate_result <- simmethods::scDesign2_simulation(
  parameters = estimate_result[["estimate_result"]],
  other_prior = list(nCells = 1000,
                     prob.group = c(0.4, 0.6)),
  return_format = "list",
  verbose = TRUE,
  seed = 111
)
## counts
counts <- simulate_result[["simulate_result"]][["count_data"]]
dim(counts)
## cell information
col_data <- simulate_result[["simulate_result"]][["col_meta"]]
table(col_data$group)

## End(Not run)


duohongrui/simmethods documentation built on June 17, 2024, 10:49 a.m.