1. load libraries

2. Significat genes and up and down



# Filter significant genes
significant_genes <- data %>% filter(p_val_adj < 0.05)

# Identify upregulated genes
upregulated_genes <- significant_genes %>% filter(avg_log2FC > 1.5)

# Identify downregulated genes
downregulated_genes <- significant_genes %>% filter(avg_log2FC < -1.5)

3. VolcanoPlot



# Create a volcano plot
ggplot(data, aes(x = avg_log2FC, y = -log10(p_val_adj))) +
  geom_point(aes(color = avg_log2FC > 1 | avg_log2FC < -1)) +
  scale_color_manual(values = c("grey", "red")) +
  labs(title = "Volcano Plot", x = "Log2 Fold Change", y = "-Log10 Adjusted P-value") +
  theme_minimal()

NA
NA
NA
NA
NA

4. VolcanoPlot2



# Highlight interesting genes
interesting_genes <- c("UBE2C", "PCLAF", "TYMS", "RPS4Y1", "LINC00861", "IL7R", "TCF7")

ggplot(data, aes(x = avg_log2FC, y = -log10(p_val_adj))) +
  geom_point(aes(color = avg_log2FC > 1 | avg_log2FC < -1)) +
  geom_text(data = filter(data, gene %in% interesting_genes),
            aes(label = gene), size = 3, hjust = 0, vjust = 0, nudge_x = 0.1, nudge_y = 0.1) +
  scale_color_manual(values = c("grey", "red")) +
  labs(title = "Volcano Plot with Highlighted Genes", x = "Log2 Fold Change", y = "-Log10 Adjusted P-value") +
  theme_minimal()

NA
NA
LS0tCnRpdGxlOiAiRGlmZmVyZW50aWFsIEV4cHJlc3Npb24gQW5hbHlzaXMgb2YgU1MgdnMgUEJNQzEwWCtQQk1DIgphdXRob3I6IE5hc2lyIE1haG1vb2QgQWJiYXNpCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OgogICNybWRmb3JtYXRzOjpyZWFkdGhlZG93bgogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgdG9jX2NvbGxhcHNlZDogdHJ1ZQotLS0KCiMgMS4gbG9hZCBsaWJyYXJpZXMKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CiMgTG9hZCBuZWNlc3NhcnkgbGlicmFyaWVzCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoZ2dwbG90MikKCiMgTG9hZCB0aGUgZGF0YQpkYXRhIDwtIHJlYWQuY3N2KCJQYXRpZW50X2NlbGxfbGluZXNfdnNfUEJNQ19UY2VsbHMuY3N2IikKYGBgCgoKIyAyLiBTaWduaWZpY2F0IGdlbmVzIGFuZCB1cCBhbmQgZG93bgpgYGB7ciBWLCBmaWcuaGVpZ2h0PTYsIGZpZy53aWR0aD0xMH0KCgojIEZpbHRlciBzaWduaWZpY2FudCBnZW5lcwpzaWduaWZpY2FudF9nZW5lcyA8LSBkYXRhICU+JSBmaWx0ZXIocF92YWxfYWRqIDwgMC4wNSkKCiMgSWRlbnRpZnkgdXByZWd1bGF0ZWQgZ2VuZXMKdXByZWd1bGF0ZWRfZ2VuZXMgPC0gc2lnbmlmaWNhbnRfZ2VuZXMgJT4lIGZpbHRlcihhdmdfbG9nMkZDID4gMS41KQoKIyBJZGVudGlmeSBkb3ducmVndWxhdGVkIGdlbmVzCmRvd25yZWd1bGF0ZWRfZ2VuZXMgPC0gc2lnbmlmaWNhbnRfZ2VuZXMgJT4lIGZpbHRlcihhdmdfbG9nMkZDIDwgLTEuNSkKCmBgYAoKIyAzLiBWb2xjYW5vUGxvdApgYGB7ciBkYXRhMSwgZmlnLmhlaWdodD04LCBmaWcud2lkdGg9MTJ9CgoKIyBDcmVhdGUgYSB2b2xjYW5vIHBsb3QKZ2dwbG90KGRhdGEsIGFlcyh4ID0gYXZnX2xvZzJGQywgeSA9IC1sb2cxMChwX3ZhbF9hZGopKSkgKwogIGdlb21fcG9pbnQoYWVzKGNvbG9yID0gYXZnX2xvZzJGQyA+IDEgfCBhdmdfbG9nMkZDIDwgLTEpKSArCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoImdyZXkiLCAicmVkIikpICsKICBsYWJzKHRpdGxlID0gIlZvbGNhbm8gUGxvdCIsIHggPSAiTG9nMiBGb2xkIENoYW5nZSIsIHkgPSAiLUxvZzEwIEFkanVzdGVkIFAtdmFsdWUiKSArCiAgdGhlbWVfbWluaW1hbCgpCgoKCgoKYGBgCgojIDQuIFZvbGNhbm9QbG90MgpgYGB7ciBkYXRhMiwgZmlnLmhlaWdodD04LCBmaWcud2lkdGg9MTJ9CgoKIyBIaWdobGlnaHQgaW50ZXJlc3RpbmcgZ2VuZXMKaW50ZXJlc3RpbmdfZ2VuZXMgPC0gYygiVUJFMkMiLCAiUENMQUYiLCAiVFlNUyIsICJSUFM0WTEiLCAiTElOQzAwODYxIiwgIklMN1IiLCAiVENGNyIpCgpnZ3Bsb3QoZGF0YSwgYWVzKHggPSBhdmdfbG9nMkZDLCB5ID0gLWxvZzEwKHBfdmFsX2FkaikpKSArCiAgZ2VvbV9wb2ludChhZXMoY29sb3IgPSBhdmdfbG9nMkZDID4gMSB8IGF2Z19sb2cyRkMgPCAtMSkpICsKICBnZW9tX3RleHQoZGF0YSA9IGZpbHRlcihkYXRhLCBnZW5lICVpbiUgaW50ZXJlc3RpbmdfZ2VuZXMpLAogICAgICAgICAgICBhZXMobGFiZWwgPSBnZW5lKSwgc2l6ZSA9IDMsIGhqdXN0ID0gMCwgdmp1c3QgPSAwLCBudWRnZV94ID0gMC4xLCBudWRnZV95ID0gMC4xKSArCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IGMoImdyZXkiLCAicmVkIikpICsKICBsYWJzKHRpdGxlID0gIlZvbGNhbm8gUGxvdCB3aXRoIEhpZ2hsaWdodGVkIEdlbmVzIiwgeCA9ICJMb2cyIEZvbGQgQ2hhbmdlIiwgeSA9ICItTG9nMTAgQWRqdXN0ZWQgUC12YWx1ZSIpICsKICB0aGVtZV9taW5pbWFsKCkKCgpgYGAK