Question: Adding asterisks to a ggplot2 bar plot to show significance
1
gravatar for 2405592M
4 months ago by
2405592M30
2405592M30 wrote:

Hi guys. I'm working with a data set and I've written a for loop that generates barplots for my input tRNA data. I've been able to generate my bar plots. However, I have a column with my P values and I want to annotate on my bar plots any significant log fold changes (Padj<=0.05) with an asterisk, and insignificant values (Padj>0.05) with NS. How do I do this and incorporate it into my for loop. Been stuck on this all weekend. THANKS IN ADVANCE!!!

*head(df) ...

  Isodecoder Anticodon Loci Fragment_type                  Label        LFC         Padj
1        Ala       AGC    1   wholecounts  Ala-AGC-1-wholecounts  3.6111408 8.890000e-10
2        Ala       AGC   10   wholecounts Ala-AGC-10-wholecounts  0.3910508 6.404589e-01
3        Ala       AGC   12   wholecounts Ala-AGC-12-wholecounts         NA           NA
4        Ala       AGC    2   wholecounts  Ala-AGC-2-wholecounts  0.2785932 4.741744e-01
5        Ala       AGC    3   wholecounts  Ala-AGC-3-wholecounts  1.3492899 3.269910e-04
6        Ala       AGC    4   wholecounts  Ala-AGC-4-wholecounts -0.4200119 1.475002e-01

*This is my current code:

    df <- read.delim("/mnt/data/wholecounts_barplot_input.txt", stringsAsFactors = FALSE)

library(ggplot2)


plot_list <- list()

for (iso in c("Ala", "Arg", "Asn", "Asp", "Cys", "Gln", "Glu", "Gly", "His", "Ile", "Leu", "Lys", "Met", "Phe", "Pro", "SeC", "Ser", "Thr", "Trp", "Tyr", "Val", "iMet")) {

  df2 <- subset(df, Isodecoder == iso) 


  temp_plot <- ggplot(data = df2, aes(x = Label, y = LFC, fill = Anticodon))+
                      geom_bar(stat = "identity")+
                      xlab("tRNA")+
                      ylab("Log2FC")+
                      ylim(c(-2, 4))+
                      theme_bw()+
                      theme(axis.text.x = element_text(size = 12, angle = 45, hjust = 1), plot.margin = margin(0.5,0.5,0.5,2, "cm"))+
                      ggtitle(iso, "Full Length tRNA LFCs")


  plot_list[[iso]] <- temp_plot


  pdf(paste(iso, "wholecounts_LFCs.pdf", sep = "_"), bg = "white", width = 15, height = 7)
  print(temp_plot)
  dev.off()
}
rna-seq ggplot2 R • 610 views
ADD COMMENTlink modified 4 months ago by zx87548.2k • written 4 months ago by 2405592M30
5
gravatar for zx8754
4 months ago by
zx87548.2k
London
zx87548.2k wrote:

Annotate bars with geom_text:

ggplot(data = df1, aes(x = Label, y = LFC, 
                       fill = Anticodon,
                       label = ifelse(Padj < 0.05, "*", "NS")) # <--- See here 
       ) +
  geom_bar(stat = "identity") +
  geom_text(vjust = 0) + # <----------------------------------------- and here
  xlab("tRNA") +
  ylab("Log2FC") +
  ylim(c(-2, 4)) +
  theme_bw() +
  theme(axis.text.x = element_text(size = 12, angle = 45, hjust = 1), 
        plot.margin = margin(0.5, 0.5, 0.5, 2, "cm"))
ADD COMMENTlink written 4 months ago by zx87548.2k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1627 users visited in the last hour