This function is heavily inspired by DoHeatmap.
do_SCExpressionHeatmap(
sample,
features,
assay = NULL,
slot = NULL,
group.by = NULL,
features.order = NULL,
metadata = NULL,
metadata.colors = NULL,
colorblind = FALSE,
subsample = NA,
cluster = TRUE,
interpolate = FALSE,
xlab = "Cells",
ylab = "Genes",
font.size = 14,
font.type = "sans",
plot.title = NULL,
plot.subtitle = NULL,
plot.caption = NULL,
legend.position = "bottom",
legend.title = "Expression",
legend.type = "colorbar",
legend.framewidth = 0.5,
legend.tickwidth = 0.5,
legend.length = 20,
legend.width = 1,
legend.framecolor = "grey50",
legend.tickcolor = "white",
strip.text.color = "black",
strip.text.angle = 0,
strip.spacing = 10,
legend.ncol = NULL,
legend.nrow = NULL,
legend.byrow = FALSE,
min.cutoff = NA,
max.cutoff = NA,
number.breaks = 5,
main.heatmap.size = 0.95,
enforce_symmetry = FALSE,
use_viridis = FALSE,
viridis.palette = "G",
viridis.direction = -1,
na.value = "grey75",
diverging.palette = "RdBu",
diverging.direction = -1,
sequential.palette = "YlGnBu",
sequential.direction = 1,
proportional.size = TRUE,
verbose = TRUE,
border.color = "black",
plot.title.face = "bold",
plot.subtitle.face = "plain",
plot.caption.face = "italic",
axis.title.face = "bold",
axis.text.face = "plain",
legend.title.face = "bold",
legend.text.face = "plain"
)A ggplot2 object.
Seurat | A Seurat object, generated by CreateSeuratObject.
character | Features to represent.
character | Assay to use. Defaults to the current assay.
character | Data slot to use. Only one of: counts, data, scale.data. Defaults to "data".
character | Metadata variable to group the output by. Has to be a character of factor column.
character | Should the gene sets be ordered in a specific way? Provide it as a vector of characters with the same names as the names of the gene sets.
character | Categorical metadata variables to plot alongside the main heatmap.
named_list | Named list of valid colors for each of the variables defined in metadata.
logical | Whether to use colorblind-friendly colors for categorical variables. In place when colors.use is not used. Allows for a maximum of 85 different classes within a categorical variable.
numeric | Number of cells to subset for the analysis. NA will use all. Cells are selected at random.
logical | Whether to perform clustering of rows and columns.
logical | Smoothes the output heatmap, saving space on disk when saving the image. However, the image is not as crisp.
character | Titles for the X and Y axis.
numeric | Overall font size of the plot. All plot elements will have a size relationship with this font size.
character | Base font family for the plot. One of:
mono: Mono spaced font.
serif: Serif font family.
sans: Default font family.
character | Title, subtitle or caption to use in the plot.
character | Position of the legend in the plot. One of:
top: Top of the figure.
bottom: Bottom of the figure.
left: Left of the figure.
right: Right of the figure.
none: No legend is displayed.
character | Title for the legend.
character | Type of legend to display. One of:
normal: Default legend displayed by ggplot2.
colorbar: Redefined colorbar legend, using guide_colorbar.
numeric | Width of the lines of the box in the legend.
numeric | Length and width of the legend. Will adjust automatically depending on legend side.
character | Color of the lines of the box in the legend.
character | Color of the ticks of the box in the legend.
character | Color of the strip text.
numeric | Rotation of the strip text (angles).
numeric | Controls the size between the different facets.
numeric | Number of columns in the legend.
numeric | Number of rows in the legend.
logical | Whether the legend is filled by row or not.
numeric | Set the min/max ends of the color scale. Any cell/group with a value lower than min.cutoff will turn into min.cutoff and any cell with a value higher than max.cutoff will turn into max.cutoff. In FeaturePlots, provide as many values as features. Use NAs to skip a feature.
numeric | Controls the number of breaks in continuous color scales of ggplot2-based plots.
numeric | Controls the size of the main heatmap (proportion-wise, defaults to 0.95).
logical | Return a symmetrical plot axes-wise or continuous color scale-wise, when applicable.
logical | Whether to use viridis color scales.
character | A capital letter from A to H or the scale name as in scale_fill_viridis.
numeric | Either 1 or -1. Controls how the gradient of viridis scale is formed.
character | Color value for NA.
character | Type of symmetrical color palette to use. Out of the diverging palettes defined in brewer.pal.
numeric | Either 1 or -1. Direction of the divering palette. This basically flips the two ends.
character | Type of sequential color palette to use. Out of the sequential palettes defined in brewer.pal.
numeric | Direction of the sequential color scale. Either 1 or -1.
logical | Whether the groups should take the same space in the plot or not.
logical | Whether to show extra comments, warnings,etc.
character | Color for the border of the heatmap body.
character | Controls the style of the font for the corresponding theme element. One of:
plain: For normal text.
italic: For text in itallic.
bold: For text in bold.
bold.italic: For text both in itallic and bold.
# \donttest{
# Check Suggests.
value <- SCpubr:::check_suggests(function_name = "do_SCExpressionHeatmap", passive = TRUE)
if (isTRUE(value)){
# Consult the full documentation in https://enblacar.github.io/SCpubr-book/
# Define your Seurat object.
sample <- readRDS(system.file("extdata/seurat_dataset_example.rds", package = "SCpubr"))
p <- SCpubr::do_SCExpressionHeatmap(sample = sample,
features = rownames(sample)[1:2],
subsample = NA)
p
} else if (base::isFALSE(value)){
message("This function can not be used without its suggested packages.")
message("Check out which ones are needed using `SCpubr::state_dependencies()`.")
}
# }
Run the code above in your browser using DataLab