--- a
+++ b/R/Contrast_Venn.R
@@ -0,0 +1,43 @@
+#' Function to Create a Venn Diagram of DEGs with Custom Colors
+#'
+#' This function creates a Venn Diagram using the 'ggVennDiagram' package.
+#' It allows customization of various aesthetic elements of the diagram, including colors.
+#'
+#' @importFrom ggplot2 scale_fill_gradient scale_color_manual scale_x_continuous expansion
+#' @importFrom ggVennDiagram ggVennDiagram
+#' @param all_degs_venn A list of DEG sets for Venn Diagram creation.
+#' @param edge_colors A vector of colors for the edges of the Venn Diagram sets.
+#' @param name_color A vector of colors for the names of the sets in the Venn Diagram.
+#' @param fill_colors A vector of two colors for the gradient fill of the Venn Diagram.
+#' @param label_size The size of the labels showing the number of elements in each set (default is 4).
+#' @param edge_size The size of the edges of the Venn Diagram sets (default is 3).
+#' @return A `ggplot` object representing the Venn Diagram.
+#' @examples
+#'
+#' data("all_degs_venn", package = "TransProR")
+#'
+#' edge_colors <- c("#1b62bb","#13822e","#332c3a","#9e2d39")
+#' name_color <- c("#1b64bb","#13828e","#337c3a","#9e9d39")
+#' fill_colors <- c("#e3f2fa", "#0288d1")
+#'
+#' Contrast_degs_venn <- Contrast_Venn(all_degs_venn, edge_colors, name_color, fill_colors)
+#' @export
+#'
+Contrast_Venn <- function(all_degs_venn,
+                      edge_colors,
+                      name_color,
+                      fill_colors,
+                      label_size = 4,
+                      edge_size = 3) {
+  # Draw Venn Diagram
+  ggVennDiagram::ggVennDiagram(all_degs_venn,
+                set_size = 5, # Font size for set names
+                set_color = name_color,
+                label_alpha = 0, # Transparency of the background box for counts/percentages, default is white
+                label_size = label_size, # Font size for counts/percentages
+                edge_size = edge_size # Thickness of the edges
+  ) +
+    ggplot2::scale_fill_gradient(low = fill_colors[1], high = fill_colors[2]) + # Gradient fill color based on value size
+    ggplot2::scale_color_manual(values = edge_colors) + # Manually set edge colors
+    ggplot2::scale_x_continuous(expand = ggplot2::expansion(mult = .3))
+}