Skip to content
Snippets Groups Projects
Select Git revision
  • 103e1e55c38f49bbf3d980ea1d36846384f6beea
  • master default protected
  • mq_only
  • v1.2
  • v1.4
  • v1.0
  • v1.52
  • v1.51
  • v1.50
  • v1.49
  • v1.48
  • v1.47
  • v1.46
  • v1.45
  • v1.44
  • v1.43
  • v1.42
  • v1.41
  • v1.40
  • v1.39
  • v1.38
  • v1.37
  • v1.36
  • v1.35
  • v1.34
  • v1.33
26 results

cp_utils.R

Blame
  • cp_utils.R 4.92 KiB
    install_package("clusterProfiler")
    
    
    ## todo move to diffex commons
    guess_cp_species <- function(ensIds){
        an_id <-ensIds[1]
    
        if(str_detect(an_id, "ENSG")){
            return("human")
        }else if(str_detect(an_id, "ENSMUSG")){
            return("mouse")
        }else if(str_detect(an_id, "ENSDARG")){
            return("zebrafish")
        }else if(str_detect(an_id, "FBgn")){
            return("fly")
        }else{
            stop(paste("could not clusterProfiler species name from ", an_id))
        }
    }
    
    guess_anno_db <- function(ensIds){
        an_id <-ensIds[1]
    
        if(str_detect(an_id, "ENSG")){
            return("org.Hs.eg.db")
        }else if(str_detect(an_id, "ENSMUSG")){
            return("org.Mm.eg.db")
        }else if(str_detect(an_id, "ENSDARG")){
            return("org.Dr.eg.db")
        }else if(str_detect(an_id, "FBgn")){
            return("org.Dm.eg.db")
        }else{
            stop(paste("could not anno db mart from ", an_id))
        }
    }
    
    #source("http://bioconductor.org/biocLite.R")
    #biocLite("org.Mm.eg.db")
    #biocLite("org.Hs.eg.db")
    #biocLite("org.Dr.eg.db")
    #biocLite("org.Dm.eg.db")
    #biocLite("KEGG.db")
    #biocLite("ReactomePA")
    
    
    
    #load_pack(ReactomePA)
    
    
    ## clusterProfiler convenience wrapper for ensembl ids
    find_enr_terms = function(ensemblIds, ...){
        #browser()
        annoDb = guess_anno_db(ensemblIds)
        clusterProfiler::bitr(ensemblIds, fromType="ENSEMBL", toType="ENTREZID", OrgDb=annoDb) %>%
            with(cp_test(ENTREZID, annoDb=annoDb, cp_species=guess_cp_species(ensemblIds), ...))
    }
    
    
    ## does not work because of dots
    #find_enr_terms_cached = function(ensemblIds, ...){
    #    quote({find_enr_terms(ensemblIds, ...)}) %>% cache_it(paste0("cp_id_cache", digest(ensemblIds)))
    #}
    
    
    cp_test = function(geneIds, annoDb, cp_species, q_cutoff=0.05){
        # DEBUG geneIds <- glMapped %>% filter(cluster %in% c("cluster_9")) %$% entrez_gene_id %>% as.integer
        # DEBUG geneIds <- glMapped %>% filter(cluster_id %in% c("nr1")) %$% entrez_gene_id %>% as.integer
        # DEBUG geneIds <- head(glMapped,30)$entrez_gene_id
        #    geneIds=.$entrez_gene_id