library("ggplot2") 
library("ggrepel") 
library("plotly") 
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library("dplyr") 
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#input_file <- read.table(file = "", sep = "\t")

data <- read.delim(file = "32-cell.txt", header = TRUE,sep = '\t')
head(data)
##               external_gene_name   logFold         FDR
## 1         tr|Q5RHR0|Q5RHR0_DANRE -6.493297 0.000000000
## 2 tr|A0A0G2KCN9|A0A0G2KCN9_DANRE -6.493297 0.000000000
## 3         tr|Q5TZC8|Q5TZC8_DANRE -6.493297 0.000000000
## 4 tr|A0A0R4IN27|A0A0R4IN27_DANRE -5.084920 0.001326066
## 5 tr|A0A2R8RNV7|A0A2R8RNV7_DANRE -4.439265 0.033430751
## 6         tr|F1QB90|F1QB90_DANRE -4.419023 0.013359657
DEGdf <- mutate(data, sig=ifelse(data$FDR<=0.05 & data$logFold<=-2 | data$FDR<=0.05 & data$logFold>=2, "Significant", "Not Significant")) #Will have different colors depending on significance
head(DEGdf)
##               external_gene_name   logFold         FDR         sig
## 1         tr|Q5RHR0|Q5RHR0_DANRE -6.493297 0.000000000 Significant
## 2 tr|A0A0G2KCN9|A0A0G2KCN9_DANRE -6.493297 0.000000000 Significant
## 3         tr|Q5TZC8|Q5TZC8_DANRE -6.493297 0.000000000 Significant
## 4 tr|A0A0R4IN27|A0A0R4IN27_DANRE -5.084920 0.001326066 Significant
## 5 tr|A0A2R8RNV7|A0A2R8RNV7_DANRE -4.439265 0.033430751 Significant
## 6         tr|F1QB90|F1QB90_DANRE -4.419023 0.013359657 Significant
volc = ggplot(DEGdf, aes(logFold, -log10(FDR))) + #log2Foldchange vs FDR
  geom_point(aes(col=sig)) + # the points are colored by significance
  scale_color_manual(values=c("blue", "red")) + 
  ggtitle("Volcano Plot 32-cell") #e.g. 'Title description'
volc+geom_text_repel(data=head(data, 5), aes(label=external_gene_name)) #adding text for the top 5 genes

ggsave("Volcanoplot.jpeg", device="jpeg") #Save the image as jpeg
## Saving 7 x 5 in image
volc