Skip to contents
## Warning: replacing previous import 'S4Arrays::makeNindexFromArrayViewport' by
## 'DelayedArray::makeNindexFromArrayViewport' when loading 'SummarizedExperiment'
## create a temporary directory for the GSEA database files
temp_dir <- tempdir()
#temp_dir <- "/Users/hungm/Documents/development/deseq2pip/inst/extdata/"

Create gene set collections for run_gsea()

# create gene set collections for human and mouse
collection_name <- c("HALLMARK", "GOBP", "KEGG", "REACTOME", "BIOCARTA", "TFT")
for(i in c("hs_gs", "mm_gs")){
    if(i == "hs_gs"){
        org = "Homo sapiens"}
    else if(i == "mm_gs"){
        org = "Mus musculus"}
    gs <- list()

    # c1 gene set
    HM<-msigdbr(species = org, category ="H")
    gs[[1]] <- HM %>% dplyr::select(., gs_name, gene_symbol) %>% mutate(collection = collection_name[1])

    # c5 gene set
    GO<-msigdbr(species = org, category ="C5")
    gs[[2]] <-GO %>% dplyr::select(., gs_name, gene_symbol) %>% filter(stringr::str_detect(gs_name, 'GOBP')) %>% mutate(collection = collection_name[2])

    # c2 gene set
    C2<-msigdbr(species = org, category ="C2")
    gs[[3]] <-C2 %>% dplyr::select(., gs_name, gene_symbol) %>% filter(stringr::str_detect(gs_name, 'KEGG')) %>% mutate(collection = collection_name[3])
    gs[[4]] <-C2 %>% dplyr::select(., gs_name, gene_symbol) %>% filter(stringr::str_detect(gs_name, 'REACTOME')) %>% mutate(collection = collection_name[4])
    gs[[5]] <-C2 %>% dplyr::select(., gs_name, gene_symbol) %>% filter(stringr::str_detect(gs_name, 'BIOCARTA')) %>% mutate(collection = collection_name[5])

    # c3 gene set
    TFT <-msigdbr(species = org, category ="C3")
    gs[[6]] <-TFT %>% dplyr::select(., gs_name, gene_symbol) %>% mutate(collection = collection_name[6])

    gs <- bind_rows(gs)
    assign(i, gs)}
## Warning: The `category` argument of `msigdbr()` is deprecated as of msigdbr 10.0.0.
##  Please use the `collection` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Save TSV files to temporary directory
write.table(mm_gs, file.path(temp_dir, "20250319_mouse_msigdbr.tsv"), sep = "\t", quote = F, row.names = F)
write.table(hs_gs, file.path(temp_dir, "20250319_human_msigdbr.tsv"), sep = "\t", quote = F, row.names = F)
# show the first few rows of the human and mouse gene set collections
head(hs_gs)
## # A tibble: 6 × 3
##   gs_name               gene_symbol collection
##   <chr>                 <chr>       <chr>     
## 1 HALLMARK_ADIPOGENESIS ABCA1       HALLMARK  
## 2 HALLMARK_ADIPOGENESIS ABCB8       HALLMARK  
## 3 HALLMARK_ADIPOGENESIS ACAA2       HALLMARK  
## 4 HALLMARK_ADIPOGENESIS ACADL       HALLMARK  
## 5 HALLMARK_ADIPOGENESIS ACADM       HALLMARK  
## 6 HALLMARK_ADIPOGENESIS ACADS       HALLMARK
head(mm_gs)
## # A tibble: 6 × 3
##   gs_name               gene_symbol collection
##   <chr>                 <chr>       <chr>     
## 1 HALLMARK_ADIPOGENESIS Abca1       HALLMARK  
## 2 HALLMARK_ADIPOGENESIS Abcb8       HALLMARK  
## 3 HALLMARK_ADIPOGENESIS Acaa2       HALLMARK  
## 4 HALLMARK_ADIPOGENESIS Acadl       HALLMARK  
## 5 HALLMARK_ADIPOGENESIS Acadm       HALLMARK  
## 6 HALLMARK_ADIPOGENESIS Acads       HALLMARK

Create GMT files for EnrichmentMap

# convert mouse gene set collection to a list of gene symbols
gs_name <- mm_gs$gs_name
mm_gs_list <- mm_gs %>%
    select(-c(collection, gs_name)) %>%
    .$gene_symbol %>%
    split(., gs_name)
mm_gs_list %>% head(.)
## $AAACCAC_MIR140
##   [1] "Abcc4"         "Abraxas2"      "Actn4"         "Acvr1"        
##   [5] "Adam9"         "Adamts5"       "Amer2"         "Ank2"         
##   [9] "Api5"          "Atosa"         "Bach1"         "Baz2b"        
##  [13] "Bcl11a"        "Bcl2l2"        "Bcl9"          "Bmt2"         
##  [17] "1700025G04Rik" "Cacna1c"       "Cebpa"         "Chd4"         
##  [21] "Cit"           "Col23a1"       "Csk"           "Csnk1g3"      
##  [25] "Ctcf"          "Cul3"          "Dazl"          "Dbndd2"       
##  [29] "Dcun1d4"       "Ddx3x"         "Ddx3y"         "Dhx57"        
##  [33] "Dipk2a"        "Dpp4"          "Dscam"         "Dtna"         
##  [37] "E2f3"          "Ehd1"          "Ephb1"         "Erc2"         
##  [41] "Etv3"          "Eya2"          "Gabarap"       "Galnt16"      
##  [45] "Gdf6"          "Git1"          "Gys1"          "Hdac4"        
##  [49] "Hnrnph3"       "Hspa13"        "Igfbp5"        "Katnbl1"      
##  [53] "Kcnd2"         "Loxl3"         "Lrrc4"         "Lrrc8e"       
##  [57] "Map3k8"        "Mdga2"         "Mex3c"         "Mgat1"        
##  [61] "Mmd"           "Mok"           "Nav3"          "Nkiras2"      
##  [65] "Nr3c1"         "Nsd3"          "Nutf2"         "Ogt"          
##  [69] "Ostm1"         "Pdgfra"        "Pfn1"          "Phf20l1"      
##  [73] "Phyhip"        "Pitx2"         "Ppp1cc"        "Prima1"       
##  [77] "R3hdm1"        "Reep1"         "Rnf19a"        "Rtkn2"        
##  [81] "Senp1"         "Siah1a"        "Slc25a13"      "Slc38a2"      
##  [85] "Slc41a2"       "Slf2"          "Slmap"         "Snx2"         
##  [89] "Sox4"          "Srr"           "Stag1"         "Stradb"       
##  [93] "Syt6"          "Taf9b"         "Tbx3"          "Trp53inp2"    
##  [97] "Tshz1"         "Tspan2"        "Tssk2"         "Ttyh2"        
## [101] "Ubash3b"       "Usp32"         "Vegfa"         "Wnt1"         
## [105] "Yes1"          "Zbed4"         "Zbtb10"        "Zfp182"       
## [109] "Zfp608"        "Zfp654"       
## 
## $AAAGACA_MIR511
##   [1] "Abcg8"         "Ace"           "Adamtsl3"      "Adgrf5"       
##   [5] "Adss"          "Agbl3"         "Ago1"          "Ago2"         
##   [9] "Ago4"          "Alcam"         "Anapc15"       "Ankrd40cl"    
##  [13] "Ankzf1"        "Aqp6"          "Arhgef17"      "Atl2"         
##  [17] "Atp2b2"        "Atrx"          "Bcl11a"        "Btg1"         
##  [21] "Bub3"          "C1ql2"         "1700025G04Rik" "Calm1"        
##  [25] "Camk2n1"       "Camta1"        "Caprin1"       "Ccdc178"      
##  [29] "Ccnd1"         "Ccnt2"         "Cdh2"          "Cdk14"        
##  [33] "Cdk19"         "Celf1"         "Celf6"         "Cep350"       
##  [37] "Cfap298"       "Clk2"          "Cltc"          "Cnot4"        
##  [41] "Corin"         "Crebrf"        "Crem"          "Crim1"        
##  [45] "Dctn4"         "Ddx3x"         "Ddx3y"         "Dedd"         
##  [49] "Dnajb12"       "Dnajc13"       "Dsc1"          "Dusp6"        
##  [53] "Dyrk1b"        "E2f3"          "Edem3"         "Efr3a"        
##  [57] "Elavl3"        "Emilin2"       "Eml4"          "Enpp1"        
##  [61] "Enpp4"         "Epha4"         "Esrrg"         "Eya1"         
##  [65] "Eya4"          "Fam117a"       "Fgf13"         "Fip1l1"       
##  [69] "Fmr1"          "Fn1"           "Fndc1"         "Fndc5"        
##  [73] "Foxk2"         "Foxn3"         "Gad2"          "Gemin2"       
##  [77] "Gfap"          "Gja1"          "Glra2"         "Has2"         
##  [81] "Hcn4"          "Hlf"           "Hltf"          "Hoxa13"       
##  [85] "Igf2bp1"       "Igf2bp3"       "Ilrun"         "Kcne1"        
##  [89] "Kcnma1"        "Khdrbs2"       "Klf9"          "Klhl18"       
##  [93] "Klhl24"        "Lats1"         "Lmcd1"         "Lpp"          
##  [97] "Lrch4"         "Luc7l3"        "Map3k2"        "Map4k4"       
## [101] "Mapk1ip1l"     "Mbd2"          "Mbd6"          "Mdga2"        
## [105] "Metap2"        "Mib1"          "Mink1"         "Mrpl21"       
## [109] "Mstn"          "Mtap"          "Mycbp"         "Myo19"        
## [113] "Naa50"         "Nacc1"         "Neurod6"       "Nhlh2"        
## [117] "Nlk"           "Nr4a2"         "Nrxn3"         "Ntrk2"        
## [121] "Nxph1"         "Onecut2"       "Pax8"          "Pcare"        
## [125] "Pcdh10"        "Pcdh17"        "Peli1"         "Phaf1"        
## [129] "Phlpp1"        "Pik3r3"        "Pmepa1"        "Pogk"         
## [133] "Pou4f2"        "Ppargc1a"      "Prelp"         "Prpf4b"       
## [137] "Psma1"         "Psmd10"        "Zadh2"         "Qki"          
## [141] "Rab22a"        "Rab2a"         "Rbm15b"        "Rbm26"        
## [145] "Reck"          "Rev3l"         "Rgl1"          "Rhoj"         
## [149] "Rhot1"         "Rnf19a"        "Robo2"         "Rps6kb1"      
## [153] "Rps6kl1"       "Satb2"         "Scn4b"         "Selenop"      
## [157] "Sema3f"        "Sema6d"        "Sinhcaf"       "Slc22a17"     
## [161] "Slc25a26"      "Slc6a6"        "Slitrk1"       "Smarce1"      
## [165] "Socs2"         "Sorcs3"        "Sost"          "Sox12"        
## [169] "Sptbn4"        "Sptlc2"        "Srgap3"        "Ss18"         
## [173] "St18"          "Syt11"         "Taf5"          "T"            
## [177] "Thoc5"         "Tial1"         "Tmem196"       "Tmem243"      
## [181] "Tmem248"       "Tnrc6a"        "Tnrc6b"        "Tob1"         
## [185] "Trappc3"       "Trappc8"       "Trim2"         "Trim24"       
## [189] "Tspoap1"       "Txnl1"         "Ube2h"         "Vangl2"       
## [193] "Vav3"          "Virma"         "Vkorc1l1"      "Vmp1"         
## [197] "Wnt16"         "Ythdf2"        "Yy1"           "Zcchc24"      
## [201] "Zdhhc21"       "Zfp319"        "Zfp654"        "Zfp706"       
## 
## $AAAGGAT_MIR501
##   [1] "Acaca"         "Acadsb"        "Adcyap1"       "Adipor2"      
##   [5] "Als2"          "Alx1"          "Ammecr1"       "Apold1"       
##   [9] "Atp6v1h"       "Bcl6"          "Bclaf1"        "C030006K11Rik"
##  [13] "Cachd1"        "Camta1"        "Cblif"         "Cd164"        
##  [17] "Cdk2ap1"       "Celf2"         "Celsr2"        "Chodl"        
##  [21] "Clk1"          "Clk2"          "Ctdsp1"        "Ctdspl2"      
##  [25] "Cul1"          "Cux2"          "Dcx"           "Dnajb12"      
##  [29] "Elavl4"        "Errfi1"        "Grb10"         "H2ax"         
##  [33] "Has2"          "Hes5"          "Hoxb8"         "Jade3"        
##  [37] "Jun"           "Kcnd2"         "Kcnrg"         "Kif1c"        
##  [41] "Kif2a"         "Klhl14"        "Krr1"          "Larp1"        
##  [45] "Leprotl1"      "Lpgat1"        "Lpin1"         "Lrrc1"        
##  [49] "Map2k1"        "Map3k8"        "Mcu"           "Mef2c"        
##  [53] "Myb"           "Mycl"          "Mylk"          "Nexmif"       
##  [57] "Nfasc"         "Nfil3"         "Nfix"          "Npr3"         
##  [61] "Nr2f2"         "Nr4a3"         "Pcdh19"        "Pdk1"         
##  [65] "Phc1"          "Phf6"          "Pik3ap1"       "Pitx2"        
##  [69] "Plp1"          "Plxnb1"        "Pnn"           "Ppp1cb"       
##  [73] "Ppp2r5e"       "Ppp4r3a"       "Ppp6r3"        "Prkce"        
##  [77] "Pura"          "Qki"           "Rab22a"        "Rabgef1"      
##  [81] "Rasl10b"       "Rcn1"          "Rdx"           "Ret"          
##  [85] "Rgl1"          "Rnf11"         "Robo2"         "Rpgrip1l"     
##  [89] "Rsbn1"         "Satb2"         "Scn3a"         "Senp3"        
##  [93] "Sephs1"        "Sgpp1"         "Slc25a3"       "Slc35b3"      
##  [97] "Slitrk5"       "Smc1a"         "Snap29"        "Sox11"        
## [101] "Sox4"          "Spopl"         "Srr"           "Srsf2"        
## [105] "Sync"          "Synj1"         "Syt7"          "Taf5l"        
## [109] "Tapt1"         "Tnni2"         "Togaram1"      "Tomm70a"      
## [113] "Trim39"        "Tsc22d3"       "Ubap1"         "Ube2q1"       
## [117] "Ube4b"         "Usp12"         "Vdac2"         "Wdfy3"        
## [121] "Wipf2"         "Zbtb18"        "Zc3h7a"        "Zic4"         
## [125] "Zmym5"        
## 
## $AAAGGGA_MIR204_MIR211
##   [1] "Abraxas2"      "Adamts9"       "Adcy6"         "Adprm"        
##   [5] "Ago4"          "Akap1"         "Alpl"          "Angpt1"       
##   [9] "Ankrd13a"      "Anxa11"        "Ap1s1"         "Ap1s3"        
##  [13] "Ap2a2"         "Ap3m1"         "Aph1a"         "Arap2"        
##  [17] "Arcn1"         "Arglu1"        "Arhgap29"      "Arl8b"        
##  [21] "Atf2"          "Atp2b1"        "Aup1"          "Baz2a"        
##  [25] "Bcl11b"        "Bcl2"          "Bcl9"          "Bcl9l"        
##  [29] "Brd4"          "Brpf3"         "Caprin1"       "Ccdc120"      
##  [33] "Ccnt2"         "Ccpg1"         "Cdc25b"        "Cdc42"        
##  [37] "Cdh2"          "Celsr3"        "Chd5"          "Chn2"         
##  [41] "Chp1"          "Clip1"         "Coro1c"        "Cox5a"        
##  [45] "Cpd"           "Cpne8"         "Creb5"         "Crkl"         
##  [49] "Ctdnep1"       "Dag1"          "Dcaf5"         "Dcun1d3"      
##  [53] "Dennd5a"       "Dhh"           "Dlg5"          "Dmtf1"        
##  [57] "Dnajc13"       "Dnm2"          "Dtx1"          "Dvl3"         
##  [61] "Dyrk1a"        "Edem1"         "Eef1e1"        "Efnb3"        
##  [65] "Elavl3"        "Elf2"          "Ell2"          "Elmod3"       
##  [69] "Elovl6"        "Epha7"         "Ephb6"         "Esr1"         
##  [73] "Esrrg"         "Eva1c"         "Ezr"           "Fam117b"      
##  [77] "Fam120c"       "Farp1"         "Fbn2"          "Fbxw7"        
##  [81] "Fhip1b"        "Fjx1"          "Fnip1"         "Fras1"        
##  [85] "Frem1"         "Fry"           "Gabrb3"        "Gapvd1"       
##  [89] "Gga2"          "Glis3"         "Gpm6a"         "Grm1"         
##  [93] "1810013L24Rik" "Hic2"          "Hmga2"         "Hook3"        
##  [97] "Hoxc8"         "Hs2st1"        "Igf2r"         "Ing4"         
## [101] "Itpr1"         "Jph3"          "Kcna3"         "Kctd1"        
## [105] "Kdm2a"         "Khdrbs1"       "Khdrbs3"       "Kitl"         
## [109] "Klf12"         "Klhl13"        "Kmt2a"         "Kmt5a"        
## [113] "Lats1"         "Lpar1"         "Lrrc8d"        "Mall"         
## [117] "Maml3"         "Map1lc3b"      "Map3k3"        "Mbnl1"        
## [121] "Med13l"        "Metap1"        "Mllt3"         "Mmgt1"        
## [125] "Mon2"          "Mrpl35"        "Mrpl52"        "Myo10"        
## [129] "Naa15"         "Nbea"          "Ncoa7"         "Neurog1"      
## [133] "Nova1"         "Nptx1"         "Nr3c1"         "Nr4a2"        
## [137] "Nrbf2"         "Ntrk2"         "P4hb"          "Fam122b"      
## [141] "Pcdh9"         "Phf13"         "Pid1"          "Plag1"        
## [145] "Pou3f2"        "Ppargc1a"      "Ppp3r1"        "Prdm2"        
## [149] "Prpf38b"       "Prrx1"         "Rab10"         "Rab14"        
## [153] "Rab1a"         "Rap2c"         "Rbsn"          "Reep1"        
## [157] "Rere"          "Rhobtb3"       "Rhot1"         "Rictor"       
## [161] "Rps6ka3"       "Rps6ka5"       "Rps6kc1"       "Rspo3"        
## [165] "Rtkn2"         "Runx2"         "Satb2"         "Scrt2"        
## [169] "Sec24d"        "Sec61a2"       "Serinc3"       "Sf3b1"        
## [173] "Sgcz"          "Sgip1"         "Shc1"          "Sin3a"        
## [177] "Sirt1"         "Slc17a7"       "Slc22a2"       "Slc37a3"      
## [181] "Slitrk4"       "Sltm"          "Smoc1"         "Socs6"        
## [185] "Sox11"         "Sox4"          "Spop"          "Spred1"       
## [189] "Spryd7"        "Ssrp1"         "St7"           "Stxbp5"       
## [193] "Sumo2"         "Sumo2"         "Szrd1"         "Taf5"         
## [197] "Tcf12"         "Tcf7l1"        "Tgfbr2"        "Tmem30a"      
## [201] "Tmod3"         "Tnrc6b"        "Trp53inp1"     "Triap1"       
## [205] "Trip12"        "Trpc5"         "Ttyh1"         "Ube2r2"       
## [209] "Uhrf2"         "Usp32"         "Wee1"          "Wnt4"         
## [213] "Wsb1"          "Xrn1"          "Ythdf3"        "Ywhag"        
## [217] "Zcchc14"       "Zcchc24"       "Zdhhc17"       "Zfc3h1"       
## [221] "Zfp91"         "Zfp282"        "Zfp335"        "Zfp423"       
## 
## $AAANWWTGC_UNKNOWN
##   [1] "Actb"     "Adhfe1"   "Aff4"     "Ank2"     "Ank3"     "App"     
##   [7] "Aspa"     "Atoh7"    "Atp1b1"   "Atp2b4"   "Atxn7l1"  "Bcl11a"  
##  [13] "Bcl6"     "Bnc2"     "AI593442" "Cacna1d"  "Cacng3"   "Calm1"   
##  [19] "Cd14"     "Cdc42ep3" "Cdc42ep5" "Cdh13"    "Cdk2ap1"  "Cept1"   
##  [25] "Chd2"     "Cited2"   "Cnmd"     "Cntfr"    "Dab1"     "Dcaf11"  
##  [31] "Dchs2"    "Ddit3"    "Dis3l"    "Dlg2"     "Dlgap4"   "Dmd"     
##  [37] "Dnajb5"   "Dpysl5"   "Drd3"     "Dscam"    "Dsel"     "Dstn"    
##  [43] "Dtx3l"    "Dusp1"    "Dync1i2"  "Ebf1"     "Efna5"    "Egflam"  
##  [49] "Eif4ebp2" "Elavl4"   "Elf4"     "Epha7"    "Ephb2"    "Esr1"    
##  [55] "Fam78a"   "Fbxw7"    "Fgf7"     "Fgfr2"    "Fn1"      "Foxn3"   
##  [61] "Foxp1"    "Foxp2"    "Fthl17a"  "Fzd7"     "Ganab"    "Gata3"   
##  [67] "Glra2"    "Gpc3"     "Gpc6"     "Gpr21"    "Gprin3"   "Grhl3"   
##  [73] "Grin2b"   "Gtf2e2"   "Hepacam"  "Hhex"     "Hoxa2"    "Hoxa3"   
##  [79] "Hoxb2"    "Hoxb6"    "Hoxc4"    "Igf2bp1"  "Inhba"    "Itm2c"   
##  [85] "Jade2"    "Kank1"    "Kcnj13"   "Klf12"    "Klf14"    "Krtap8-1"
##  [91] "Leap2"    "Lipg"     "Lox"      "Loxl4"    "Lrrc3b"   "Lrrn1"   
##  [97] "Lsamp"    "Luc7l3"   "Maml3"    "Man2a2"   "Map3k4"   "Mapk3"   
## [103] "Mbnl1"    "Mef2c"    "Meis1"    "Mgll"     "Mid1"     "Mllt6"   
## [109] "Mmp3"     "Mpzl3"    "Mrap"     "Mrpl24"   "Mrps18b"  "Mycl"    
## [115] "Myh2"     "Mylk"     "Ncbp3"    "Nek6"     "Neurog1"  "Nfe2l2"  
## [121] "Nnat"     "Nr2f2"    "Nras"     "Ntn1"     "Ntrk3"    "Olfm1"   
## [127] "Olig2"    "Omg"      "Otx2"     "Parp9"    "Patz1"    "Pax1"    
## [133] "Pax6"     "Pcsk1"    "Pctp"     "Pdgfrb"   "Phox2b"   "Phtf1"   
## [139] "Pik3r3"   "Pou2f1"   "Pou4f1"   "Ppargc1a" "Ppfia2"   "Ppp1r10" 
## [145] "Ppp2r2a"  "Ppp3cc"   "Prdm16"   "Prima1"   "Prpf4b"   "Rab10"   
## [151] "Rbmx"     "Rora"     "Rrs1"     "Rspo2"    "S100pbp"  "Sall3"   
## [157] "Samd12"   "Satb2"    "Sema6c"   "Sesn2"    "Sfrp2"    "Sgcd"    
## [163] "Shc3"     "Six5"     "Skil"     "Skp2"     "Slmap"    "Sncaip"  
## [169] "Snx25"    "Sort1"    "Sox13"    "Sox4"     "Sox5"     "Spag9"   
## [175] "Sparcl1"  "Ssbp3"    "Steap2"   "Tbc1d8b"  "Tfap4"    "Tfdp2"   
## [181] "Tgif1"    "Thap12"   "Thbs2"    "Tle4"     "Tlk1"     "Tlx3"    
## [187] "Tram1"    "Trpm3"    "Spacdr"   "Zfpm1"    "Zhx3"     "Zfp462"  
## [193] "Zfp827"   "Zw10"    
## 
## $AAAYRNCTG_UNKNOWN
##   [1] "Abt1"      "Acvr1"     "Adam12"    "Add3"      "Adgrb3"    "Aggf1"    
##   [7] "Ankrd12"   "Ankrd28"   "Ap4s1"     "Apbb2"     "Apobr"     "Aqp2"     
##  [13] "Arhgap44"  "Arid1a"    "Arid4a"    "Arpc2"     "Arsg"      "Arx"      
##  [19] "Asb4"      "Asph"      "Atoh8"     "Atp1a2"    "Atpif1"    "Atp5l"    
##  [25] "Axdnd1"    "B4galt6"   "Bambi"     "Bcl2l1"    "Bcl9"      "Bmpr1b"   
##  [31] "Bmx"       "Brsk2"     "Btbd3"     "Bub3"      "Car3"      "Cacna2d3" 
##  [37] "Cacnb2"    "Capn1"     "Capza1"    "Casq2"     "Cbx2"      "Ccdc174"  
##  [43] "Ccnj"      "Ccny"      "Cdc23"     "Cdh2"      "Cer1"      "Cfap161"  
##  [49] "Chrm1"     "Cited2"    "Cldn5"     "Cltc"      "Cltrn"     "Cmklr1"   
##  [55] "Cntln"     "Cntn1"     "Coch"      "Col12a1"   "Col1a2"    "Col4a5"   
##  [61] "Col4a6"    "Colec10"   "Crat"      "Crh"       "Crkl"      "Crygd"    
##  [67] "Crygs"     "Csnk1a1"   "Csrnp3"    "Cstf3"     "Cybrd1"    "Cyria"    
##  [73] "Daam1"     "Dbndd2"    "Dcakd"     "Ddah2"     "Ddx4"      "Def6"     
##  [79] "Dennd4a"   "Dgkb"      "Dhh"       "Dhrs4"     "Dhrs4"     "Dido1"    
##  [85] "Dmd"       "Dmrt1"     "Dnaja2"    "Dnajb4"    "Dscaml1"   "Dusp4"    
##  [91] "Dync1i1"   "Dyrk1a"    "Eda"       "Efna1"     "Egflam"    "Eif5"     
##  [97] "Emx2"      "Epc1"      "Epha7"     "Erbb4"     "Erg28"     "Errfi1"   
## [103] "Esrp2"     "Esrrb"     "Esrrg"     "Eya1"      "Fam216b"   "Fam83f"   
## [109] "Fcer1a"    "Fgd4"      "Fgf10"     "Fgf12"     "Fgfr1"     "Fgfr1op2" 
## [115] "Fiz1"      "Fkrp"      "Fmnl3"     "Fndc9"     "Foxa1"     "Foxg1"    
## [121] "Foxo4"     "Foxp2"     "Fsip2"     "Fst"       "Gabra3"    "Gdnf"     
## [127] "Gfi1"      "Ggnbp2"    "Gjb4"      "Gldn"      "Gnaq"      "Gpr85"    
## [133] "Gprc5d"    "Grin2b"    "Gse1"      "H3f3a"     "Hdac8"     "Hesx1"    
## [139] "Hexim2"    "Hgf"       "Hic2"      "Hid1"      "Hip1r"     "Hoxa10"   
## [145] "Hoxa5"     "Hoxb8"     "Hpse2"     "Hsd3b7"    "Icam4"     "Id1"      
## [151] "Igf1"      "Il1rapl1"  "Inhbc"     "Ip6k2"     "Itga10"    "Itga8"    
## [157] "Jade2"     "Jph1"      "Jpt1"      "Kank2"     "Kcnip2"    "Kcnk5"    
## [163] "Kcnn3"     "Kitl"      "Klf5"      "Klhdc10"   "Klhl20"    "Klhl3"    
## [169] "Kmt2a"     "Lars2"     "Leng9"     "Lhfp"      "Lhx9"      "Lix1"     
## [175] "Lmo7"      "Lrp5"      "Lrrc4"     "Lrrn4cl"   "Ltbp1"     "Maml1"    
## [181] "Manf"      "Map2"      "Map3k5"    "Map6"      "Meis1"     "Mgat1"    
## [187] "Mgat4a"    "Mid1"      "Moap1"     "Mpped2"    "Mrpl13"    "Mta2"     
## [193] "Mtbp"      "Mtrfr"     "Myf6"      "Myh1"      "Myh10"     "Myo18a"   
## [199] "Naglu"     "Napb"      "Nav2"      "Nav3"      "Ncdn"      "Ndnf"     
## [205] "Ndst4"     "Ndufs4"    "Nek1"      "Nek2"      "Nfatc4"    "Nfyb"     
## [211] "Nmi"       "Nmt1"      "Nr2f1"     "Nrg1"      "Ntrk2"     "Nup54"    
## [217] "Nxph4"     "Oma1"      "Omg"       "Or2l13"    "Otx2"      "Pacrg"    
## [223] "Pals2"     "Pcdh17"    "Pcdh18"    "Pcf11"     "Pcyt1b"    "Pdgfb"    
## [229] "Pdgfra"    "Pdlim2"    "Pds5b"     "Pdzrn4"    "Pfn2"      "Phc2"     
## [235] "Phex"      "Phf1"      "Phf6"      "Phox2b"    "Plagl2"    "Plec"     
## [241] "Plekhm1"   "Plp2"      "Plpp3"     "Pmch"      "Podxl2"    "Pofut1"   
## [247] "Pou2af1"   "Pou4f1"    "Ppp1r9b"   "Ppp2r3a"   "Ppp2r5e"   "Ppp3ca"   
## [253] "Prelp"     "Prkcg"     "Prkcq"     "Prkn"      "Prok2"     "Ptchd4"   
## [259] "Zadh2"     "Pth1r"     "Ptpa"      "Pxn"       "R3hdm1"    "Rab30"    
## [265] "Rab5b"     "Rab5c"     "Rapgef4"   "Rbms3"     "Rgs17"     "Rnf146"   
## [271] "Robo4"     "Ror1"      "Rplp0"     "Rtn1"      "S1pr2"     "Scn3b"    
## [277] "Scn5a"     "Scn8a"     "Scoc"      "Sdcbp"     "Sema6d"    "Septin7"  
## [283] "Sesn3"     "Sgcd"      "Sh2d6"     "Shc3"      "Shcbp1l"   "Sipa1"    
## [289] "Sirpa"     "Slc26a6"   "Slc4a1"    "Slc6a1"    "Smarca2"   "Snx9"     
## [295] "Sorbs2"    "Sox12"     "Sox21"     "Sox30"     "Sox5"      "Spindoc"  
## [301] "Spock2"    "Sptlc2"    "Srgap2"    "Srsf2"     "Ssbp2"     "St7l"     
## [307] "Stac3"     "Stag1"     "Stag2"     "Stc2"      "Strn3"     "Strn4"    
## [313] "Tas1r2"    "Tef"       "Tent4b"    "Tfap4"     "Tfdp2"     "Tm2d3"    
## [319] "Tmem182"   "Tmem69"    "Tmsb4x"    "Tnfaip8"   "Tns1"      "Tnxb"     
## [325] "Trp53inp2" "Trdn"      "Treml1"    "Trim28"    "Trim68"    "Trim8"    
## [331] "Triml1"    "Trps1"     "Tsc22d3"   "Tspan7"    "Tssk3"     "Ttc17"    
## [337] "Tusc2"     "Ube2w"     "Ubxn10"    "Usp1"      "Vdr"       "Vip"      
## [343] "Vkorc1l1"  "Vwa5a"     "Wbp1"      "Wnt2b"     "Wt1"       "Xrcc1"    
## [349] "Zbtb11"    "Zbtb18"    "Zfp91"     "Zfpm2"     "Zic1"      "Zic4"     
## [355] "Zmat3"     "Zfp296"    "Zfp503"    "Zfp521"    "Zfp524"    "Zfp654"   
## [361] "Zfp687"    "Zfp710"
# convert human gene set collection to a list of gene symbols
gs_name <- hs_gs$gs_name
hs_gs_list <- hs_gs %>%
    select(-c(collection, gs_name)) %>%
    .$gene_symbol %>%
    split(., gs_name)
hs_gs_list %>% head(.)
## $AAACCAC_MIR140
##   [1] "ABCC4"    "ABRAXAS2" "ACTN4"    "ACVR1"    "ADAM9"    "ADAMTS5" 
##   [7] "AMER2"    "ANK2"     "API5"     "ATOSA"    "BACH1"    "BAZ2B"   
##  [13] "BAZ2B"    "BCL11A"   "BCL2L2"   "BCL9"     "BMT2"     "C1orf21" 
##  [19] "CACNA1C"  "CEBPA"    "CHD4"     "CIT"      "COL23A1"  "CSK"     
##  [25] "CSNK1G3"  "CTCF"     "CUL3"     "DAZL"     "DBNDD2"   "DCUN1D4" 
##  [31] "DDX3X"    "DDX3Y"    "DHX57"    "DIPK2A"   "DPP4"     "DSCAM"   
##  [37] "DTNA"     "E2F3"     "EHD1"     "EPHB1"    "ERC2"     "ETV3"    
##  [43] "EYA2"     "GABARAP"  "GALNT16"  "GDF6"     "GIT1"     "GYS1"    
##  [49] "HDAC4"    "HNRNPH3"  "HSPA13"   "IGFBP5"   "KATNBL1"  "KCND2"   
##  [55] "LOXL3"    "LRRC4"    "LRRC8E"   "MAP3K8"   "MDGA2"    "MEX3C"   
##  [61] "MGAT1"    "MMD"      "MOK"      "NAV3"     "NKIRAS2"  "NR3C1"   
##  [67] "NSD3"     "NUTF2"    "OGT"      "OSTM1"    "PDGFRA"   "PFN1"    
##  [73] "PHF20L1"  "PHYHIP"   "PITX2"    "PPP1CC"   "PRIMA1"   "R3HDM1"  
##  [79] "REEP1"    "RNF19A"   "RTKN2"    "SENP1"    "SIAH1"    "SLC25A13"
##  [85] "SLC38A2"  "SLC41A2"  "SLF2"     "SLMAP"    "SNX2"     "SOX4"    
##  [91] "SRR"      "STAG1"    "STRADB"   "SYT6"     "TAF9B"    "TBX3"    
##  [97] "TP53INP2" "TSHZ1"    "TSPAN2"   "TSSK2"    "TTYH2"    "UBASH3B" 
## [103] "USP6"     "VEGFA"    "WNT1"     "YES1"     "ZBED4"    "ZBTB10"  
## [109] "ZNF182"   "ZNF608"   "ZNF654"  
## 
## $AAAGACA_MIR511
##   [1] "ABCG8"     "ACE"       "ADAMTSL3"  "ADGRF5"    "ADSS2"     "AGBL3"    
##   [7] "AGO1"      "AGO2"      "AGO4"      "ALCAM"     "ANAPC15"   "ANKRD40CL"
##  [13] "ANKZF1"    "AQP6"      "ARHGEF17"  "ATL2"      "ATP2B2"    "ATRX"     
##  [19] "BCL11A"    "BTG1"      "BUB3"      "C1QL2"     "C1orf21"   "CALM1"    
##  [25] "CAMK2N1"   "CAMTA1"    "CAPRIN1"   "CCDC178"   "CCND1"     "CCNT2"    
##  [31] "CDH2"      "CDK14"     "CDK19"     "CELF1"     "CELF6"     "CEP350"   
##  [37] "CFAP298"   "CLK2"      "CLTC"      "CNOT4"     "CORIN"     "CREBRF"   
##  [43] "CREM"      "CRIM1"     "DCTN4"     "DDX3X"     "DDX3Y"     "DEDD"     
##  [49] "DNAJB12"   "DNAJC13"   "DSC1"      "DUSP6"     "DYRK1B"    "E2F3"     
##  [55] "EDEM3"     "EFR3A"     "ELAVL3"    "EMILIN2"   "EML4"      "ENPP1"    
##  [61] "ENPP4"     "EPHA4"     "ESRRG"     "EYA1"      "EYA4"      "FAM117A"  
##  [67] "FGF13"     "FIP1L1"    "FMR1"      "FN1"       "FNDC1"     "FNDC5"    
##  [73] "FOXK2"     "FOXN3"     "GAD2"      "GEMIN2"    "GFAP"      "GJA1"     
##  [79] "GLRA2"     "HAS2"      "HCN4"      "HLF"       "HLTF"      "HOXA13"   
##  [85] "IGF2BP1"   "IGF2BP3"   "ILRUN"     "KCNE1"     "KCNMA1"    "KHDRBS2"  
##  [91] "KLF9"      "KLHL18"    "KLHL24"    "LATS1"     "LMCD1"     "LPP"      
##  [97] "LRCH4"     "LUC7L3"    "MAP3K2"    "MAP4K4"    "MAPK1IP1L" "MBD2"     
## [103] "MBD6"      "MDGA2"     "METAP2"    "MIB1"      "MINK1"     "MRPL21"   
## [109] "MSTN"      "MTAP"      "MYCBP"     "MYO19"     "NAA50"     "NACC1"    
## [115] "NEUROD6"   "NHLH2"     "NLK"       "NR4A2"     "NRXN3"     "NTRK2"    
## [121] "NXPH1"     "ONECUT2"   "PAX8"      "PCARE"     "PCDH10"    "PCDH17"   
## [127] "PELI1"     "PHAF1"     "PHLPP1"    "PIK3R3"    "PMEPA1"    "POGK"     
## [133] "POU4F2"    "PPARGC1A"  "PRELP"     "PRPF4B"    "PSMA1"     "PSMD10"   
## [139] "PTGR3"     "QKI"       "RAB22A"    "RAB2A"     "RBM15B"    "RBM26"    
## [145] "RECK"      "REV3L"     "RGL1"      "RHOJ"      "RHOT1"     "RNF19A"   
## [151] "ROBO2"     "RPS6KB1"   "RPS6KL1"   "SATB2"     "SCN4B"     "SELENOP"  
## [157] "SEMA3F"    "SEMA6D"    "SINHCAF"   "SLC22A17"  "SLC25A26"  "SLC6A6"   
## [163] "SLITRK1"   "SMARCE1"   "SOCS2"     "SORCS3"    "SOST"      "SOX12"    
## [169] "SPTBN4"    "SPTLC2"    "SRGAP3"    "SS18"      "ST18"      "SYT11"    
## [175] "TAF5"      "TBXT"      "THOC5"     "TIAL1"     "TMEM196"   "TMEM243"  
## [181] "TMEM248"   "TNRC6A"    "TNRC6B"    "TOB1"      "TRAPPC3"   "TRAPPC8"  
## [187] "TRIM2"     "TRIM24"    "TSPOAP1"   "TXNL1"     "UBE2H"     "VANGL2"   
## [193] "VAV3"      "VIRMA"     "VKORC1L1"  "VMP1"      "WNT16"     "YTHDF2"   
## [199] "YY1"       "ZCCHC24"   "ZDHHC21"   "ZNF319"    "ZNF654"    "ZNF706"   
## 
## $AAAGGAT_MIR501
##   [1] "ACACA"    "ACADSB"   "ADCYAP1"  "ADIPOR2"  "ALS2"     "ALX1"    
##   [7] "AMMECR1"  "APOLD1"   "ATP6V1H"  "BCL6"     "BCLAF1"   "C8orf82" 
##  [13] "CACHD1"   "CAMTA1"   "CBLIF"    "CCDC140"  "CD164"    "CDK2AP1" 
##  [19] "CELF2"    "CELSR2"   "CHODL"    "CLK1"     "CLK2"     "CTDSP1"  
##  [25] "CTDSPL2"  "CUL1"     "CUX2"     "DCX"      "DNAJB12"  "ELAVL4"  
##  [31] "ERRFI1"   "GRB10"    "H2AX"     "HAS2"     "HES5"     "HOXB8"   
##  [37] "JADE3"    "JUN"      "KCND2"    "KCNRG"    "KIF1C"    "KIF2A"   
##  [43] "KLHL14"   "KRR1"     "LARP1"    "LEPROTL1" "LPGAT1"   "LPIN1"   
##  [49] "LRRC1"    "MAP2K1"   "MAP3K8"   "MCU"      "MEF2C"    "MYB"     
##  [55] "MYCL"     "MYLK"     "NEXMIF"   "NFASC"    "NFIL3"    "NFIX"    
##  [61] "NPR3"     "NR2F2"    "NR4A3"    "PCDH19"   "PDK1"     "PHC1"    
##  [67] "PHF6"     "PIK3AP1"  "PITX2"    "PLP1"     "PLXNB1"   "PNN"     
##  [73] "PPP1CB"   "PPP2R5E"  "PPP4R3A"  "PPP6R3"   "PRKCE"    "PURA"    
##  [79] "QKI"      "RAB22A"   "RABGEF1"  "RASL10B"  "RCN1"     "RDX"     
##  [85] "RET"      "RGL1"     "RNF11"    "ROBO2"    "RPGRIP1L" "RSBN1"   
##  [91] "SATB2"    "SCN3A"    "SENP3"    "SEPHS1"   "SGPP1"    "SLC25A3" 
##  [97] "SLC35B3"  "SLITRK5"  "SMC1A"    "SNAP29"   "SOX11"    "SOX4"    
## [103] "SPOPL"    "SRR"      "SRSF2"    "SYNC"     "SYNJ1"    "SYT7"    
## [109] "TAF5L"    "TAPT1"    "TNNI2"    "TOGARAM1" "TOMM70"   "TRIM39"  
## [115] "TSC22D3"  "UBAP1"    "UBE2Q1"   "UBE4B"    "USP12"    "VDAC2"   
## [121] "WDFY3"    "WIPF2"    "WT1-AS"   "ZBTB18"   "ZC3H7A"   "ZIC4"    
## [127] "ZMYM5"   
## 
## $AAAGGGA_MIR204_MIR211
##   [1] "ABRAXAS2" "ADAMTS9"  "ADCY6"    "ADPRM"    "AGO4"     "AKAP1"   
##   [7] "ALPL"     "ANGPT1"   "ANKRD13A" "ANXA11"   "AP1S1"    "AP1S3"   
##  [13] "AP2A2"    "AP3M1"    "APH1A"    "ARAP2"    "ARCN1"    "ARGLU1"  
##  [19] "ARHGAP29" "ARL8B"    "ATF2"     "ATP2B1"   "AUP1"     "BAZ2A"   
##  [25] "BCL11B"   "BCL2"     "BCL9"     "BCL9L"    "BRD4"     "BRPF3"   
##  [31] "CAPRIN1"  "CCDC120"  "CCNT2"    "CCPG1"    "CDC25B"   "CDC42"   
##  [37] "CDH2"     "CELSR3"   "CHD5"     "CHN2"     "CHP1"     "CLIP1"   
##  [43] "CORO1C"   "COX5A"    "CPD"      "CPNE8"    "CREB5"    "CRKL"    
##  [49] "CTDNEP1"  "DAG1"     "DCAF5"    "DCUN1D3"  "DENND5A"  "DHH"     
##  [55] "DLG5"     "DMTF1"    "DNAJC13"  "DNM2"     "DTX1"     "DVL3"    
##  [61] "DYRK1A"   "EDEM1"    "EEF1E1"   "EFNB3"    "ELAVL3"   "ELF2"    
##  [67] "ELL2"     "ELMOD3"   "ELOVL6"   "EPHA7"    "EPHB6"    "ESR1"    
##  [73] "ESRRG"    "EVA1C"    "EZR"      "FAM117B"  "FAM120C"  "FARP1"   
##  [79] "FBN2"     "FBXW7"    "FHIP1B"   "FJX1"     "FNIP1"    "FRAS1"   
##  [85] "FREM1"    "FRY"      "GABRB3"   "GAPVD1"   "GGA2"     "GLIS3"   
##  [91] "GPM6A"    "GRM1"     "HAPSTR1"  "HIC2"     "HMGA2"    "HOOK3"   
##  [97] "HOXC8"    "HS2ST1"   "IGF2R"    "ING4"     "ITPR1"    "JPH3"    
## [103] "KCNA3"    "KCTD1"    "KDM2A"    "KHDRBS1"  "KHDRBS3"  "KITLG"   
## [109] "KLF12"    "KLHL13"   "KMT2A"    "KMT5A"    "LATS1"    "LPAR1"   
## [115] "LRRC8D"   "MALL"     "MAML3"    "MAP1LC3B" "MAP3K3"   "MBNL1"   
## [121] "MED13L"   "METAP1"   "MIR600HG" "MLLT3"    "MMGT1"    "MON2"    
## [127] "MRPL35"   "MRPL52"   "MYO10"    "NAA15"    "NBEA"     "NCOA7"   
## [133] "NEUROG1"  "NOVA1"    "NPTX1"    "NR3C1"    "NR4A2"    "NRBF2"   
## [139] "NTRK2"    "P4HB"     "PABIR2"   "PCDH9"    "PHF13"    "PID1"    
## [145] "PLAG1"    "POU3F2"   "PPARGC1A" "PPP3R1"   "PRDM2"    "PRPF38B" 
## [151] "PRRX1"    "RAB10"    "RAB14"    "RAB1A"    "RAP2C"    "RBSN"    
## [157] "REEP1"    "RERE"     "RHOBTB3"  "RHOT1"    "RICTOR"   "RPS6KA3" 
## [163] "RPS6KA5"  "RPS6KC1"  "RSPO3"    "RTKN2"    "RUNX2"    "SATB2"   
## [169] "SCRT2"    "SEC24D"   "SEC61A2"  "SERINC3"  "SF3B1"    "SGCZ"    
## [175] "SGIP1"    "SHC1"     "SIN3A"    "SIRT1"    "SLC17A7"  "SLC22A2" 
## [181] "SLC37A3"  "SLITRK4"  "SLTM"     "SMOC1"    "SOCS6"    "SOX11"   
## [187] "SOX4"     "SPOP"     "SPRED1"   "SPRYD7"   "SSRP1"    "ST7"     
## [193] "STXBP5"   "SUMO2"    "SUMO4"    "SZRD1"    "TAF5"     "TCF12"   
## [199] "TCF7L1"   "TGFBR2"   "TMEM30A"  "TMOD3"    "TNRC6B"   "TP53INP1"
## [205] "TRIAP1"   "TRIP12"   "TRPC5"    "TTYH1"    "UBE2R2"   "UHRF2"   
## [211] "USP6"     "WEE1"     "WNT4"     "WSB1"     "XRN1"     "YTHDF3"  
## [217] "YWHAG"    "ZCCHC14"  "ZCCHC24"  "ZDHHC17"  "ZFC3H1"   "ZFP91"   
## [223] "ZNF282"   "ZNF335"   "ZNF423"  
## 
## $AAANWWTGC_UNKNOWN
##   [1] "ACTB"      "ADHFE1"    "AFF4"      "ANK2"      "ANK3"      "APP"      
##   [7] "ASPA"      "ATOH7"     "ATP1B1"    "ATP2B4"    "ATXN7L1"   "BCL11A"   
##  [13] "BCL6"      "BNC2"      "C11orf87"  "CACNA1D"   "CACNG3"    "CALM1"    
##  [19] "CD14"      "CDC42EP3"  "CDC42EP5"  "CDH13"     "CDK2AP1"   "CEPT1"    
##  [25] "CHD2"      "CITED2"    "CNMD"      "CNTFR"     "DAB1"      "DCAF11"   
##  [31] "DCHS2"     "DDIT3"     "DIS3L"     "DLG2"      "DLGAP4"    "DMD"      
##  [37] "DNAJB5"    "DPYSL5"    "DRD3"      "DSCAM"     "DSEL"      "DSTN"     
##  [43] "DTX3L"     "DUSP1"     "DYNC1I2"   "EBF1"      "EFNA5"     "EGFLAM"   
##  [49] "EIF4EBP2"  "ELAVL4"    "ELF4"      "EPHA7"     "EPHB2"     "ESR1"     
##  [55] "FAM78A"    "FBXW7"     "FGF7"      "FGFR2"     "FN1"       "FOXN3"    
##  [61] "FOXP1"     "FOXP2"     "FTHL17"    "FZD7"      "GANAB"     "GATA3"    
##  [67] "GLRA2"     "GPC3"      "GPC6"      "GPR21"     "GPRIN3"    "GRHL3"    
##  [73] "GRIN2B"    "GTF2E2"    "HEPACAM"   "HHEX"      "HOXA2"     "HOXA3"    
##  [79] "HOXB2"     "HOXB6"     "HOXC4"     "IGF2BP1"   "INHBA"     "ITM2C"    
##  [85] "JADE2"     "KANK1"     "KCNJ13"    "KLF12"     "KLF14"     "KRTAP8-1" 
##  [91] "LEAP2"     "LINC00314" "LIPG"      "LOX"       "LOXL4"     "LRRC3B"   
##  [97] "LRRN1"     "LSAMP"     "LUC7L3"    "MAML3"     "MAN2A2"    "MAP3K4"   
## [103] "MAPK3"     "MBNL1"     "MEF2C"     "MEIS1"     "MGLL"      "MID1"     
## [109] "MLLT6"     "MMP3"      "MPZL3"     "MRAP"      "MRPL24"    "MRPS18B"  
## [115] "MYCL"      "MYH2"      "MYLK"      "NCBP3"     "NEK6"      "NEUROG1"  
## [121] "NFE2L2"    "NNAT"      "NR2F2"     "NRAS"      "NTN1"      "NTRK3"    
## [127] "OLFM1"     "OLIG2"     "OMG"       "OTX2"      "PARP9"     "PATZ1"    
## [133] "PAX1"      "PAX6"      "PCSK1"     "PCTP"      "PDGFRB"    "PHOX2B"   
## [139] "PHTF1"     "PIK3R3"    "POU2F1"    "POU4F1"    "PPARGC1A"  "PPFIA2"   
## [145] "PPP1R10"   "PPP2R2A"   "PPP3CC"    "PRDM16"    "PRIMA1"    "PRPF4B"   
## [151] "RAB10"     "RBMX"      "RORA"      "RRS1"      "RSPO2"     "S100PBP"  
## [157] "SALL3"     "SAMD12"    "SATB2"     "SEMA6C"    "SESN2"     "SFRP2"    
## [163] "SGCD"      "SHC3"      "SIX5"      "SKIL"      "SKP2"      "SLMAP"    
## [169] "SNCAIP"    "SNX25"     "SORT1"     "SOX13"     "SOX4"      "SOX5"     
## [175] "SPAG9"     "SPARCL1"   "SSBP3"     "STEAP2"    "TBC1D8B"   "TFAP4"    
## [181] "TFDP2"     "TGIF1"     "THAP12"    "THBS2"     "TLE4"      "TLK1"     
## [187] "TLX3"      "TRAM1"     "TRPM3"     "TSC22D4"   "ZFPM1"     "ZHX3"     
## [193] "ZNF462"    "ZNF827"    "ZW10"     
## 
## $AAAYRNCTG_UNKNOWN
##   [1] "ABT1"      "ACVR1"     "ADAM12"    "ADD3"      "ADGRB3"    "AGGF1"    
##   [7] "ANKRD12"   "ANKRD28"   "AP4S1"     "APBB2"     "APOBR"     "AQP2"     
##  [13] "ARHGAP44"  "ARID1A"    "ARID4A"    "ARPC2"     "ARSG"      "ARX"      
##  [19] "ASB4"      "ASPH"      "ATOH8"     "ATP1A2"    "ATP5IF1"   "ATP5MG"   
##  [25] "AXDND1"    "B4GALT6"   "BAMBI"     "BCL2L1"    "BCL9"      "BMPR1B"   
##  [31] "BMX"       "BRSK2"     "BTBD3"     "BUB3"      "C7orf33"   "CA3"      
##  [37] "CACNA2D3"  "CACNB2"    "CAPN1"     "CAPZA1"    "CASQ2"     "CBX2"     
##  [43] "CCDC174"   "CCNJ"      "CCNY"      "CDC23"     "CDH2"      "CER1"     
##  [49] "CFAP161"   "CHRM1"     "CITED2"    "CLDN5"     "CLTC"      "CLTRN"    
##  [55] "CMKLR1"    "CNTLN"     "CNTN1"     "COCH"      "COL12A1"   "COL1A2"   
##  [61] "COL4A5"    "COL4A6"    "COLCA1"    "COLEC10"   "CRAT"      "CRH"      
##  [67] "CRKL"      "CRYGD"     "CRYGS"     "CSNK1A1"   "CSRNP3"    "CSTF3"    
##  [73] "CYBRD1"    "CYRIA"     "DAAM1"     "DBNDD2"    "DCAKD"     "DDAH2"    
##  [79] "DDX4"      "DEF6"      "DENND4A"   "DGKB"      "DHH"       "DHRS4"    
##  [85] "DHRS4L2"   "DIDO1"     "DMD"       "DMRT1"     "DNAJA2"    "DNAJB3"   
##  [91] "DNAJB3"    "DNAJB4"    "DSCAML1"   "DUSP4"     "DYNC1I1"   "DYRK1A"   
##  [97] "EDA"       "EFNA1"     "EGFLAM"    "EIF5"      "EMX2"      "EPC1"     
## [103] "EPHA7"     "ERBB4"     "ERG28"     "ERRFI1"    "ESRP2"     "ESRRB"    
## [109] "ESRRG"     "EYA1"      "FAM216B"   "FAM83F"    "FCER1A"    "FGD4"     
## [115] "FGF10"     "FGF12"     "FGFR1"     "FGFR1OP2"  "FIZ1"      "FKRP"     
## [121] "FMNL3"     "FNDC9"     "FOXA1"     "FOXG1"     "FOXO4"     "FOXP2"    
## [127] "FSIP2"     "FST"       "GABRA3"    "GDNF"      "GFI1"      "GGNBP2"   
## [133] "GJB4"      "GLDN"      "GNAQ"      "GPR85"     "GPRC5D"    "GRIN2B"   
## [139] "GSE1"      "H3-3A"     "HDAC8"     "HESX1"     "HEXIM2"    "HGF"      
## [145] "HIC2"      "HID1"      "HIP1R"     "HOXA10"    "HOXA5"     "HOXB8"    
## [151] "HPSE2"     "HSD3B7"    "ICAM4"     "ID1"       "IGF1"      "IL1RAPL1" 
## [157] "INHBC"     "IP6K2"     "ITGA10"    "ITGA8"     "JADE2"     "JPH1"     
## [163] "JPT1"      "KANK2"     "KCNIP2"    "KCNK5"     "KCNN3"     "KCNQ1DN"  
## [169] "KITLG"     "KLF5"      "KLHDC10"   "KLHL20"    "KLHL3"     "KMT2A"    
## [175] "LARS2"     "LBX2-AS1"  "LENG9"     "LHFPL6"    "LHX9"      "LINC02910"
## [181] "LIX1"      "LMO7"      "LRP5"      "LRRC4"     "LRRN4CL"   "LTBP1"    
## [187] "MAML1"     "MANF"      "MAP2"      "MAP3K5"    "MAP6"      "MEIS1"    
## [193] "MGAT1"     "MGAT4A"    "MID1"      "MOAP1"     "MPPED2"    "MRPL13"   
## [199] "MTA2"      "MTBP"      "MTRFR"     "MYF6"      "MYH1"      "MYH10"    
## [205] "MYO18A"    "NAGLU"     "NAPB"      "NAV2"      "NAV3"      "NCDN"     
## [211] "NDNF"      "NDST4"     "NDUFS4"    "NEK1"      "NEK2"      "NFATC4"   
## [217] "NFYB"      "NMI"       "NMT1"      "NR2F1"     "NRG1"      "NTRK2"    
## [223] "NUP54"     "NXPH4"     "OMA1"      "OMG"       "OR2L13"    "OTX2"     
## [229] "PACRG"     "PALS2"     "PART1"     "PCDH17"    "PCDH18"    "PCF11"    
## [235] "PCYT1B"    "PDGFB"     "PDGFRA"    "PDLIM2"    "PDS5B"     "PDZRN4"   
## [241] "PFN2"      "PHC2"      "PHEX"      "PHF1"      "PHF6"      "PHOX2B"   
## [247] "PLAGL2"    "PLEC"      "PLEKHM1"   "PLP2"      "PLPP3"     "PMCH"     
## [253] "PMCHL1"    "PODXL2"    "POFUT1"    "POU2AF1"   "POU4F1"    "PPP1R9B"  
## [259] "PPP2R3A"   "PPP2R5E"   "PPP3CA"    "PRELP"     "PRKCG"     "PRKCQ"    
## [265] "PRKN"      "PROK2"     "PTCHD4"    "PTGR3"     "PTH1R"     "PTPA"     
## [271] "PXN"       "R3HDM1"    "RAB30"     "RAB5B"     "RAB5C"     "RAPGEF4"  
## [277] "RBMS3"     "RGS17"     "RNF146"    "ROBO4"     "ROR1"      "RPLP0"    
## [283] "RTN1"      "S1PR2"     "SCN3B"     "SCN5A"     "SCN8A"     "SCOC"     
## [289] "SDCBP"     "SEMA6D"    "SEPTIN7"   "SESN3"     "SGCD"      "SH2D6"    
## [295] "SHC3"      "SHCBP1L"   "SIPA1"     "SIRPA"     "SLC26A6"   "SLC4A1"   
## [301] "SLC6A1"    "SMARCA2"   "SNX9"      "SORBS2"    "SOX12"     "SOX21"    
## [307] "SOX30"     "SOX5"      "SPINDOC"   "SPOCK2"    "SPTLC2"    "SRGAP2"   
## [313] "SRSF8"     "SSBP2"     "ST7L"      "STAC3"     "STAG1"     "STAG2"    
## [319] "STC2"      "STRN3"     "STRN4"     "TAS1R2"    "TEF"       "TENT4B"   
## [325] "TFAP4"     "TFDP2"     "TM2D3"     "TMEM182"   "TMEM69"    "TMSB4X"   
## [331] "TMSB4XP1"  "TMSB4XP6"  "TMSB4XP8"  "TNFAIP8"   "TNS1"      "TNXB"     
## [337] "TP53INP2"  "TRDN"      "TREML1"    "TRIM28"    "TRIM68"    "TRIM8"    
## [343] "TRIML1"    "TRPS1"     "TSC22D3"   "TSPAN7"    "TSPY26P"   "TSSK3"    
## [349] "TTC17"     "TUSC2"     "UBE2W"     "UBXN10"    "USP1"      "VDR"      
## [355] "VIP"       "VKORC1L1"  "VWA5A"     "WBP1"      "WNT2B"     "WT1"      
## [361] "WT1-AS"    "XRCC1"     "ZBTB11"    "ZBTB18"    "ZFP91"     "ZFPM2"    
## [367] "ZIC1"      "ZIC4"      "ZMAT3"     "ZNF296"    "ZNF503"    "ZNF521"   
## [373] "ZNF524"    "ZNF654"    "ZNF687"    "ZNF710"
# create GMT files for mouse and human gene set collections
write.gmt <- function(genelist, file) {
  file_conn <- file(file, open = "wt")
  for (set_name in names(genelist)) {
    line <- c(set_name, set_name, genelist[[set_name]])
    writeLines(paste(line, collapse = "\t"), file_conn)}
  close(file_conn)}
  
# Save GMT files to temporary directory
write.gmt(mm_gs_list, file.path(temp_dir, "20250319_mouse_msgidbr.gmt"))
write.gmt(hs_gs_list, file.path(temp_dir, "20250319_human_msgidbr.gmt"))