-
Notifications
You must be signed in to change notification settings - Fork 1
/
GeneSetRDataListGen.R
58 lines (31 loc) · 1.28 KB
/
GeneSetRDataListGen.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
####------------------------------------------------####
# #
# This is a script to easily generate an RData list #
# #
####------------------------------------------------####
bioCpacks <- "clusterProfiler"
installed_packages_BIOC <- bioCpacks %in% rownames(installed.packages())
if (any(installed_packages_BIOC == FALSE)) {
BiocManager::install(bioCpacks[!installed_packages_BIOC], ask = F)
}
invisible(lapply(bioCpacks, library, character.only = TRUE))
####----User Input----####
#will accept .gmt, .tsv, or .txt
GeneSet_file <- '~/R/data/GeneSetData/Misc/ERstress_Genes_v2.txt'
header.gs <- TRUE
#must use .RData extension
OutFile_PathAndName <- '~/R/data/GeneSetData/Misc/ERstress_Genes.RData'
####----Read File----####
if (file_ext(GeneSet_file) == "gmt") {
GeneSet <- read.gmt(GeneSet_file)
}
if (file_ext(GeneSet_file) == "tsv" || file_ext(GeneSet_file) == "txt") {
GeneSet <- read.delim(GeneSet_file, header = header.gs, sep = '\t')
}
colnames(GeneSet) <- c("term","gene")
####----Generate RData List----####
gsDataList <- list()
for (i in unique(GeneSet[,1])){
gsDataList[[i]] <- GeneSet[GeneSet[,1] == i,]$gene
}
save(gsDataList, file = OutFile_PathAndName)