compute highly variable genes
calculateHVG(
gobject,
expression_values = c("normalized", "scaled", "custom"),
method = c("cov_groups", "cov_loess"),
reverse_log_scale = FALSE,
logbase = 2,
expression_threshold = 0,
nr_expression_groups = 20,
zscore_threshold = 1.5,
HVGname = "hvg",
difference_in_cov = 0.1,
show_plot = NA,
return_plot = NA,
save_plot = NA,
save_param = list(),
default_save_name = "HVGplot",
return_gobject = TRUE
)
giotto object
expression values to use
method to calculate highly variable genes
reverse log-scale of expression values (default = FALSE)
if reverse_log_scale is TRUE, which log base was used?
expression threshold to consider a gene detected
number of expression groups for cov_groups
zscore to select hvg for cov_groups
name for highly variable genes in cell metadata
minimum difference in coefficient of variance required
show plot
return ggplot object
directly save the plot [boolean]
list of saving parameters from all_plots_save_function
default save name for saving, don't change, change save_name in save_param
boolean: return giotto object (default = TRUE)
giotto object highly variable genes appended to gene metadata (fDataDT)
Currently we provide 2 ways to calculate highly variable genes:
1. high coeff of variance (COV) within groups:
First genes are binned (nr_expression_groups) into average expression groups and
the COV for each gene is converted into a z-score within each bin. Genes with a z-score
higher than the threshold (zscore_threshold) are considered highly variable.
2. high COV based on loess regression prediction:
A predicted COV is calculated for each gene using loess regression (COV~log(mean expression))
Genes that show a higher than predicted COV (difference_in_cov) are considered highly variable.
data(mini_giotto_single_cell) # loads existing Giotto object
# update a giotto object
mini_giotto_single_cell <- calculateHVG(gobject = mini_giotto_single_cell,
zscore_threshold = 0.1,
nr_expression_groups = 3)
# return a data.table with the high variable genes annotated
hvg_dt <- calculateHVG(gobject = mini_giotto_single_cell,
zscore_threshold = 0.1, nr_expression_groups = 3,
return_plot = FALSE, return_gobject = FALSE)
# return the ggplot object
hvg_plot <- calculateHVG(gobject = mini_giotto_single_cell,
zscore_threshold = 0.1, nr_expression_groups = 3,
return_plot = TRUE, return_gobject = FALSE)