diff --git a/src/06_compute_tdd_index.R b/src/06_compute_tdd_index.R
index b194104e32733bed9075d4ef472e764456e6dc56..48105c230f7968c30b1bf6d2a72a5aff41196e49 100644
--- a/src/06_compute_tdd_index.R
+++ b/src/06_compute_tdd_index.R
@@ -2,6 +2,7 @@
 
 # The goal of this script is to compute TDD index and TID index of every genes
 
+library(MASS)
 library(tidyverse)
 library(genefilter)
 library(gridExtra)
@@ -13,13 +14,19 @@ library(emmeans)
 #' @param treatment The treatment for which we want to compute the TDD
 #' @param mean_gene_count The minimum mean count a gene must have to compute
 #' its TDDindex
+#' @param ercc A boolean indicating whether to load errc noramlized expression
+#' or not.
 #' @return The count tablme with the tdd for each replicate and mean TDD and sd
 #' @import tidyverse
 #' @import genefilter
-compute_tdd <- function(treatment = "BRAF", mean_gene_count = 10) {
+compute_tdd <- function(treatment = "BRAF", mean_gene_count = 10, ercc = F) {
+    ercc_name <- ""
+    if (ercc) {
+        ercc_name <- "_ercc"
+    }
     norm_df <- read_tsv(
         paste0(
-            "./results/deseq2_normalisation/", treatment,
+            "./results/deseq2_normalisation/", treatment, ercc_name,
             "_norm_stable_gene.txt"
         )
     )
@@ -64,7 +71,6 @@ compute_tdd <- function(treatment = "BRAF", mean_gene_count = 10) {
 }
 
 
-
 #' Create a density figure of TDD index for a given replicate
 #'
 #' @param rep The replicate name
@@ -97,7 +103,7 @@ create_density_rep <- function(rep, tdd_tibble, treatment = "BRAF") {
 #' @import gridExtra
 create_density_figs <- function(tdd_tibble, treatment = "BRAF",
                                 output_folder = "./results/TDD_analysis") {
-    dir.create(output_folder)
+    dir.create(output_folder, showWarnings = F)
     rep <- tdd_tibble %>%
         select(-gene) %>%
         colnames() %>%
@@ -128,9 +134,15 @@ create_density_figs <- function(tdd_tibble, treatment = "BRAF",
 #' @param treatment The treatment of samples for which we want to compute
 #'  the TDD
 #' @param output_folder folder where the TDD table and figure will be created
+#' @param ercc A boolean indicating whether to load errc noramlized expression
+#' or not.
+#' @param mean_gene_count The minimum gene count to compute TDD for them
 #' @import tidyverse
-get_tdd_table <- function(treatment, output_folder = "./results/TDD_analysis") {
-    tdd_table <- compute_tdd(treatment)
+get_tdd_table <- function(treatment,
+                          mean_gene_count = 10,
+                          output_folder = "./results/TDD_analysis",
+                          ercc = F) {
+    tdd_table <- compute_tdd(treatment, mean_gene_count, ercc)
     create_density_figs(tdd_table, treatment, output_folder)
     write_tsv(
         tdd_table,
@@ -147,18 +159,30 @@ get_tdd_table <- function(treatment, output_folder = "./results/TDD_analysis") {
 #' TDD table
 #'
 #' @param output_folder Folder where the figures and TDD tables  will be created
+#' @param ercc A boolean indicating whether to load errc noramlized expression
+#' or not.
+#' @param mean_gene_count The minimum gene count to compute TDD for them
 #' @import tidyverse
-get_final_tdd_table <- function(output_folder = "./results/TDD_analysis") {
-    braf_tdd <- get_tdd_table("BRAF", output_folder)
-    dmso_tdd <- get_tdd_table("DMSO", output_folder)
-    braf_tdd <- braf_tdd[, grep("gene|mean|sd", colnames(braf_tdd))]
-    dmso_tdd <- dmso_tdd[, grep("gene|mean|sd", colnames(dmso_tdd))]
+get_final_tdd_table <- function(mean_gene_count = 10,
+                                ercc = F,
+                                output_folder = "./results/TDD_analysis") {
+    braf_tdd <- get_tdd_table("BRAF", mean_gene_count, output_folder, ercc)
+    dmso_tdd <- get_tdd_table("DMSO", mean_gene_count, output_folder, ercc)
+    braf_tdd <- braf_tdd[, grep("gene|mean|TDD|sd", colnames(braf_tdd))]
+    dmso_tdd <- dmso_tdd[, grep("gene|mean|TDD|sd", colnames(dmso_tdd))]
     tdd_full <- dmso_tdd %>% inner_join(braf_tdd, by = "gene") # nolint
     tdd_full <- tdd_full %>%
         mutate(diff_TDD = mean_BRAF_TDD - mean_DMSO_TDD) # nolint
+    ercc_name <- ""
+    if (ercc) {
+        ercc_name <- "_erccnorm"
+    }
     write_tsv(
         tdd_full,
-        paste0(output_folder, "/full_TDD_table.txt")
+        paste0(
+            output_folder, "/", ercc_name, "_", mean_gene_count,
+            "_full_TDD_table.txt"
+        )
     )
     return(tdd_full)
 }
@@ -180,7 +204,7 @@ compute_stat <- function(tdd_table, output_folder = "./results/TDD_analysis",
                          name = "diag") {
     mod <- lm(TDD ~ group, data = tdd_table)
     output_folderd <- paste0(output_folder, "/diagnostics")
-    dir.create(output_folderd)
+    dir.create(output_folderd, showWarnings = F)
     simulationOutput <- simulateResiduals(fittedModel = mod, n = 2000) # nolint
     pdf(paste0(output_folderd, "/", name, "_diag.pdf"), width = 12, height = 8)
     print(plot(simulationOutput))
@@ -224,7 +248,7 @@ create_tdd_fig_on_lists <- function(tdd_df, gene_files, gene_names,
                                     target_columns, outfile, title = "groups",
                                     output_folder = "./results/TDD_analysis") {
     output_folder <- paste0(output_folder, "/boxplot_figures")
-    dir.create(output_folder)
+    dir.create(output_folder, showWarnings = F)
     if (length(gene_files) != length(gene_names) |
         length(gene_files) != length(target_columns)) {
         message("The inputs should have the same lengths")
@@ -243,7 +267,9 @@ create_tdd_fig_on_lists <- function(tdd_df, gene_files, gene_names,
         )
         new_tdd <- rbind(new_tdd, tmp_tdd)
     }
-    new_tdd <- new_tdd %>% distinct(gene, .keep_all = T) # nolint
+    if (!grepl("ercc", outfile, fixed = T)) {
+        new_tdd <- new_tdd %>% distinct(gene, .keep_all = T) # nolint
+    }
     compute_stat(new_tdd, output_folder, outfile)
     p <- ggplot(new_tdd, mapping = aes(x = group, y = TDD)) +
         geom_violin(mapping = aes(fill = group)) +
@@ -255,40 +281,419 @@ create_tdd_fig_on_lists <- function(tdd_df, gene_files, gene_names,
     return(new_tdd)
 }
 
+#' Create a boxplot figure to compare TDD values of 3 different sets of genes
+#'
+#' @details Create 3 boxplot figures:
+#' 1. Create a boxplot displaying the TDD of down-regulated genes by BRAF with
+#' a BRAF peak
+#' 2. Create a boxplot displaying the TDD of up-regulated genes by BRAF with
+#' a DMSO peak
+#' 3. Create a boxplot displaying the TDD of stable genes in DMSO and BRAF
+#' conditions
+#'
+#' @param mean_gene_count The minimum gene count to compute TDD for them
+#' @param ercc a bolean indicating if we want to use ercc or stable gene
+#' normalisation
+#' @param output_folder Folder where the figures will be created
+create_figures <- function(mean_gene_count = 10, ercc = F,
+                           output_folder = "./results/TDD_analysis") {
+    tdd_full <- get_final_tdd_table(mean_gene_count, ercc, output_folder)
+    dir <- "./data/gene_lists/"
+    ercc_name <- ""
+    if (ercc) {
+        ercc_name <- "_erccnorm"
+    }
+    gn <- paste0("_geneMean>", mean_gene_count)
+    r <- create_tdd_fig_on_lists(
+        tdd_df = tdd_full,
+        gene_files = c(
+            paste0(dir, "mRNADOWN_riboRNApeakBRAF.txt"),
+            paste0(dir, "BRAF_DOWN_1.5_name.txt")
+        ),
+        gene_names = c("BRAF_down_riboRNApeak", "BRAF_down"),
+        target_columns = c("mean_BRAF_TDD", "mean_BRAF_TDD"),
+        outfile = paste0("TDD", ercc_name, "_BRAF_down-BRAFpeak", gn),
+        title = "down-reglated mRNA without and with ribosome peaks"
+    )
+    r <- create_tdd_fig_on_lists(
+        tdd_df = tdd_full,
+        gene_files = c(
+            paste0(dir, "mRNAUP_riboRNApeakDMSO.txt"),
+            paste0(dir, "BRAF_UP_1.5_name.txt")
+        ),
+        gene_names = c("BRAF_up_riboRNApeakDMSO", "BRAF_up"),
+        target_columns = c("mean_DMSO_TDD", "mean_DMSO_TDD"),
+        outfile = paste0("TDD", ercc_name, "_BRAF_up_BRAFpeakDMSO", gn),
+        title = "down-reglated mRNA without and with ribosome peaks"
+    )
+    dir <- "./results/stable_genes/"
+    if (!ercc) {
+        stable_files <- c(
+            paste0(dir, "braf_stable_genes.txt"),
+            paste0(dir, "dmso_stable_genes.txt")
+        )
+    } else {
+        stable_files <- c(
+            paste0(dir, "ercc.txt"),
+            paste0(dir, "ercc.txt")
+        )
+    }
+    r <- create_tdd_fig_on_lists(
+        tdd_df = tdd_full,
+        gene_files = stable_files,
+        gene_names = c("BRAF_stable", "DMSO_stable"),
+        target_columns = c("mean_BRAF_TDD", "mean_DMSO_TDD"),
+        outfile = paste0("BRAF_DMSO_stable", ercc_name, gn),
+        title = "BRAF and DMSO stable genes"
+    )
+}
+
+
+#' perform a t.test on TDD values replicate
+#'
+#' @param row a row of a TDD dataframe
+#' @return The t.test pvalue
+t_test_func <- function(row) {
+    x1 <- as.numeric(row[1:3])
+    x2 <- as.numeric(row[4:6])
+    test <- t.test(x1, x2)
+    return(test$p.value) # nolint
+}
+
+
+#' Get correlation value between BRAF and DMSO TDD of genes
+#'
+#' @details Get, the correlation values, the slope and the intercept of the
+#' best linear model between the TDD of a given set of
+#' genes in BRAF conditions or in DMSO conditions
+#'
+#' @param tdd_full A table with a column with the mean TDD of DMSO
+#' and BRAF condition + a group column indicating if the gene is up
+#' of down regulated by BRAF
+#' @param my_group The group of gene of interest to select
+#' @return a list with the correlation value of TDD, its intercept and
+#' slope
+get_cor_value <- function(tdd_full, my_group = "BRAF_DOWN") {
+    tdd <- tdd_full %>% filter(group == my_group) ## nolint
+    c <- cor(
+        tdd %>% filter(group == my_group) %>% # nolint
+            select(mean_DMSO_TDD) %>% unlist(), # nolint
+        tdd %>%
+            filter(group == my_group) %>% # nolint
+            select(mean_BRAF_TDD) %>%
+            unlist() # nolint
+    )
+    res <- coef(lm(mean_BRAF_TDD ~ mean_DMSO_TDD, tdd %>%
+        filter(group == my_group)))
+    return(list(cor = round(c, 3), intercept = res[1], slope = res[2]))
+}
+
+
+#' Add a column group to a table containing a gene column
+#'
+#' @param tdd_full a table of tdd with a gene columne
+#' @return The table with a column indicating if the genes are up, down or not
+#' regulated by BRAF
+get_group_columns <- function(tdd_full) {
+    down_braf <- read.table(paste0(dir, "BRAF_DOWN_1.5_name.txt"))$V1
+    up_braf <- read.table(paste0(dir, "BRAF_UP_1.5_name.txt"))$V1
+    tdd_full$group <- rep("CTRL", times = nrow(tdd_full))
+    tdd_full[tdd_full$gene %in% down_braf, "group"] <- "BRAF_DOWN"
+    tdd_full[tdd_full$gene %in% up_braf, "group"] <- "BRAF_UP"
+    return(tdd_full)
+}
+
+
+#' Prepare a dataframe used to compute the correlation between BRAF and DMSO TDD
+#'
+#' @param mean_gene_count The minimum mean gene counts to compute their TDD
+#' @param ercc Indicate if the normalisation with ercc should be used to compute
+#' the TDD index
+#' @param output_folder The folder where the results will be created
+#' @return the dataframe ready to be used for correlation figures
+prepare_df_for_cor <- function(mean_gene_count = 10, ercc = F,
+                               output_folder = "./results/TDD_analysis") {
+    tdd_full <- get_final_tdd_table(mean_gene_count = 10, ercc = F)
+    tdd_full <- tdd_full[
+        ,
+        c("gene", grep("X...|mean", colnames(tdd_full), value = T))
+    ]
+    tdd_full <- tdd_full %>%
+        mutate(p_value = apply(
+            tdd_full %>% select(starts_with("X")), 1,
+            function(x) {
+                t_test_func(x)
+            }
+        )) # nolint
+    tdd_full <- tdd_full %>% arrange(-p_value) # nolint
+    dir <- "./data/gene_lists/"
+    down_braf <- read.table(paste0(dir, "BRAF_DOWN_1.5_name.txt"))$V1
+    up_braf <- read.table(paste0(dir, "BRAF_UP_1.5_name.txt"))$V1
+    tdd_full$group <- rep("CTRL", times = nrow(tdd_full))
+    tdd_full[tdd_full$gene %in% down_braf, "group"] <- "BRAF_DOWN"
+    tdd_full[tdd_full$gene %in% up_braf, "group"] <- "BRAF_UP"
+    tdd_full$sig <- rep("", times = nrow(tdd_full))
+    tdd_full[tdd_full$p_value <= 0.05, "sig"] <- "_sig"
+    tdd_full <- tdd_full %>% mutate(kind = paste0(group, sig)) # nolint
+    tdd_full <- tdd_full %>%
+        filter(group != "CTRL") %>%
+        arrange(kind)
+    write_tsv(tdd_full, paste0(output_folder, "/TDD_correlation_table.txt")) # nolint
+    return(tdd_full)
+}
+
+
+#' Produce the TDD correlation figures
+#'
+#' @param mean_gene_count The minimum mean gene counts to compute their TDD
+#' @param ercc Indicate if the normalisation with ercc should be used to compute
+#' the TDD index
+#' @param output_folder The folder where the results will be created
+produce_tdd_cor_figure <- function(mean_gene_count = 10, ercc = F,
+                                   output_folder = "./results/TDD_analysis") {
+    tdd_full <- prepare_df_for_cor(mean_gene_count, ercc, output_folder)
+    downv <- get_cor_value(tdd_full, my_group = "BRAF_DOWN")
+    upv <- get_cor_value(tdd_full, my_group = "BRAF_UP")
+    p <- ggplot(tdd_full, mapping = aes(
+        x = mean_DMSO_TDD,
+        y = mean_BRAF_TDD, color = kind
+    )) +
+        geom_point(aes(fill = kind), colour = "white", pch = 21, size = 3) +
+        scale_fill_manual(values = c(
+            "#4169e1", "darkblue",
+            "#CD5C5C", "darkred"
+        )) +
+        coord_cartesian(xlim = c(0, 1), ylim = c(0, 1)) +
+        geom_abline(
+            intercept = downv$intercept, slope = downv$slope,
+            color = "#4169e1"
+        ) +
+        geom_abline(
+            intercept = upv$intercept, slope = upv$slope,
+            color = "#CD5C5C"
+        ) +
+        ggtitle(paste0(
+            "TDD of genes with BRAF or DMSO treatment\n",
+            "(R gene BRAF_down = ", downv$cor, ")(R BRAF_up = ",
+            upv$cor, ")"
+        ))
+    p_down <- ggplot(tdd_full %>%
+        filter(group %in% c("BRAF_DOWN", "BRAF_DOWN_sig")),
+    mapping = aes(x = mean_DMSO_TDD, y = mean_BRAF_TDD, color = kind)
+    ) +
+        geom_point(aes(fill = kind), colour = "white", pch = 21, size = 3) +
+        scale_fill_manual(values = c("black", "red")) +
+        coord_cartesian(xlim = c(0, 1), ylim = c(0, 1)) +
+        geom_abline(
+            intercept = downv$intercept, slope = downv$slope,
+            color = "#4169e1"
+        ) +
+        geom_abline(slope = 1, color = "black") +
+        ggtitle(paste0(
+            "TDD of genes BRAF down-regulated with BRAF or DMSO",
+            "treatment\n(R gene BRAF_down = ", downv$cor, ")"
+        ))
+    p_up <- ggplot(tdd_full %>% filter(group %in% c("BRAF_UP", "BRAF_UP_sig")),
+        mapping = aes(
+            x = mean_DMSO_TDD, y = mean_BRAF_TDD,
+            color = kind
+        )
+    ) +
+        geom_point(aes(fill = kind), colour = "white", pch = 21, size = 3) +
+        scale_fill_manual(values = c("black", "red")) +
+        coord_cartesian(xlim = c(0, 1), ylim = c(0, 1)) +
+        geom_abline(
+            intercept = downv$intercept,
+            slope = downv$slope, color = "#CD5C5C"
+        ) +
+        geom_abline(slope = 1, color = "black") +
+        ggtitle(paste0(
+            "TDD of genes BRAF up-regulated with BRAF or DMSO",
+            "treatment\n(R gene BRAF_up = ", upv$cor, ")"
+        ))
+    pdf(paste0(output_folder, "/TDD_correlation_figures.pdf"),
+        width = 12,
+        height = 17
+    )
+    grid.arrange(p, p_down, p_up, ncol = 1) # nolint
+    dev.off()
+}
+
+
+#' Get the negative binomial regression p-value
+#'
+#' @details glm negative binomial test to check if the number of peaks
+#' between groups of genes is different
+#'
+#' @param tab a table containing the number of ribosome peaks in genes and
+#' their groups
+#' @param output_folder folder where the diagnotics will be created
+#' @return the p-value of the test
+glm_nb_pvalue <- function(tab, pic_col,
+                          output_folder = "./results/TDD_analysis") {
+    mod <- glm.nb(paste0(pic_col, "~ group"), data = tab) # nolint
+    output_diag <- paste0(output_folder, "/diagnotics")
+    dir.create(output_diag, showWarnings = F)
+    output_fig <- paste0(output_diag, "/glm_nb_", pic_col, ".pdf")
+    pdf(output_fig, width = 12, height = 8)
+    plot(simulateResiduals(mod)) # nolint
+    dev.off()
+    return(summary(mod)$coeff[2, 4])
+}
+
+#' Get the negative binomial regression p-value
+#'
+#' @details glm logistic test to check if the presence of peaks
+#' between groups of genes is different
+#'
+#' @param tab a table containing the number of ribosome peaks in genes and
+#' their groups
+#' @param output_folder folder where the diagnotics will be created
+#' @return the p-value of the test
+glm_log_pvalue <- function(tab, pic_col,
+                           output_folder = "./results/TDD_analysis") {
+    mod <- glm(paste0(pic_col, "~ group"),
+        data = tab,
+        family = binomial(link = "logit")
+    )
+    output_diag <- paste0(output_folder, "/diagnotics")
+    dir.create(output_diag, showWarnings = F)
+    output_fig <- paste0(output_diag, "/glm_nb_", pic_col, ".pdf")
+    pdf(output_fig, width = 12, height = 8)
+    plot(simulateResiduals(mod)) # nolint
+    dev.off()
+    return(summary(mod)$coeff[2, 4])
+}
+
 
-tdd_full <- get_final_tdd_table(output_folder = "./results/TDD_analysis")
+#' Create barplots showing if different groups of genes have a different number
+#' of ribosome peaks
+#'
+#' @param tdd_full A table with TDD and number of peaks
+#' @param gene_type The selected group of gene on which we want to perform the
+#' analysis
+#' @param output_folder Folder where the results will be created
+#' @param peak_type The type of the peak
+create_pic_figs <- function(tdd_full, gene_type = "BRAF_DOWN",
+                            output_folder = "./results/TDD_analysis",
+                            peak_type = "RiboRNApeak") {
+    treatment <- sub("_.*", "", gene_type)
+    regulation <- sub(".*_", "", gene_type)
+    if (regulation == "UP") {
+        treatment <- "DMSO"
+    }
+    target <- paste0("TDD_", treatment)
+    tdd_filt <- tdd_full %>% filter(group == gene_type) # nolint
+    tdd_filt <- tdd_filt %>% mutate(group = ifelse(!!as.symbol(target),
+        paste0(group, "_TDD"), group
+    ))
+    data_col <- "peak"
+    res_col <- paste0("mean_", data_col)
+    has_col <- paste0("has_", data_col)
+    has_res_col <- paste0("mean_", has_col)
+    tdd_filt <- tdd_filt %>% mutate(
+        !!as.symbol(has_col) :=
+            ifelse(!!as.symbol(data_col) > 0, 1, 0)
+    )
+    tdd_fig <- tdd_filt %>%
+        select(!!as.symbol(data_col), !!as.symbol(has_col), group) %>%
+        group_by(group) %>%
+        summarise(
+            !!as.symbol(res_col) := mean(!!as.symbol(data_col)),
+            !!as.symbol(has_res_col) := mean(!!as.symbol(has_col))
+        )
+    pval <- glm_nb_pvalue(tdd_filt, data_col, output_folder)
+    p1 <- ggplot(tdd_fig,
+        mapping = aes_string(x = "group", y = res_col, fill = "group")
+    ) +
+        geom_bar(stat = "identity") +
+        ggtitle(paste0(
+            "Average proportion of ", treatment, " peaks in gene", regulation,
+            "-regulated by BRAF (p = ", pval, ")"
+        ))
+    pval <- glm_log_pvalue(tdd_filt, has_col, output_folder)
+    p2 <- ggplot(tdd_fig, mapping = aes_string(
+        x = "group", y = has_res_col, fill = "group"
+    )) +
+        geom_bar(stat = "identity") +
+        ggtitle(paste0(
+            "Average proportion of ", regulation,
+            "-regulated gene by BRAF having at least a ", treatment, 
+            " peak (p = ", pval, ")"
+        ))
+    pdf(paste0(output_folder, "/barplot_pic_analysis", gene_type, "_",
+               peak_type, ".pdf"),
+        width = 12, height = 12
+    )
+    grid.arrange(p1, p2, ncol = 1) #nolint
+    dev.off()
+}
+
+
+#' function that calcultaed if genes are TDD (more in BRAF or DMSO condition)
+#' and if they have peaks
+#'
+#' @param peak_file A file containing peaks in a bed format
+#' @param mean_gene_count The minimum gene count of a gene to be analysed
+#' @param ercc Indicate if the normalisation with ercc should be used to compute
+#' the TDD index
+get_tdd_pic_table <- function(peak_file, mean_gene_count = 10, ercc = F) {
+    peak_list <- read.table(peak_file)$V1
+    peak_table <- tibble(
+        gene = names(table(peak_list)),
+        peak = as.vector(table(peak_list))
+    )
+    tdd_full <- get_final_tdd_table(mean_gene_count, ercc)
+    tdd_full <- tdd_full[, 
+        c("gene", grep("X...", colnames(tdd_full), value = T))]
+    tdd_full <- tdd_full %>%
+        mutate(
+            TDD_BRAF = X276_BRAF_TDD - X276_DMSO_TDD > 0.2 &
+                X277_BRAF_TDD - X277_DMSO_TDD > 0.2 &
+                X278_BRAF_TDD - X278_DMSO_TDD > 0.2,
+            TDD_DMSO = X276_DMSO_TDD - X276_BRAF_TDD > 0.2 &
+                X277_DMSO_TDD - X277_BRAF_TDD > 0.2 &
+                X278_DMSO_TDD - X278_BRAF_TDD > 0.2
+        ) %>%
+        select(gene, TDD_BRAF, TDD_DMSO) #nolint
+    tdd_full <- tdd_full %>% left_join(peak_table) #nolint
+    tdd_full <- tdd_full %>% replace_na(list(peak = 0)) #nolint
+    return(tdd_full)
+}
+
+#' Create all peaks fig
+#' 
+#' @param peak_file A file containing peaks
+#' @param mean_gene_count The minimum mean count of gene for its tdd to
+#' be computed
+#' @param ercc Indicate if the normalisation with ercc should be used to compute
+#' the TDD index
+#' @param gene_type The selected group of gene on which we want to perform the
+#' analysis
+#' @param peak_type The type of peak inside the figure
+build_peaks_fig <- function(peak_file, mean_gene_count = 10, ercc = F,
+                            gene_type = "BRAF_DOWN",
+                            output_folder = "./results/TDD_analysis",
+                            peak_type = "RiboRNApeak") {
+    tdd_table <- get_tdd_pic_table(peak_file, mean_gene_count, ercc)
+    tdd_table <- get_group_columns(tdd_table)
+    create_pic_figs(tdd_table, gene_type, output_folder, peak_type = peak_type)
+}
+
+create_figures(mean_gene_count = 0, ercc = F, output_folder = "./results/TDD_analysis")
+create_figures(mean_gene_count = 10, ercc = F, output_folder = "./results/TDD_analysis")
+create_figures(mean_gene_count = 20, ercc = F, output_folder = "./results/TDD_analysis")
+create_figures(mean_gene_count = 50, ercc = F, output_folder = "./results/TDD_analysis")
+create_figures(mean_gene_count = 0, ercc = T, output_folder = "./results/TDD_analysis")
+produce_tdd_cor_figure()
+build_peaks_fig()
 dir <- "./data/gene_lists/"
-r <- create_tdd_fig_on_lists(
-    tdd_df = tdd_full,
-    gene_files = c(
-        paste0(dir, "mRNADOWN_riboRNApeakBRAF.txt"),
-        paste0(dir, "BRAF_DOWN_1.5_name.txt")
-    ),
-    gene_names = c("BRAF_down_riboRNApeak", "BRAF_down"),
-    target_columns = c("mean_BRAF_TDD", "mean_BRAF_TDD"),
-    outfile = "TDD_BRAF_down-BRAFpeak",
-    title = "down-reglated mRNA without and with ribosome peaks"
-)
-r <- create_tdd_fig_on_lists(
-    tdd_df = tdd_full,
-    gene_files = c(
-        paste0(dir, "mRNAUP_riboRNApeakDMSO.txt"),
-        paste0(dir, "BRAF_UP_1.5_name.txt")
-    ),
-    gene_names = c("BRAF_up_riboRNApeakDMSO", "BRAF_up"),
-    target_columns = c("mean_DMSO_TDD", "mean_DMSO_TDD"),
-    outfile = "TDD_BRAF_up-BRAFpeakDMSO",
-    title = "down-reglated mRNA without and with ribosome peaks"
-)
-dir <- "./results/stable_genes/"
-r <- create_tdd_fig_on_lists(
-    tdd_df = tdd_full,
-    gene_files = c(
-        paste0(dir, "braf_stable_genes.txt"),
-        paste0(dir, "dmso_stable_genes.txt")
-    ),
-    gene_names = c("BRAF_stable", "DMSO_stable"),
-    target_columns = c("mean_BRAF_TDD", "mean_DMSO_TDD"),
-    outfile = "BRAF_DMSO_stable",
-    title = "BRAF and DMSO stable genes"
-)
+files <- c("BRAF_vs_DMSO_RepMean.merged.bed", "DMSO_vs_BRAF_RepMean.merged.bed",
+           "BRAF_sorted_26-40.merged.bed", "DMSO_sorted_26-40.merged.bed")
+gene_types <- c("BRAF_DOWN", "BRAF_UP", "BRAF_DOWN", "BRAF_UP")
+peak_types <- c("RiboRNAPeak", "RiboRNAPeak", "RiboPeak", "RiboPeak")
+for (i in seq_len(length(files))) {
+    peak_file <- paste0(dir, files[i])
+    build_peaks_fig(peak_file = peak_file, gene_type = gene_types[i], 
+                    peak_type = peak_types[i])
+}