theme_set(theme_bw())

p1 <- ggplot(astronaut, aes(x = Fold_change, y = -log(pvalue, 10))) +
  geom_point() +
  xlab(expression("Fold_change")) +
  ylab(expression("-log"[10]*"p-value"))
p1

astronaut <- astronaut %>%
  mutate(expression = dplyr::case_when(Fold_change > 1 & pvalue < 0.05 ~ "Up_regulated",
                                        Fold_change < -1 & pvalue > 0.05 ~ "Down_regulated",
                                        pvalue > 0.05 ~ "Not_Significant"))

p2 <- ggplot(astronaut, aes(x = Fold_change, y = -log(pvalue, 10))) +
  geom_point(aes(color = expression)) +
  xlab(expression("Fold_change")) +
  ylab(expression("-log"[10]*"p-value")) +
  scale_color_manual(values = c("#008B45", "#6C7B8B", "#CD2990"))
p2

top_genes <- astronaut %>%
  filter(expression == "Up_regulated" | expression == "Down_regulated")

p3 <- p2 +
  geom_label_repel(data = top_genes, label = top_genes$Feature.ID)
p3
## Warning: ggrepel: 57 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps