Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about heatmap table function #22

Open
HelloWorldLTY opened this issue Jul 12, 2022 · 6 comments
Open

Questions about heatmap table function #22

HelloWorldLTY opened this issue Jul 12, 2022 · 6 comments

Comments

@HelloWorldLTY
Copy link

Hi, I found that this step took me a pretty long time to run:
image
I waited for more than one hour with one 30 GB GPU from an HPC. Is it normal? Thanks a lot.

@shbrief
Copy link
Owner

shbrief commented Jul 13, 2022

It's not normal! Could you share your input data? I can double-check this from my side. Thanks!

p.s. Sorry for the delayed response. The notification keeps getting lost somehow. ;(

@HelloWorldLTY
Copy link
Author

Hi, many thanks for your reply! I just run the codes listed on the website.
https://shbrief.github.io/GenomicSuperSignature/articles/Quickstart.html
image
1657782111029
But I can generate the next figure:
image

@shbrief
Copy link
Owner

shbrief commented Jul 15, 2022

Hi @HelloWorldLTY,
I can't reproduce this issue. Can you check whether BiocManager::valid("GenomicSuperSignature") returns TRUE? Also, can you try to save the output as pdf?

@lwaldron
Copy link
Contributor

@HelloWorldLTY you mentioned you were using a GPU, is that correct or is it a typo for CPU?

@lwaldron
Copy link
Contributor

lwaldron commented Jul 15, 2022

Also, could you try running the following benchmark? It would help to be sure that your time is actually being spent evaluating the heatmapTable function, and not something else cluster scheduling-related. It should produce the output below, although if it really takes an hour to make each heatmap this won't finish in any reasonable amount of time. But in my benchmarking it only takes ~20ms per function call.

source("https://gist.githubusercontent.com/lwaldron/90ac62ef51d030a6f878aa0d11e3689a/raw/18687f7e18d9033cd333b2407b9117b2c1648558/benchmark_heatmapTable.R")
  BiocManager::version()
#> [1] '3.15'
  BiocManager::valid()
#> 'getOption("repos")' replaces Bioconductor standard repositories, see
#> '?repositories' for details
#> 
#> replacement repositories:
#>     CRAN: https://cloud.r-project.org
#> Warning: 0 packages out-of-date; 39 packages too new
#> 
#> * sessionInfo()
#> 
#> R version 4.2.1 (2022-06-23)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 20.04.4 LTS
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] rstudioapi_0.13     knitr_1.39          magrittr_2.0.3     
#>  [4] R.cache_0.15.0      rlang_1.0.4         fastmap_1.1.0      
#>  [7] fansi_1.0.3         stringr_1.4.0       styler_1.7.0       
#> [10] highr_0.9           tools_4.2.1         xfun_0.31          
#> [13] R.oo_1.25.0         utf8_1.2.2          cli_3.3.0          
#> [16] withr_2.5.0         htmltools_0.5.2     ellipsis_0.3.2     
#> [19] yaml_2.3.5          digest_0.6.29       tibble_3.1.7       
#> [22] lifecycle_1.0.1     crayon_1.5.1        BiocManager_1.30.18
#> [25] purrr_0.3.4         R.utils_2.12.0      vctrs_0.4.1        
#> [28] fs_1.5.2            glue_1.6.2          evaluate_0.15      
#> [31] rmarkdown_2.14      reprex_2.0.1        stringi_1.7.8      
#> [34] compiler_4.2.1      pillar_1.7.0        R.methodsS3_1.8.2  
#> [37] pkgconfig_2.0.3    
#> 
#> Bioconductor version '3.15'
#> 
#>   * 0 packages out-of-date
#>   * 39 packages too new
#> 
#> create a valid installation with
#> 
#>   BiocManager::install(c(
#>     "annotation", "AnnotationDbi", "AnnotationHub", "beachmat", "Biobase",
#>     "BiocFileCache", "BiocGenerics", "BiocNeighbors", "BiocParallel",
#>     "BiocSingular", "BioPlex", "Biostrings", "curatedMetagenomicData",
#>     "DECIPHER", "decontam", "DelayedArray", "DelayedMatrixStats",
#>     "DirichletMultinomial", "ExperimentHub", "GenomeInfoDb", "GenomicRanges",
#>     "HGNChelper", "interactiveDisplayBase", "IRanges", "KEGGREST",
#>     "MatrixGenerics", "mia", "MultiAssayExperiment", "S4Vectors",
#>     "ScaledMatrix", "scater", "scuttle", "SingleCellExperiment",
#>     "sparseMatrixStats", "SummarizedExperiment", "treeio",
#>     "TreeSummarizedExperiment", "XVector", "zlibbioc"
#>   ), update = TRUE, ask = FALSE)
#> 
#> more details: BiocManager::valid()$too_new, BiocManager::valid()$out_of_date

  suppressPackageStartupMessages({
    library(GenomicSuperSignature)
    library(bcellViper)
    library(microbenchmark)
  })

  RAVmodel <- getModel("PLIERpriors", load = TRUE)
#> [1] "downloading"
  data(bcellViper)
  dset
#> ExpressionSet (storageMode: lockedEnvironment)
#> assayData: 6249 features, 211 samples 
#>   element names: exprs 
#> protocolData: none
#> phenoData
#>   sampleNames: GSM44075 GSM44078 ... GSM44302 (211 total)
#>   varLabels: sampleID description detailed_description
#>   varMetadata: labelDescription
#> featureData: none
#> experimentData: use 'experimentData(object)'
#> Annotation:
  val_all <- validate(dset, RAVmodel)

  suppressMessages({
    microbenchmark(heatmapTable(
      val_all,
      RAVmodel,
      num.out = 5,
      swCutoff = 0
    ))
  })
#> Unit: milliseconds
#>                                                        expr     min       lq
#>  heatmapTable(val_all, RAVmodel, num.out = 5, swCutoff = 0) 18.1544 18.87651
#>      mean   median       uq      max neval
#>  21.89993 19.24291 21.69203 113.4549   100
sessionInfo()
#> R version 4.2.1 (2022-06-23)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 20.04.4 LTS
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> attached base packages:
#> [1] stats4    stats     graphics  grDevices utils     datasets  methods  
#> [8] base     
#> 
#> other attached packages:
#>  [1] microbenchmark_1.4.9        bcellViper_1.32.0          
#>  [3] GenomicSuperSignature_1.4.0 SummarizedExperiment_1.27.1
#>  [5] Biobase_2.57.1              GenomicRanges_1.49.0       
#>  [7] GenomeInfoDb_1.33.3         IRanges_2.31.0             
#>  [9] S4Vectors_0.35.1            BiocGenerics_0.43.0        
#> [11] MatrixGenerics_1.9.0        matrixStats_0.62.0         
#> 
#> loaded via a namespace (and not attached):
#>   [1] TH.data_1.1-1          colorspace_2.0-3       ggsignif_0.6.3        
#>   [4] rjson_0.2.21           ellipsis_0.3.2         circlize_0.4.15       
#>   [7] XVector_0.37.0         GlobalOptions_0.1.2    fs_1.5.2              
#>  [10] clue_0.3-61            rstudioapi_0.13        ggpubr_0.4.0          
#>  [13] bit64_4.0.5            mvtnorm_1.1-3          fansi_1.0.3           
#>  [16] splines_4.2.1          codetools_0.2-18       R.methodsS3_1.8.2     
#>  [19] doParallel_1.0.17      cachem_1.0.6           knitr_1.39            
#>  [22] broom_1.0.0            cluster_2.1.3          dbplyr_2.2.1          
#>  [25] png_0.1-7              R.oo_1.25.0            BiocManager_1.30.18   
#>  [28] readr_2.1.2            compiler_4.2.1         httr_1.4.3            
#>  [31] backports_1.4.1        assertthat_0.2.1       Matrix_1.4-1          
#>  [34] fastmap_1.1.0          cli_3.3.0              htmltools_0.5.2       
#>  [37] tools_4.2.1            gtable_0.3.0           glue_1.6.2            
#>  [40] GenomeInfoDbData_1.2.8 dplyr_1.0.9            rappdirs_0.3.3        
#>  [43] Rcpp_1.0.9             carData_3.0-5          styler_1.7.0          
#>  [46] vctrs_0.4.1            iterators_1.0.14       xfun_0.31             
#>  [49] stringr_1.4.0          lifecycle_1.0.1        rstatix_0.7.0         
#>  [52] MASS_7.3-58            zoo_1.8-10             zlibbioc_1.43.0       
#>  [55] scales_1.2.0           hms_1.1.1              parallel_4.2.1        
#>  [58] sandwich_3.0-2         RColorBrewer_1.1-3     ComplexHeatmap_2.12.0 
#>  [61] yaml_2.3.5             curl_4.3.2             memoise_2.0.1         
#>  [64] ggplot2_3.3.6          stringi_1.7.8          RSQLite_2.2.14        
#>  [67] highr_0.9              foreach_1.5.2          filelock_1.0.2        
#>  [70] shape_1.4.6            rlang_1.0.4            pkgconfig_2.0.3       
#>  [73] bitops_1.0-7           evaluate_0.15          lattice_0.20-45       
#>  [76] purrr_0.3.4            bit_4.0.4              tidyselect_1.1.2      
#>  [79] magrittr_2.0.3         R6_2.5.1               magick_2.7.3          
#>  [82] generics_0.1.3         multcomp_1.4-19        DelayedArray_0.23.0   
#>  [85] DBI_1.1.3              pillar_1.7.0           withr_2.5.0           
#>  [88] survival_3.3-1         abind_1.4-5            RCurl_1.98-1.7        
#>  [91] tibble_3.1.7           crayon_1.5.1           car_3.1-0             
#>  [94] utf8_1.2.2             BiocFileCache_2.5.0    tzdb_0.3.0            
#>  [97] rmarkdown_2.14         GetoptLong_1.0.5       grid_4.2.1            
#> [100] blob_1.2.3             reprex_2.0.1           digest_0.6.29         
#> [103] R.cache_0.15.0         tidyr_1.2.0            R.utils_2.12.0        
#> [106] munsell_0.5.0

Created on 2022-07-15 by the reprex package (v2.0.1)

@HelloWorldLTY
Copy link
Author

Hi, thanks for your help.
For the valid instruction, it returns true.
image
However, for the source code, I cannot run it.
`'getOption("repos")' replaces Bioconductor standard repositories, see
'?repositories' for details

replacement repositories:
CRAN: https://cran.r-project.org/

Bioconductor version 3.14 (BiocManager 1.30.18), R 4.1.3 (2022-03-10)

Warning message:
“package(s) not installed when version(s) same as current; use force = TRUE to
re-install: 'GenomicSuperSignature' 'bcellViper'”
Installing package(s) 'microbenchmark', 'reprex'

Updating HTML index of packages in '.Library'

Making 'packages.html' ...
done

Old packages: 'bslib', 'callr', 'farver', 'gert', 'lme4', 'MASS', 'processx',
'Rcpp', 'recipes', 'rlang', 'sass', 'stringi'

Updating HTML index of packages in '.Library'

Making 'packages.html' ...
done

✖ Install the styler package in order to use style = TRUE.

ℹ Non-interactive session, setting html_preview = FALSE.

ℹ Rendering reprex...

CLIPR_ALLOW has not been set, so clipr will not run interactively`

Could you please help me solve it? Thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants