Contents

1 Quick start

  1. Load piano and example data:
library(piano)
## Registered S3 method overwritten by 'ggplot2':
##   method        from
##   print.element sets
data("gsa_input")
  1. Take a look at the structure of the input data:
head(gsa_input$gsc,10)
##       g      s    
##  [1,] "g103" "s1" 
##  [2,] "g106" "s19"
##  [3,] "g118" "s16"
##  [4,] "g130" "s21"
##  [5,] "g130" "s6" 
##  [6,] "g131" "s46"
##  [7,] "g132" "s32"
##  [8,] "g132" "s3" 
##  [9,] "g139" "s1" 
## [10,] "g140" "s21"
head(gsa_input$pvals, 10)
##           g1           g2           g3           g4           g5           g6 
## 2.351900e-05 2.838832e-05 2.885141e-05 6.566243e-05 7.107615e-05 7.770070e-05 
##           g7           g8           g9          g10 
## 1.436830e-04 1.532264e-04 1.626607e-04 1.644806e-04
head(gsa_input$directions, 10)
##  g1  g2  g3  g4  g5  g6  g7  g8  g9 g10 
##  -1  -1   1  -1  -1   1  -1  -1  -1  -1
  1. Load gene-set collection and take a look at the resulting object:
geneSets <- loadGSC(gsa_input$gsc)
geneSets
## First 50 (out of 50) gene set names:
##  [1] "s1"  "s19" "s16" "s21" "s6"  "s46" "s32" "s3"  "s34" "s14" "s7"  "s13"
## [13] "s5"  "s42" "s2"  "s11" "s22" "s8"  "s15" "s10" "s33" "s37" "s35" "s43"
## [25] "s36" "s27" "s17" "s9"  "s23" "s30" "s18" "s25" "s41" "s24" "s20" "s39"
## [37] "s31" "s12" "s29" "s4"  "s26" "s44" "s28" "s47" "s38" "s49" "s50" "s40"
## [49] "s45" "s48"
## 
## First 50 (out of 1136) gene names:
##  [1] "g103" "g139" "g150" "g235" "g304" "g479" "g130" "g157" "g171" "g180"
## [11] "g218" "g243" "g251" "g302" "g319" "g32"  "g329" "g372" "g373" "g403"
## [21] "g41"  "g43"  "g456" "g476" "g48"  "g521" "g527" "g554" "g581" "g585"
## [31] "g591" "g62"  "g660" "g665" "g698" "g71"  "g711" "g723" "g726" "g75" 
## [41] "g758" "g77"  "g808" "g816" "g838" "g9"   "g907" "g924" "g931" "g935"
## 
## Gene set size summary:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2.00   20.50   39.00   39.50   53.75   95.00 
## 
## No additional info available.
  1. Run gene-set analysis:
gsares <- runGSA(gsa_input$pvals,
                 gsa_input$directions,
                 gsc = geneSets,
                 nPerm = 500) # set to 500 for fast run

Note: nPerm was set to 500 to get a short runtime for this vignette, in reality use a higher number, e.g. 10,000 (default).

  1. Explore the results in an interactive Shiny app:
exploreGSAres(gsares)

This opens a browser window with an interactive interface where the results can be explored in detail.

2 Session info

Here is the output of sessionInfo() on the system on which this document was compiled.

## R version 4.1.0 (2021-05-18)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.2 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.13-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.13-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_GB              LC_COLLATE=C              
##  [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     
## 
## other attached packages:
## [1] piano_2.8.0      BiocStyle_2.20.0
## 
## loaded via a namespace (and not attached):
##  [1] Biobase_2.52.0       sass_0.4.0           jsonlite_1.7.2      
##  [4] gtools_3.8.2         bslib_0.2.5.1        shiny_1.6.0         
##  [7] assertthat_0.2.1     BiocManager_1.30.15  yaml_2.2.1          
## [10] slam_0.1-48          pillar_1.6.1         lattice_0.20-44     
## [13] glue_1.4.2           limma_3.48.0         digest_0.6.27       
## [16] promises_1.2.0.1     colorspace_2.0-1     htmltools_0.5.1.1   
## [19] httpuv_1.6.1         Matrix_1.3-3         pkgconfig_2.0.3     
## [22] bookdown_0.22        purrr_0.3.4          xtable_1.8-4        
## [25] relations_0.6-9      scales_1.1.1         later_1.2.0         
## [28] BiocParallel_1.26.0  tibble_3.1.2         generics_0.1.0      
## [31] ggplot2_3.3.3        ellipsis_0.3.2       DT_0.18             
## [34] shinyjs_2.0.0        BiocGenerics_0.38.0  magrittr_2.0.1      
## [37] crayon_1.4.1         mime_0.10            evaluate_0.14       
## [40] fansi_0.4.2          gplots_3.1.1         shinydashboard_0.7.1
## [43] tools_4.1.0          data.table_1.14.0    lifecycle_1.0.0     
## [46] stringr_1.4.0        munsell_0.5.0        cluster_2.1.2       
## [49] compiler_4.1.0       jquerylib_0.1.4      caTools_1.18.2      
## [52] rlang_0.4.11         grid_4.1.0           visNetwork_2.0.9    
## [55] marray_1.70.0        htmlwidgets_1.5.3    igraph_1.2.6        
## [58] bitops_1.0-7         rmarkdown_2.8        gtable_0.3.0        
## [61] DBI_1.1.1            sets_1.0-18          R6_2.5.0            
## [64] gridExtra_2.3        knitr_1.33           dplyr_1.0.6         
## [67] fastmap_1.1.0        utf8_1.2.1           fastmatch_1.1-0     
## [70] fgsea_1.18.0         KernSmooth_2.23-20   stringi_1.6.2       
## [73] parallel_4.1.0       Rcpp_1.0.6           vctrs_0.3.8         
## [76] tidyselect_1.1.1     xfun_0.23