簡體   English   中英

clusterProfiler::gseWP 錯誤 --> 無法映射基因

[英]clusterProfiler::gseWP Error --> No gene can be mapped

我在使用 gseWP 時遇到了一點問題,特別是 check_gene_id(geneList, geneSets) function 在我的機器上似乎無法正常工作。 我試圖搜索一下以禁用 function 但到目前為止無法正常工作。 這個錯誤是否出現在其他人身上? gseKEGG 可以正常工作。

> library(clusterProfiler); packageVersion("clusterProfiler") 
[1] ‘4.2.2’

> data(geneList, package="DOSE")

> gseWP(geneList, organism = "Homo sapiens")

准備 geneSet collections... --> 預期的輸入基因 ID:check_gene_id(geneList,geneSets)中的錯誤:--> 沒有基因可以被映射....

check_gene_id <- function(geneList, geneSets) {
    if (all(!names(geneList) %in% unique(unlist(geneSets)))) {
        sg <- unlist(geneSets[1:10])
        sg <- sample(sg, min(length(sg), 6))
        message("--> Expected input gene ID: ", paste0(sg, collapse=','))
        stop("--> No gene can be mapped....")
    }}

 geneSets <- getGeneSet(USER_DATA)
 
 getGeneSet <- function(USER_DATA) {
    if (inherits(USER_DATA, "environment")) { 
        res <- get("PATHID2EXTID", envir = USER_DATA)
    } else if (inherits(USER_DATA, "GSON")) {
        gsid2gene <- USER_DATA@gsid2gene
        res <- split(gsid2gene$gene, gsid2gene$gsid) 
    } else {
        stop("not supported")
    }
    return(res)
 }
 
  USER_DATA <- build_Anno(TERM2GENE, TERM2NAME)
> sessionInfo()

R version 4.1.3 (2022-03-10)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.6

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] ggridges_0.5.4        RCy3_2.14.2           RColorBrewer_1.1-3    GSEABase_1.56.0       graph_1.72.0         
 [6] annotate_1.72.0       XML_3.99-0.11         GO.db_3.14.0          jsonlite_1.8.2        rWikiPathways_1.14.0 
[11] DOSE_3.20.1           org.Mm.eg.db_3.14.0   org.Dr.eg.db_3.14.0   org.Hs.eg.db_3.14.0   AnnotationDbi_1.56.2 
[16] IRanges_2.28.0        S4Vectors_0.32.4      Biobase_2.54.0        BiocGenerics_0.40.0   enrichplot_1.14.2    
[21] clusterProfiler_4.2.2 plyr_1.8.7            forcats_0.5.2         stringr_1.4.1         dplyr_1.0.10         
[26] purrr_0.3.5           readr_2.1.3           tidyr_1.2.1           tibble_3.1.8          ggplot2_3.3.6        
[31] tidyverse_1.3.2      

loaded via a namespace (and not attached):
  [1] utf8_1.2.2                  tidyselect_1.1.2            RSQLite_2.2.18              grid_4.1.3                 
  [5] BiocParallel_1.28.3         Rtsne_0.16                  scatterpie_0.1.8            munsell_0.5.0              
  [9] base64url_1.4               codetools_0.2-18            interp_1.1-3                pbdZMQ_0.3-7               
 [13] withr_2.5.0                 colorspace_2.0-3            GOSemSim_2.20.0             phyloseq_1.38.0            
 [17] knitr_1.40                  uuid_1.1-0                  rstudioapi_0.14             MatrixGenerics_1.6.0       
 [21] repr_1.1.4                  GenomeInfoDbData_1.2.7      hwriter_1.3.2.1             polyclip_1.10-0            
 [25] bit64_4.0.5                 farver_2.1.1                rhdf5_2.38.1                downloader_0.4             
 [29] vctrs_0.4.2                 treeio_1.18.1               generics_0.1.3              xfun_0.33                  
 [33] R6_2.5.1                    GenomeInfoDb_1.30.1         graphlayouts_0.8.2          RJSONIO_1.3-1.6            
 [37] bitops_1.0-7                rhdf5filters_1.6.0          microbiome_1.17.41          cachem_1.0.6               
 [41] fgsea_1.20.0                gridGraphics_0.5-1          DelayedArray_0.20.0         assertthat_0.2.1           
 [45] scales_1.2.1                googlesheets4_1.0.1         ggraph_2.1.0                gtable_0.3.1               
 [49] tidygraph_1.2.2             rlang_1.0.6                 splines_4.1.3               lazyeval_0.2.2             
 [53] gargle_1.2.1                broom_1.0.1                 modelr_0.1.9                reshape2_1.4.4             
 [57] backports_1.4.1             qvalue_2.26.0               tools_4.1.3                 ggplotify_0.1.0            
 [61] ellipsis_0.3.2              biomformat_1.22.0           sessioninfo_1.2.2           Rcpp_1.0.9                 
 [65] base64enc_0.1-3             zlibbioc_1.40.0             RCurl_1.98-1.9              deldir_1.0-6               
 [69] viridis_0.6.2               haven_2.5.1                 SummarizedExperiment_1.24.0 ggrepel_0.9.1              
 [73] cluster_2.1.4               fs_1.5.2                    magrittr_2.0.3              data.table_1.14.2          
 [77] DO.db_2.9                   reprex_2.0.2                googledrive_2.0.0           matrixStats_0.62.0         
 [81] hms_1.1.2                   patchwork_1.1.2             evaluate_0.17               xtable_1.8-4               
 [85] jpeg_0.1-9                  readxl_1.4.1                gridExtra_2.3               compiler_4.1.3             
 [89] crayon_1.5.2                shadowtext_0.1.2            htmltools_0.5.3             tzdb_0.3.0                 
 [93] ggfun_0.0.7                 mgcv_1.8-40                 aplot_0.1.8                 RcppParallel_5.1.5         
 [97] lubridate_1.8.0             DBI_1.1.3                   tweenr_2.0.2                dbplyr_2.2.1               
[101] MASS_7.3-58.1               ShortRead_1.52.0            Matrix_1.5-1                ade4_1.7-19                
[105] permute_0.9-7               cli_3.4.1                   uchardet_1.1.0              parallel_4.1.3             
[109] igraph_1.3.5                GenomicRanges_1.46.1        pkgconfig_2.0.3             GenomicAlignments_1.30.0   
[113] IRdisplay_1.1               xml2_1.3.3                  foreach_1.5.2               ggtree_3.2.1               
[117] multtest_2.50.0             XVector_0.34.0              rvest_1.0.3                 yulab.utils_0.0.5          
[121] digest_0.6.29               vegan_2.6-2                 dada2_1.22.0                Biostrings_2.62.0          
[125] cellranger_1.1.0            fastmatch_1.1-3             tidytree_0.4.1              Rsamtools_2.10.0           
[129] rjson_0.2.21                lifecycle_1.0.3             nlme_3.1-158                Rhdf5lib_1.16.0            
[133] viridisLite_0.4.1           fansi_1.0.3                 pillar_1.8.1                lattice_0.20-45            
[137] KEGGREST_1.34.0             fastmap_1.1.0               httr_1.4.4                  survival_3.4-0             
[141] glue_1.6.2                  png_0.1-7                   iterators_1.0.14            bit_4.0.4                  
[145] ggforce_0.4.1               stringi_1.7.8               blob_1.2.3                  latticeExtra_0.6-30        
[149] memoise_2.0.1               IRkernel_1.3                ape_5.6-2  

我也遇到了這個問題,但它似乎依賴於不包含任何 gmt 文件的版本。 一個骯臟的解決方法是使用下面的函數並依賴於舊版本 (20221210)。

enr <- gseWP.new(geneList, organism = "Homo sapiens")

所需的新功能

gseWP.new <- function (geneList, organism, ...) 
{
  wpdata <- prepare_WP_datax(organism)
  res <- clusterProfiler::GSEA(geneList, TERM2GENE = wpdata$WPID2GENE, TERM2NAME = wpdata$WPID2NAME, 
              ...)
  if (is.null(res)) 
    return(res)
  res@setType <- "WikiPathways"
  res@organism <- organism
  res@keytype <- "ENTREZID"
  return(res)
}

prepare_WP_datax <- function (organism) 
{
  wp2gene <- get_wp_data(organism)
  wpid2gene <- wp2gene %>% dplyr::select(.data$wpid, .data$gene)
  wpid2name <- wp2gene %>% dplyr::select(.data$wpid, .data$name)
  list(WPID2GENE = wpid2gene, WPID2NAME = wpid2name)
}


get_wp_gmtfile <- function () 
{
  wpurl <- "https://data.wikipathways.org/20221210/gmt/"
  x <- readLines(wpurl)
  y <- x[grep("\\.gmt", x)]
  sub(".*(wikipathways-.*\\.gmt).*", "\\1", y[grep("File", 
                                                   y)])
}


get_wp_data <- function (organism) 
{
  organism <- sub(" ", "_", organism)
  gmtfile <- get_wp_gmtfile()
  wpurl <- "https://data.wikipathways.org/20221210/gmt/"
  url <- paste0(wpurl, gmtfile[grep(organism, gmtfile)])
  f <- tempfile(fileext = ".gmt")
  dl <- clusterProfiler:::mydownload(url, destfile = f)
  if (is.null(f)) {
    message("fail to download wikiPathways data...")
    return(NULL)
  }
  read.gmt.wp(f)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM