circos_fruits | R Documentation |
This function sequentially adds multiple layers to a 'ggtree' plot, including gene expression data, boxplots for statistical summaries, and additional tile layers for pathway enrichment scores from SSGSEA and GSVA analyses. It utilizes separate functions for adding each type of layer and allows for the specification of gene colors as well as adjustments in aesthetics for each layer. The function is designed to work with specific data structures and assumes all functions for adding layers are defined and available.
circos_fruits(
p,
long_format_HeatdataDeseq,
ssgsea_kegg_HeatdataDeseq,
gsva_kegg_HeatdataDeseq,
gene_colors
)
p |
A 'ggtree' plot object to which the data and layers will be added. |
long_format_HeatdataDeseq |
A data frame containing gene expression data with columns for 'Samples', 'Genes', and 'Values'. |
ssgsea_kegg_HeatdataDeseq |
A data frame containing SSGSEA analysis results with columns for 'Samples', 'Genes', and 'Values'. |
gsva_kegg_HeatdataDeseq |
A data frame containing GSVA analysis results with columns for 'Samples', 'Genes', and 'Values'. |
gene_colors |
A named vector of colors for genes, used for coloring tiles in different layers. |
A 'ggtree' plot object with multiple layers added for comprehensive visualization.
# Check and load required packages
if (requireNamespace("ggtreeExtra", quietly = TRUE) &&
requireNamespace("ggplot2", quietly = TRUE)) {
library(ggtreeExtra)
library(ggplot2)
# Example data for gene expression, SSGSEA, and GSVA
file_path <- system.file("extdata", "p_tree_test.rds", package = "TransProR")
p <- readRDS(file_path)
# Create gene expression data frame (long_format_HeatdataDeseq)
long_format_HeatdataDeseq <- data.frame(
Sample = rep(c("Species_A", "Species_B", "Species_C", "Species_D"), each = 5),
Genes = rep(paste0("Gene", 1:5), times = 4),
Value = runif(20, min = 0, max = 1) # Randomly generate expression values between 0 and 1
)
# Create SSGSEA analysis results data frame (ssgsea_kegg_HeatdataDeseq)
ssgsea_kegg_HeatdataDeseq <- data.frame(
Sample = rep(c("Species_A", "Species_B", "Species_C", "Species_D"), each = 3),
Genes = rep(c("Pathway1", "Pathway2", "Pathway3"), times = 4),
Value = runif(12, min = 0, max = 1) # Randomly generate enrichment scores between 0 and 1
)
# Create GSVA analysis results data frame (gsva_kegg_HeatdataDeseq)
gsva_kegg_HeatdataDeseq <- data.frame(
Sample = rep(c("Species_A", "Species_B", "Species_C", "Species_D"), each = 4),
Genes = rep(c("PathwayA", "PathwayB", "PathwayC", "PathwayD"), times = 4),
Value = runif(16, min = 0, max = 1) # Randomly generate enrichment scores between 0 and 1
)
# Define gene and pathway colors (named vector), including all genes and pathways
gene_colors <- c(
# Genes for gene expression
Gene1 = "#491588",
Gene2 = "#301b8d",
Gene3 = "#1a237a",
Gene4 = "#11479c",
Gene5 = "#0a5797",
# Pathways for SSGSEA
Pathway1 = "#0b5f63",
Pathway2 = "#074d41",
Pathway3 = "#1f5e27",
# Pathways for GSVA
PathwayA = "#366928",
PathwayB = "#827729",
PathwayC = "#a1d99b",
PathwayD = "#c7e9c0"
)
# Call circos_fruits function to add multiple layers
final_plot <- circos_fruits(
p,
long_format_HeatdataDeseq,
ssgsea_kegg_HeatdataDeseq,
gsva_kegg_HeatdataDeseq,
gene_colors
)
} else {
message("Required packages 'ggtreeExtra' and 'ggplot2' are not installed.")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.