packages <- c( "tidyverse", "printr", "ggthemes", "readr", "miR34AasRNAproject", "grid", "gtable" ) purrr::walk(packages, library, character.only = TRUE) rm(packages)
We hypothesized that miR34a asRNA may function to mediate the levels of its sense gene, miR34a. To this end, we stably over-expressed miR34a asRNA, using lentiviral transduction, in 3 different p53-null cell lines and monitored the effects on miR34a.
miR34a asRNA cloning
RNA was harvested from U2OS cells using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. PCR was run using the miR34aAS_cloning_F4 and miR34aAS_cloning_Ex3_1 primers for 40 cycles at annealing temperature 58˚C and run on an agarose gel. Bands were excised and extracted using the QIAquick gel extraction kit (Qiagen). PCR products were cloned using the Strata Clone kit (Aligent) and sequenced (results below). The insert for the lentiviral construct (p-HIV-I2AG-U6) was subsequently sub-cloned from the sequenced plasmid using primers with PacI and NheI cleavage sites. The cloned transcript largley mirrors the GENCODE annotated transcript.
Cloning primers
primers <- data.frame( name=c( "miR34aAS_cloning_F4", "miR34aAS_cloning_Ex3_1" ), sequence=c( "ACGCGTCTCTCCAGCCCGGGAT", "AATGATGGCCGCAACTAATGACGG" ) ) primers
Sequencing results
construct <- data.frame( name="miR34a_asRNA", sequence="ACG CGT CTC TCC AGC CCG GGA TCC GGG GAG CTG GGC TGT CCC CAG ACC GAC GGG ACA GCG GCA TCT CCT CCA CCT GAA AAG GAA AGA GGA CCA GTT TGC AGG ACT CCG AAC TGG GCC CGC GAG ATC TCC ACC TGC GCA AAA CGA AAG GGC GGA TTC TCC TTG GAC TCA CGA GGC AAC CGC TCC CCG GGG TGA GAA CGG GGG ACT CAT TCC TCC GGC ACT GGG AGA AGA CGA TTC TTC AGG AGG AGG ACA GGG AAG CGA ATG CTA CCC AGA TGT CTC AGT ATA CTG GCT CGC GGC ACA TCG GGC AAA TGA ACC TAT CAG ATA ACA ACG GCA GAT CAG ATG CCT GAG CAT TCA GAA GCA ACA GCT GTG GAG CCC CCG TGG GTT CAG AAG GCC TGG TTC CCG TCT CCA GAA GCC TGG CTC TCC TCC CTC CTG GGC CCA CTA CTT TGG CTT CTT GTT CCT ACG TAC AAG GAG TTG CGA AGA AGG CAA CTC TTC CCC TCC CTG AAG CCA AAG GAA TGA AAC AGA CTA GGG CGG GAG AGG TGG CCA TCC GTC ATT AGT TGC GGC CAT CA" ) construct
Lentivirus production and infection
HEK293T cells were transfected with viral and expression constructs using Lipofectamine 2000 (Life Technologies), after which viral supernatants were harvested 48 and 72 hours post-transfection. Viral particles were concentrated using PEG-IT solution (Systems Biosciences) according to the manufacturer’s recommendations. HEK293T cells were used for virus titration and GFP expression was evaluated 72hrs post-infection via flow cytometry after which TU/ml was calculated. Cell lines were subsequently infected with the lentiviral particals using a multuplicity of infection = 1. After 48 hours, cells were placed under mycophenolic acid selection and the selection process was monitored using GFP expression via flow cytometry. When GFP expression was present in >90% of the cells, cells were frozen for downstream analysis.
QPCR
RNA was extracted using the RNeasy mini kit (Qiagen) and subsequently treated with DNase (Ambion Turbo DNA-free, Life Technologies). 500ng RNA was used for cDNA synthesis using MuMLV (Life Technologies) and a 1:1 mix of oligo(dT) and random nanomers. QPCR was carried out using KAPA 2G SYBRGreen (Kapa Biosystems) using the Applied Biosystems 7900HT machine with the cycling conditions: 95 °C for 3 min, 95 °C for 3 s, 60 °C for 30 s. QPCR for miRNA expression analysis was performed according to the protocol for the TaqMan microRNA Assay kit (Life Technologies) with primer/probe sets purchased from the same company (TaqMan® MicroRNA Assay, hsa-miR-34a, human and Control miRNA Assay, RNU48, human) and the same cycling scheme as above. QPCR primers are shown below.
Analysis
Two experimental (technical) replicates were included in each QPCR run and delta ct was calculated for each sample using the mean of the gene of interest's technical replicates and the house keeping gene's technical replicates. delta-delta ct was calculated for each sample by subtracting the median dct value for the corresponding mock samples. Five independant experiments were performed in total. The Student's t-test was used to compare the mock vs miR34a asRNA overexpressing group's delta-delta ct values for both genes.
QPCR primers
primers <- data.frame( name=c( "ß-actin Fwd", "ß-actin Rev", "miR34a_asF1", "miR34a_asR1" ), sequence=c( "AGGTCATCACCATTGGCAATGAG", "CTTTCGGGATGTCCACGTCA", "AGCGGCATCTCCTCCACCTGAAA", "TTGCCTCGTGAGTCCAAGGAGAAT" ) ) primers
data <- getData("Figure 3a") #Have to divide the analysis due to the presence of several house #keeping genes. gois1 <- c("lncTAM34a", "Actin") gois2 <- c("miR34a", "RNU48") data1 <- filter(data, gene %in% gois1) data2 <- filter(data, gene %in% gois2) #calculate dct groups <- c("Genetic mod", "Biological Replicate", "Cell line", "gene") data1 <- data1 %>% technicalMeans(., groups) %>% dct(., gois1, Actin, groups, F) %>% mutate(GOI = as.character(GOI)) data2 <- data2 %>% technicalMeans(., groups) %>% dct(., gois2, RNU48, groups, F) %>% mutate(GOI = as.character(GOI)) data <- bind_rows(data1, data2) %>% mutate(GOI = parse_factor(GOI, levels = c("lncTAM34a", "miR34a"))) #calculate ddct groups[groups == "gene"] <- "GOI" logical <- tibble( `Biological Replicate` = pull(data, `Biological Replicate`) == 2, `Genetic mod` = pull(data, `Genetic mod`) == "mock" ) data <- data %>% ddct(., logical, groups) %>% folds(.) #calculate stats stats <- calcStats(data, `Genetic mod`, "mock", groups) %>% pFormat(.) #format for plotting lev <- c("mock", "lncTAM34a", "Skov3\nmock", "Skov3\nlncTAM34a", "Saos2\nmock", "Saos2\nlncTAM34a") #data <- data %>% # mutate(`Genetic mod` = gsub("miR34a asRNA", "miR34a\nasRNA", `Genetic mod`)) %>% # mutate(`Genetic mod` = parse_factor(`Genetic mod`, levels = c("mock", "miR34a\nasRNA"))) #stats <- stats %>% # mutate(`Genetic mod` = gsub("miR34a asRNA", "miR34a\nasRNA", `Genetic mod`)) %>% # mutate(`Genetic mod` = parse_factor(`Genetic mod`, levels = c("mock", "miR34a\nasRNA"))) #vertical lines and labels in plot ys <- stats %>% group_by(`Cell line`) %>% summarize(max = max(CI95h)) vl <- stats %>% group_by(`Cell line`, GOI) %>% summarize( pValue = as.numeric(min(pValue)) ) %>% ungroup() %>% pFormat(.) %>% mutate( x = case_when( GOI == "miR34a" ~ 1 + 0.25, GOI == "lncTAM34a" ~ 1 - 0.25 ), xend = case_when( GOI == "miR34a" ~ 2 + 0.25, GOI == "lncTAM34a" ~ 2 - 0.25 ) ) %>% inner_join(ys) %>% mutate( max = max + c(0.95, 3.35, 0.65, 3.15, 0.65, 3.15) )
p <- ggplot(data = NULL) + geom_dotplot( data = data, aes( x = `Genetic mod`, y = log2fold, fill = GOI, group = interaction(`Genetic mod`, GOI) ), binwidth = 1/10, colour = NA, #alpha = 0.5, position = position_dodge(width = 0.9), binaxis = 'y', stackdir = 'center', dotsize = 6, show.legend = TRUE ) + facet_grid( . ~ `Cell line`, scales = "free", space = "free" ) + scale_y_continuous("\u0394\u0394Ct")+ labs(x = "Cell line") markdown <- p + geom_linerange( data = stats, aes( x = `Genetic mod`, ymin = CI95l, ymax = CI95h, group = interaction(`Genetic mod`, GOI) ), position = position_dodge(width = 0.9), colour = "gray20", show.legend = FALSE ) + geom_point( data = stats, aes( x = `Genetic mod`, y = mean, group = interaction(`Genetic mod`, GOI) ), colour = "gray20", shape = 95, size = 6, position = position_dodge(width = 0.9), show.legend = FALSE ) + geom_label( data = vl, aes( x = 1.5, y = max + 0.4, label = pFormat, group = interaction(`Cell line`, GOI) ), fill = "white", label.size = 0, label.padding = unit(0.01, "lines"), position = position_dodge(width = 0.9), show.legend = FALSE, fontface = "bold", family = "Arial Unicode MS", size = 3 ) + 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 = `Genetic mod`, ymin = CI95l, ymax = CI95h, group = interaction(`Genetic mod`, GOI) ), position = position_dodge(width = 0.9), colour = "grey30", size = 0.3, show.legend = FALSE ) + geom_point( data = stats, aes( x = `Genetic mod`, y = mean, group = interaction(`Genetic mod`, GOI) ), colour = "grey30", shape = 95, size = 4, position = position_dodge(width = 0.9), show.legend = FALSE ) + geom_label( data = vl, aes( x = 1.5, y = max + 1, label = pFormat, group = interaction(`Cell line`, GOI) ), fill = "white", colour = "grey30", label.size = 0, label.padding = unit(0.01, "lines"), position = position_dodge(width = 0.9), show.legend = FALSE, fontface = "bold", family = "Arial Unicode MS", size = 2.5 ) + 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 3a"][[1]]) # ggsave( # plot = figure, # filename = path, # device = cairo_pdf, # height = 60, # width = 83, # units = "mm" # )
miR34a asRNA over-expression causes a concominant up-regulation of miR34a in all 3 cell lines. This indicates that miR34a asRNA concordantly regulates miR34a.
sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.