ModulePerturbation
ModulePerturbation.Rd
This function enables in-silico gene expression perturbation analysis using a co-expression network.
Usage
ModulePerturbation(
seurat_obj,
mod,
perturb_dir,
perturbation_name,
graph,
group.by = NULL,
group_name = NULL,
n_hubs = 5,
n_iters = 3,
delta_scale = 0.2,
corr_sigma = 0.05,
n_threads = 4,
use_velocyto = TRUE,
use_graph_tp = FALSE,
layer = "counts",
slot = "counts",
assay = "RNA",
return_delta = FALSE,
wgcna_name = NULL
)
Arguments
- seurat_obj
A Seurat object
- mod
Name of the co-expression module to perturb
- perturb_dir
A numeric determining the type of perturbation to apply. Negative values for knock-down, positive for knock-in, and 0 for knock-out.
- perturbation_name
A name for the in-silico perturbation that will be stored in the Seurat obejct
- graph
Name of the cell-cell graph in the Graphs(seurat_obj)
- group.by
A string containing the name of a column in the Seurat object with cell groups (clusters, cell types, etc).
- group_name
A string containing a group present in the provided group.by column. A character vector can be provided to select multiple groups at a time.
- n_hubs
The number of hub genes to perturb from the selected co-expression module.
- n_iters
The number of times to apply the signal propagation.
- corr_sigma
A numeric scaling factor for the correlation matrix.
- n_threads
Number of threads for the correlation calculation
- slot
Slot to extract data for aggregation. Default = 'counts'
- assay
Assay in seurat_obj containing expression information.
- return_delta
Logical indicating whether or not to return the "Delta" matrix in the Seurat object.
- wgcna_name
The name of the hdWGCNA experiment in the seurat_obj@misc slot
Details
Following co-expression network analysis with hdWGCNA, ModulePerturbation allows us to perform in-silico gene expression perturbation analysis. This analysis consists of several key steps.
Apply a primary perturbation to the hub genes of a selected module. In this step, we model the observed gene expression of the hub genes using a zero-inflated negative binomial (ZINB), or other distributions. We then simulate new exptession data by sampling this distribution. The simulated expression matrix is then multiplied by the perturb_dir, and the final perturbation expression matrix is computed by adding the observed and simulated expression matrices.
Apply a secondary perturbation to the rest of the co-expression module using a signal propagation algorithm. Given the gene-gene co-expression network from hdWGCNA, we can propagate the perturbation signal throughout the network by computing the dot product between the network adjacency matrix and the perturbation expression matrix. This can be performed over several iterations using n_iters.
Compute the cell-cell transition probabilities.