library(DESeq2)
Counts <- read.delim("../count_table.csv", header = TRUE, row.names = 1, sep = ",")
Counts <- Counts[which(rowSums(Counts) > 0),]
condition <- factor(c("C","C","C","C", "S","S","S","S"))
coldata <- data.frame(row.names = colnames(Counts), condition)
dds <- DESeqDataSetFromMatrix(countData = Counts, colData = coldata, design = ~condition)
dds <- DESeq(dds)
res <- results(dds, contrast = c("condition", "S", "C"))
sigs <- na.omit(res)
sigs <- sigs[sigs$padj < 0.05 & sigs$baseMean > 50,]
sigs
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("clusterProfiler")
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("AnnotationDbi")
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("org.Hs.eg.db")
library(clusterProfiler)
library(org.Hs.eg.db)
library(AnnotationDbi)
genes_to_test <- rownames(sigs[sigs$log2FoldChange > 0.5,])
GO_results <- enrichGO(gene = genes_to_test, OrgDb = "org.Hs.eg.db", keyType = "ENSEMBL", ont = "BP")
as.data.frame(GO_results)
fit <- plot(barplot(GO_results, showCategory = 15))
png("out.png", res = 250, width = 1400, height = 1800)
print(fit)
dev.off()
fit
LS0tCnRpdGxlOiAiR08gZW5yaWNobWVudCBhbmFseXNpcyB1c2luZyBEU2VxMiIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmxpYnJhcnkoREVTZXEyKQpDb3VudHMgPC0gcmVhZC5kZWxpbSgiLi4vY291bnRfdGFibGUuY3N2IiwgaGVhZGVyID0gVFJVRSwgcm93Lm5hbWVzID0gMSwgc2VwID0gIiwiKQpDb3VudHMgPC0gQ291bnRzW3doaWNoKHJvd1N1bXMoQ291bnRzKSA+IDApLF0KY29uZGl0aW9uIDwtIGZhY3RvcihjKCJDIiwiQyIsIkMiLCJDIiwgIlMiLCJTIiwiUyIsIlMiKSkKY29sZGF0YSA8LSBkYXRhLmZyYW1lKHJvdy5uYW1lcyA9IGNvbG5hbWVzKENvdW50cyksIGNvbmRpdGlvbikKZGRzIDwtIERFU2VxRGF0YVNldEZyb21NYXRyaXgoY291bnREYXRhID0gQ291bnRzLCBjb2xEYXRhID0gY29sZGF0YSwgZGVzaWduID0gfmNvbmRpdGlvbikKZGRzIDwtIERFU2VxKGRkcykKcmVzIDwtIHJlc3VsdHMoZGRzLCBjb250cmFzdCA9IGMoImNvbmRpdGlvbiIsICJTIiwgIkMiKSkKc2lncyA8LSBuYS5vbWl0KHJlcykKc2lncyA8LSBzaWdzW3NpZ3MkcGFkaiA8IDAuMDUgJiBzaWdzJGJhc2VNZWFuID4gNTAsXQpgYGAKCmBgYHtyfQpzaWdzCmBgYAoKYGBge3J9CmlmICghcmVxdWlyZSgiQmlvY01hbmFnZXIiLCBxdWlldGx5ID0gVFJVRSkpCiAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCgpCaW9jTWFuYWdlcjo6aW5zdGFsbCgiY2x1c3RlclByb2ZpbGVyIikKCmlmICghcmVxdWlyZSgiQmlvY01hbmFnZXIiLCBxdWlldGx5ID0gVFJVRSkpCiAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCgpCaW9jTWFuYWdlcjo6aW5zdGFsbCgiQW5ub3RhdGlvbkRiaSIpCgppZiAoIXJlcXVpcmUoIkJpb2NNYW5hZ2VyIiwgcXVpZXRseSA9IFRSVUUpKQogICAgaW5zdGFsbC5wYWNrYWdlcygiQmlvY01hbmFnZXIiKQoKQmlvY01hbmFnZXI6Omluc3RhbGwoIm9yZy5Icy5lZy5kYiIpCmBgYAoKYGBge3J9CmxpYnJhcnkoY2x1c3RlclByb2ZpbGVyKQpsaWJyYXJ5KG9yZy5Icy5lZy5kYikKbGlicmFyeShBbm5vdGF0aW9uRGJpKQpgYGAKCmBgYHtyfQpnZW5lc190b190ZXN0IDwtIHJvd25hbWVzKHNpZ3Nbc2lncyRsb2cyRm9sZENoYW5nZSA+IDAuNSxdKQpgYGAKCmBgYHtyfQpHT19yZXN1bHRzIDwtIGVucmljaEdPKGdlbmUgPSBnZW5lc190b190ZXN0LCBPcmdEYiA9ICJvcmcuSHMuZWcuZGIiLCBrZXlUeXBlID0gIkVOU0VNQkwiLCBvbnQgPSAiQlAiKQpgYGAKCmBgYHtyfQphcy5kYXRhLmZyYW1lKEdPX3Jlc3VsdHMpCmBgYAoKYGBge3J9CmZpdCA8LSBwbG90KGJhcnBsb3QoR09fcmVzdWx0cywgc2hvd0NhdGVnb3J5ID0gMTUpKQoKcG5nKCJvdXQucG5nIiwgcmVzID0gMjUwLCB3aWR0aCA9IDE0MDAsIGhlaWdodCA9IDE4MDApCnByaW50KGZpdCkKZGV2Lm9mZigpCgpmaXQKYGBgCgoKCgoKCgo=