packages <- c(
    "tidyverse",
    "printr",
    "ggthemes",
    "readr",
    "miR34AasRNAproject",
    "grid",
    "gtable"
)
purrr::walk(packages, library, character.only = TRUE)
rm(packages)

Introduction

It is likely, due to the head-to head orientation of miR34a HG and asRNA, that transcription initiation may be activated from a single promoter in a bi-directional manner. To investigate whether miR34a HG and asRNA are transcribed from the same promoter as convergent transcripts, we cloned the miR34a HG promoter, including the p53 binding site, into a luciferase/renilla dual reporter vector which we hereafter refer to as p1. The p1 sequence was previously published in Raver-Shapira, N., et al., Transcriptional activation of miR-34a contributes to p53-mediated apoptosis. Mol Cell, 2007. 26(5): p. 731-43.



Methods



Cell culture, transfection and luminescence quantification

All cell lines were cultured at 5% CO2 and 37° C with HEK293T cells cultured in DMEM high glucose (Hyclone) and HCT116 cells in McCoy’s 5a (Life Technologies). All growth mediums were supplemented with 10% heat-inactivated FBS and 50 μg/ml of streptomycin and 50 μg/ml of penicillin. Cells were plated at 10,000 cells per well in a 96-well plate with a white bottom and cultured overnight. The following day cells were co-transfected with 10ng of empty, p1, or p2 plasmid and GFP using the standard lipofektamine 2000 (Life Technologies) protocol. The expression of GFP and luminescence was measured 24 h post transfection by using the Dual-Glo Luciferase Assay System (Promega) and detected by the GloMax-Multi+ Detection System (Promega). The expression of luminescence was normalized to GFP.



Analysis

Three independant experiments (biological replicates) were performed in total. The Student's t-test was used to compare the empty vs p1 group's log2 activity for both genes.



Constructs

ps <- data.frame(
  name = c("p1"),
  sequence = c("GCG CCC TGC CTG GCC CCC ACC TGG TCC TCT TTC CTT TTC AGG TGG AGG AGA TGC CGC TGT
              CCC GTC GGT CTG GGG ACA GCC CAG CTC CCC GGA TCC CGG GCT GGA GAG ACG CGT CGC GGC   
              CCC GGG GCC TGG TGG CAC GAG CAG GAA GGA GGA CCC GGC GGC GGG CTC TGC CTG GGC TTG 
              CCT GGG CTT GTT CCG AGC CGG GCT GCT TCT CGG TGA CCA CGC AGA TCG GGG GCA TTT GGA
              GAT TTT GCG GGA GTC CTG CAG CCA AGC TCC GGG GCA GGA GAG GCC TGG AAG CCT GCA CTA
              CCT GCT C"
  )
)
ps



Primers

primers <- data.frame(
    name=c(
        "Luc_set_II_F",
        "Luc_set_II_R",
        "Renilla_pBiDir_F1",
        "Renilla_pBiDir_R1",
        "B-actin_F",
        "B-actin_R"
    ),
    sequence=c(
        "AAG ATT CAA AGT GCG CTG CTG",
        "TTG CCT GAT ACC TGG CAG ATG",
        "TAA CGC GGC CTC TTC TTA TTT",
        "GAT TTG CCT GAT TTG CCC ATA",
        "AGG TCA TCA CCA TTG GCA ATG AG",
        "CTT TGC GGA TGT CCA CGT CA"
    )
)
primers



Results

*For a schematic representation of the P1 construct please see Supplementary Figure 3a-b.

data <- getData("Figure 2c")

.calcP <- function(`Cell line`, gene, logValue, data) {
  bool1 <- pull(data, `Cell line`) == `Cell line`
  bool2 <- pull(data, gene) == gene
  bool3 <- pull(data, construct) == "Empty"
  bool <- bool1 & bool2 & bool3
  t.test(logValue, pull(data, logValue)[bool])$p.value
}

data <- data %>%
    mutate(logValue = log2(value))

stats <- data %>%
  group_by(`construct`, `Cell line`, gene) %>%
  summarize(
    n = n(),
    mean = mean(logValue),
    CI95l = t.test(logValue)$conf.int[1],
    CI95h = t.test(logValue)$conf.int[2],
    pValue = .calcP(`Cell line`, gene, logValue, data)
  ) %>%
  ungroup() %>%
  pFormat(.)

#vertical lines and labels in plot
ys <- stats %>%
  group_by(`Cell line`) %>%
  summarize(max = max(CI95h)) 

vl <- stats %>%
  group_by(`Cell line`, gene) %>%
  summarize(
    pValue = as.numeric(min(pValue))
  ) %>%
  ungroup() %>%
  pFormat(.) %>%
  mutate(
    x = case_when(
      gene == "Renilla" ~ 1 + 0.25,
      gene == "Luciferase" ~ 1 - 0.25
    ),
    xend = case_when(
      gene == "Renilla" ~ 2 + 0.25,
      gene == "Luciferase" ~ 2 - 0.25
    ),
    pFormat = pFormat
  ) %>%
  left_join(ys) %>%
  mutate(max = max + c(0.25, 1.2, 0.25, 1.2))

#fix gene labels
data <- data %>%
  mutate(plotGene = case_when(
    gene == "Luciferase" ~ "  Luciferase\n(miR34a HG)",
    gene == "Renilla"    ~ "    Renilla\n(lncTAM34a)",
    TRUE ~ "somehow missed a gene"
  ))

stats <- stats %>%
  mutate(plotGene = case_when(
    gene == "Luciferase" ~ "  Luciferase\n(miR34a HG)",
    gene == "Renilla"    ~ "    Renilla\n(lncTAM34a)",
    TRUE ~ "somehow missed a gene"
  ))

vl <- vl %>%
  mutate(plotGene = case_when(
    gene == "Luciferase" ~ "  Luciferase\n(miR34a HG)",
    gene == "Renilla"    ~ "    Renilla\n(lncTAM34a)",
    TRUE ~ "somehow missed a gene"
  ))
data <- filter(data, construct %in% c("p1", "Empty"))
stats <- filter(stats, construct %in% c("p1", "Empty"))

p <- ggplot(data = NULL) +
  geom_dotplot(
    data = data, 
    aes(
      x = construct,
      y = logValue,
      fill = plotGene
    ),
    binwidth = 1/10,
    #alpha = 0.5,
    colour = NA,
    position = position_dodge(width = 0.9), 
    binaxis = 'y', 
    stackdir = 'center',
    dotsize = 3,
    show.legend = TRUE
  ) +
  facet_grid(. ~ `Cell line`) +
  labs(
    x = "Construct",
    y = "log2 activity (a.u.)"
  )

markdown <- p +
  geom_linerange(
    data = stats,
    aes(
      x = construct,
      ymin = CI95l,
      ymax = CI95h,
      group = plotGene
    ),
    colour = "grey20",
    position = position_dodge(width = 0.9),
    show.legend = FALSE
  ) +
  geom_point(
    data = stats,
    aes(
      x = construct,
      y = mean,
      group = plotGene
    ),
    position = position_dodge(width = 0.9),
    show.legend = FALSE,
    colour = "gray20",
    size = 6,
    shape = 95
  ) +
  geom_label(
    data = vl,
    aes(
      x = 1.5, 
      y = max + 0.25, 
      label = pFormat, 
      group = gene
    ),
    label.size = 0,
    label.padding = unit(0.01, "lines"),
    show.legend = FALSE,
    fill = "white",
    size = 5,
    family = "Arial Unicode MS",
    position = position_dodge(width = 0.9)
  ) +
  geom_segment(
    data = vl,
    aes(
      x = x,
      y = max,
      xend = xend,
      yend = max
    ),
    colour = "grey43",
    show.legend = FALSE
  ) +
  guides(fill = guide_legend(
    title = "Gene", 
    override.aes = list(size = 6)
  ))

plotRmarkdown(markdown)

pdf <- p +
  geom_linerange(
    data = stats,
    aes(
      x = construct,
      ymin = CI95l,
      ymax = CI95h,
      group = plotGene
    ),
    colour = "grey30",
    size = 0.3,
    position = position_dodge(width = 0.9),
    show.legend = FALSE
  ) +
  geom_point(
    data = stats,
    aes(
      x = construct,
      y = mean,
      group = plotGene
    ),
    position = position_dodge(width = 0.9),
    show.legend = FALSE,
    colour = "grey30",
    size = 4,
    shape = 95
  ) +
  geom_label(
    data = vl,
    aes(
      x = 1.5, 
      y = max + 0.4, 
      label = pFormat, 
      group = gene
    ),
    label.size = 0,
    label.padding = unit(0.01, "lines"),
    show.legend = FALSE,
    fill = "white",
    colour = "grey30",
    size = 2.5,
    family = "Arial Unicode MS",
    position = position_dodge(width = 0.9)
  ) +
  geom_segment(
    data = vl,
    aes(
      x = x,
      y = max,
      xend = xend,
      yend = max
    ),
    colour = "grey30",
    size = 0.3,
    show.legend = FALSE
  ) +
  guides(fill = guide_legend(
    title = "Gene", 
    override.aes = list(size = 4)
  ))

figure <- plotPDF(pdf)

# path <- file.path("~/GitHub/miR34a_asRNA_project/inst", fileMap(type = "pdf")["Figure 2c"][[1]])
# ggsave(
#    plot = figure,
#    filename = path,
#    device = cairo_pdf,
#    height = 60,
#    width = 68,
#    units = "mm"
# )
miR34a asRNA and miR34a HG levels in HCT116 and HEK293t cells after transfection with P1 or empty constructs. Luciferase represents miR34a HG and renilla represents miR34a asRNA. The points represent the values obtained from each independant experiment (n = 3). 95% confidence interval (vertical black lines), mean (horizontal black lines), and p-values are shown with the horizontal line under the p-value indicating the comparison that was tested.



Conclusion

Upon transfection of this construct in two separate cell lines we observed increases in both luciferase and renilla indicating that miR34a HG and asRNA expression is regulated by a single promoter contained within the p1 construct.





sessionInfo()


GranderLab/miR34a_asRNA_project documentation built on May 26, 2019, 7:26 a.m.