View source: R/cluster_genes.R
aggregate_gene_expression | R Documentation |
Creates a matrix with aggregated expression values for arbitrary groups of genes
aggregate_gene_expression( cds, gene_group_df = NULL, cell_group_df = NULL, norm_method = c("log", "binary", "size_only"), pseudocount = 1, scale_agg_values = TRUE, max_agg_value = 3, min_agg_value = -3, exclude.na = TRUE, gene_agg_fun = "sum", cell_agg_fun = "mean" )
cds |
The cell_data_set on which this function operates |
gene_group_df |
A dataframe in which the first column contains gene ids or short gene names and the second contains groups. If NULL, genes are not grouped. |
cell_group_df |
A dataframe in which the first column contains cell ids and the second contains groups. If NULL, cells are not grouped. |
norm_method |
How to transform gene expression values before aggregating them. If "log", a pseudocount is added. If "size_only", values are divided by cell size factors prior to aggregation. |
pseudocount |
Value to add to expression prior to log transformation and aggregation. |
scale_agg_values |
Whether to center and scale aggregated groups of genes. |
max_agg_value |
If scale_agg_values is TRUE, the maximum value the resulting Z scores can take. Higher values are capped at this threshold. |
min_agg_value |
If scale_agg_values is TRUE, the minimum value the resulting Z scores can take. Lower values are capped at this threshold. |
exclude.na |
Logical indicating whether or not to exclude NA values from the aggregated matrix. |
gene_agg_fun |
Function used for gene aggregation. This can be either sum or mean. Default is sum. |
cell_agg_fun |
Function used for cell aggregation. Default is mean. |
A matrix of dimension NxM, where N is the number of gene groups and M is the number of cell groups.
## Not run: expression_matrix <- readRDS(system.file('extdata', 'worm_l2/worm_l2_expression_matrix.rds', package='monocle3')) cell_metadata <- readRDS(system.file('extdata', 'worm_l2/worm_l2_coldata.rds', package='monocle3')) gene_metadata <- readRDS(system.file('extdata', 'worm_l2/worm_l2_rowdata.rds', package='monocle3')) cds <- new_cell_data_set(expression_data=expression_matrix, cell_metadata=cell_metadata, gene_metadata=gene_metadata) cds <- preprocess_cds(cds, num_dim = 100) cds <- reduce_dimension(cds) cds <- cluster_cells(cds, resolution=1e-5) colData(cds)$assigned_cell_type <- as.character(partitions(cds)) colData(cds)$assigned_cell_type <- dplyr::recode(colData(cds)$assigned_cell_type, "1"="Germline", "2"="Body wall muscle", "3"="Unclassified neurons", "4"="Vulval precursors", "5"="Failed QC", "6"="Seam cells", "7"="Pharyngeal epithelia", "8"="Coelomocytes", "9"="Am/PH sheath cells", "10"="Failed QC", "11"="Touch receptor neurons", "12"="Intestinal/rectal muscle", "13"="Pharyngeal neurons", "14"="NA", "15"="flp-1(+) interneurons", "16"="Canal associated neurons", "17"="Ciliated sensory neurons", "18"="Other interneurons", "19"="Pharyngeal gland", "20"="Failed QC", "21"="Ciliated sensory neurons", "22"="Oxygen sensory neurons", "23"="Ciliated sensory neurons", "24"="Ciliated sensory neurons", "25"="Ciliated sensory neurons", "26"="Ciliated sensory neurons", "27"="Oxygen sensory neurons", "28"="Ciliated sensory neurons", "29"="Unclassified neurons", "30"="Socket cells", "31"="Failed QC", "32"="Pharyngeal gland", "33"="Ciliated sensory neurons", "34"="Ciliated sensory neurons", "35"="Ciliated sensory neurons", "36"="Failed QC", "37"="Ciliated sensory neurons", "38"="Pharyngeal muscle") neurons_cds <- cds[,grepl("neurons", colData(cds)$assigned_cell_type, ignore.case=TRUE)] pr_graph_test_res <- graph_test(neurons_cds, neighbor_graph="knn") pr_deg_ids <- row.names(subset(pr_graph_test_res, q_value < 0.05)) gene_module_df <- find_gene_modules(neurons_cds[pr_deg_ids,], resolution=1e-2) cell_group_df <- tibble::tibble(cell=row.names(colData(neurons_cds)), cell_group=partitions(cds)[colnames(neurons_cds)]) agg_mat <- aggregate_gene_expression(neurons_cds, gene_module_df, cell_group_df) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.