# Introduction to iSEEpathways

Kevin Rue-Albrecht1*

1University of Oxford

*kevin.rue-albrecht@imm.ox.ac.uk

#### 27 October 2023

#### Package

iSEEpathways 1.0.0

# 1 Basics

## 1.1 Install `iSEEpathways`

`R` is an open-source statistical environment which can be easily modified to enhance its functionality via packages. iSEEpathways is a `R` package available via the Bioconductor repository for packages. `R` can be installed on any operating system from CRAN after which you can install iSEEpathways by using the following commands in your `R` session:

    if (!requireNamespace("BiocManager", quietly = TRUE)) {
          install.packages("BiocManager")
      }

    BiocManager::install("iSEEpathways")

    ## Check that you have a valid Bioconductor installation
    BiocManager::valid()

## 1.2 Required knowledge

iSEEpathways is based on many other packages and in particular in those that have implemented the infrastructure needed for dealing with omics data and interactive visualisation. That is, packages like SummarizedExperiment, SingleCellExperiment, iSEE and shiny.

If you are asking yourself the question “Where do I start using Bioconductor?” you might be interested in this blog post.

## 1.3 Asking for help

As package developers, we try to explain clearly how to use our packages and in which order to use the functions. But `R` and `Bioconductor` have a steep learning curve so it is critical to learn where to ask for help. The blog post quoted above mentions some but we would like to highlight the Bioconductor support site as the main resource for getting help: remember to use the `iSEEpathways` tag and check the older posts. Other alternatives are available such as creating GitHub issues and tweeting. However, please note that if you want to receive help you should adhere to the posting guidelines. It is particularly critical that you provide a small reproducible example and your session information so package developers can track down the source of the error.

## 1.4 Citing `iSEEpathways`

We hope that iSEEpathways will be useful for your research. Please use the following information to cite the package and the overall approach. Thank you!

    ## Citation info
    citation("iSEEpathways")
    #> To cite package 'iSEEpathways' in publications use:
    #>
    #>   Rue-Albrecht K, Soneson C (2023). _iSEEpathways: iSEE extension for panels related to pathway analysis_.
    #>   doi:10.18129/B9.bioc.iSEEpathways <https://doi.org/10.18129/B9.bioc.iSEEpathways>, R package version
    #>   1.0.0, <https://bioconductor.org/packages/iSEEpathways>.
    #>
    #> A BibTeX entry for LaTeX users is
    #>
    #>   @Manual{,
    #>     title = {iSEEpathways: iSEE extension for panels related to pathway analysis},
    #>     author = {Kevin Rue-Albrecht and Charlotte Soneson},
    #>     year = {2023},
    #>     note = {R package version 1.0.0},
    #>     url = {https://bioconductor.org/packages/iSEEpathways},
    #>     doi = {10.18129/B9.bioc.iSEEpathways},
    #>   }

# 2 Quick start to using to `iSEEpathways`

    library("iSEEpathways")
    library("fgsea")
    library("iSEE")

    # Example data ----

    set.seed(1)
    simulated_data <- simulateExampleData()

    pathways_list <- simulated_data[["pathwaysList"]]
    features_stat <- simulated_data[["featuresStat"]]
    se <- simulated_data[["summarizedexperiment"]]

    # fgsea ----

    set.seed(42)
    fgseaRes <- fgsea(pathways = pathways_list,
                      stats    = features_stat,
                      minSize  = 15,
                      maxSize  = 500)
    fgseaRes <- fgseaRes[order(pval), ]
    head(fgseaRes)
    #>         pathway         pval      padj   log2err         ES       NES size
    #> 1: pathway_3193 0.0001211540 0.3204337 0.5384341 -0.2896765 -1.539403  352
    #> 2: pathway_2245 0.0001281735 0.3204337 0.5188481  0.3838463  1.789193  119
    #> 3: pathway_1942 0.0002489896 0.3688884 0.4984931  0.6384197  2.035004   22
    #> 4: pathway_2564 0.0004065213 0.3688884 0.4984931 -0.2960470 -1.536240  266
    #> 5: pathway_3993 0.0005506760 0.3688884 0.4772708 -0.4879636 -1.879389   46
    #> 6: pathway_4437 0.0005542489 0.3688884 0.4772708 -0.2680266 -1.444987  428
    #>                                                                             leadingEdge
    #> 1: feature_13088,feature_8518,feature_1735,feature_4778,feature_12174,feature_13420,...
    #> 2:   feature_6410,feature_4592,feature_3340,feature_11088,feature_7859,feature_5638,...
    #> 3:  feature_2107,feature_14713,feature_2314,feature_12352,feature_1389,feature_3925,...
    #> 4:  feature_1148,feature_1370,feature_14652,feature_14211,feature_1113,feature_8783,...
    #> 5:   feature_3658,feature_5492,feature_13167,feature_1271,feature_4815,feature_2900,...
    #> 6:   feature_3658,feature_1370,feature_10001,feature_169,feature_1048,feature_11007,...

    # iSEE ---

    se <- embedPathwaysResults(fgseaRes, se, name = "fgsea", class = "fgsea", pathwayType = "simulated",
                               pathwaysList = pathways_list, featuresStats = features_stat)

    app <- iSEE(se, initial = list(
      PathwaysTable(ResultName="fgsea", Selected = "pathway_1350 ", PanelWidth = 6L),
      FgseaEnrichmentPlot(ResultName="fgsea", PathwayId = "pathway_1350", PanelWidth = 6L)
    ))

    if (interactive()) {
      shiny::runApp(app)
    }

# 3 Reproducibility

The iSEEpathways package (Rue-Albrecht and Soneson, 2023) was made possible thanks to:

- R (R Core Team, 2023)
- BiocStyle (Oleś, 2023)
- knitr (Xie, 2023)
- RefManageR (McLean, 2017)
- rmarkdown (Allaire, Xie, Dervieux et al., 2023)
- sessioninfo (Wickham, Chang, Flight et al., 2021)
- testthat (Wickham, 2011)

This package was developed using biocthis.

Code for creating the vignette

    ## Create the vignette
    library("rmarkdown")
    system.time(render("iSEEpathways.Rmd", "BiocStyle::html_document"))

    ## Extract the R code
    library("knitr")
    knit("iSEEpathways.Rmd", tangle = TRUE)

Date the vignette was generated.

    #> [1] "2023-10-27 01:41:11 EDT"

Wallclock time spent generating the vignette.

    #> Time difference of 9.453 secs

`R` session information.

    #> ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
    #>  setting  value
    #>  version  R version 4.3.1 (2023-06-16)
    #>  os       macOS Ventura 13.6.1
    #>  system   aarch64, darwin20
    #>  ui       X11
    #>  language (EN)
    #>  collate  C
    #>  ctype    en_US.UTF-8
    #>  tz       America/New_York
    #>  date     2023-10-27
    #>  pandoc   3.1.2 @ /opt/homebrew/bin/ (via rmarkdown)
    #>
    #> ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
    #>  package              * version   date (UTC) lib source
    #>  abind                  1.4-5     2016-07-21 [2] CRAN (R 4.3.0)
    #>  AnnotationDbi        * 1.64.0    2023-10-26 [2] Bioconductor
    #>  backports              1.4.1     2021-12-13 [2] CRAN (R 4.3.0)
    #>  bibtex                 0.5.1     2023-01-26 [2] CRAN (R 4.3.0)
    #>  Biobase              * 2.62.0    2023-10-26 [2] Bioconductor
    #>  BiocGenerics         * 0.48.0    2023-10-26 [2] Bioconductor
    #>  BiocManager            1.30.22   2023-08-08 [2] CRAN (R 4.3.0)
    #>  BiocParallel           1.36.0    2023-10-26 [2] Bioconductor
    #>  BiocStyle            * 2.30.0    2023-10-26 [2] Bioconductor
    #>  Biostrings             2.70.1    2023-10-26 [2] Bioconductor
    #>  bit                    4.0.5     2022-11-15 [2] CRAN (R 4.3.0)
    #>  bit64                  4.0.5     2020-08-30 [2] CRAN (R 4.3.0)
    #>  bitops                 1.0-7     2021-04-24 [2] CRAN (R 4.3.0)
    #>  blob                   1.2.4     2023-03-17 [2] CRAN (R 4.3.0)
    #>  bookdown               0.34      2023-05-09 [2] CRAN (R 4.3.0)
    #>  bslib                  0.5.0     2023-06-09 [2] CRAN (R 4.3.0)
    #>  cachem                 1.0.8     2023-05-01 [2] CRAN (R 4.3.0)
    #>  circlize               0.4.15    2022-05-10 [2] CRAN (R 4.3.0)
    #>  cli                    3.6.1     2023-03-23 [2] CRAN (R 4.3.0)
    #>  clue                   0.3-64    2023-01-31 [2] CRAN (R 4.3.0)
    #>  cluster                2.1.4     2022-08-22 [2] CRAN (R 4.3.1)
    #>  codetools              0.2-19    2023-02-01 [2] CRAN (R 4.3.1)
    #>  colorspace             2.1-0     2023-01-23 [2] CRAN (R 4.3.0)
    #>  colourpicker           1.2.0     2022-10-28 [2] CRAN (R 4.3.0)
    #>  ComplexHeatmap         2.18.0    2023-10-26 [2] Bioconductor
    #>  cowplot                1.1.1     2020-12-30 [2] CRAN (R 4.3.0)
    #>  crayon                 1.5.2     2022-09-29 [2] CRAN (R 4.3.0)
    #>  data.table             1.14.8    2023-02-17 [2] CRAN (R 4.3.0)
    #>  DBI                    1.1.3     2022-06-18 [2] CRAN (R 4.3.0)
    #>  DelayedArray           0.28.0    2023-10-26 [2] Bioconductor
    #>  digest                 0.6.33    2023-07-07 [2] CRAN (R 4.3.0)
    #>  doParallel             1.0.17    2022-02-07 [2] CRAN (R 4.3.0)
    #>  dplyr                  1.1.2     2023-04-20 [2] CRAN (R 4.3.0)
    #>  DT                     0.28      2023-05-18 [2] CRAN (R 4.3.0)
    #>  ellipsis               0.3.2     2021-04-29 [2] CRAN (R 4.3.0)
    #>  evaluate               0.21      2023-05-05 [2] CRAN (R 4.3.0)
    #>  fansi                  1.0.4     2023-01-22 [2] CRAN (R 4.3.0)
    #>  fastmap                1.1.1     2023-02-24 [2] CRAN (R 4.3.0)
    #>  fastmatch              1.1-3     2021-07-23 [2] CRAN (R 4.3.0)
    #>  fgsea                * 1.28.0    2023-10-26 [2] Bioconductor
    #>  fontawesome            0.5.1     2023-04-18 [2] CRAN (R 4.3.0)
    #>  foreach                1.5.2     2022-02-02 [2] CRAN (R 4.3.0)
    #>  generics               0.1.3     2022-07-05 [2] CRAN (R 4.3.0)
    #>  GenomeInfoDb         * 1.38.0    2023-10-26 [2] Bioconductor
    #>  GenomeInfoDbData       1.2.10    2023-06-20 [2] Bioconductor
    #>  GenomicRanges        * 1.54.0    2023-10-26 [2] Bioconductor
    #>  GetoptLong             1.0.5     2020-12-15 [2] CRAN (R 4.3.0)
    #>  ggplot2                3.4.2     2023-04-03 [2] CRAN (R 4.3.0)
    #>  ggrepel                0.9.3     2023-02-03 [2] CRAN (R 4.3.0)
    #>  GlobalOptions          0.1.2     2020-06-10 [2] CRAN (R 4.3.0)
    #>  glue                   1.6.2     2022-02-24 [2] CRAN (R 4.3.0)
    #>  GO.db                * 3.17.0    2023-06-21 [2] Bioconductor
    #>  gtable                 0.3.3     2023-03-21 [2] CRAN (R 4.3.0)
    #>  highr                  0.10      2022-12-22 [2] CRAN (R 4.3.0)
    #>  htmltools              0.5.5     2023-03-23 [2] CRAN (R 4.3.0)
    #>  htmlwidgets            1.6.2     2023-03-17 [2] CRAN (R 4.3.0)
    #>  httpuv                 1.6.11    2023-05-11 [2] CRAN (R 4.3.0)
    #>  httr                   1.4.6     2023-05-08 [2] CRAN (R 4.3.0)
    #>  igraph                 1.5.0     2023-06-16 [2] CRAN (R 4.3.0)
    #>  IRanges              * 2.36.0    2023-10-26 [2] Bioconductor
    #>  iSEE                 * 2.14.0    2023-10-26 [2] Bioconductor
    #>  iSEEpathways         * 1.0.0     2023-10-26 [1] Bioconductor
    #>  iterators              1.0.14    2022-02-05 [2] CRAN (R 4.3.0)
    #>  jquerylib              0.1.4     2021-04-26 [2] CRAN (R 4.3.0)
    #>  jsonlite               1.8.7     2023-06-29 [2] CRAN (R 4.3.0)
    #>  KEGGREST               1.42.0    2023-10-26 [2] Bioconductor
    #>  knitr                  1.43      2023-05-25 [2] CRAN (R 4.3.0)
    #>  later                  1.3.1     2023-05-02 [2] CRAN (R 4.3.0)
    #>  lattice                0.21-8    2023-04-05 [2] CRAN (R 4.3.1)
    #>  lifecycle              1.0.3     2022-10-07 [2] CRAN (R 4.3.0)
    #>  lubridate              1.9.2     2023-02-10 [2] CRAN (R 4.3.0)
    #>  magrittr               2.0.3     2022-03-30 [2] CRAN (R 4.3.0)
    #>  Matrix                 1.6-0     2023-07-08 [2] CRAN (R 4.3.0)
    #>  MatrixGenerics       * 1.14.0    2023-10-26 [2] Bioconductor
    #>  matrixStats          * 1.0.0     2023-06-02 [2] CRAN (R 4.3.0)
    #>  memoise                2.0.1     2021-11-26 [2] CRAN (R 4.3.0)
    #>  mgcv                   1.9-0     2023-07-11 [2] CRAN (R 4.3.0)
    #>  mime                   0.12      2021-09-28 [2] CRAN (R 4.3.0)
    #>  miniUI                 0.1.1.1   2018-05-18 [2] CRAN (R 4.3.0)
    #>  munsell                0.5.0     2018-06-12 [2] CRAN (R 4.3.0)
    #>  nlme                   3.1-162   2023-01-31 [2] CRAN (R 4.3.1)
    #>  org.Hs.eg.db         * 3.17.0    2023-06-21 [2] Bioconductor
    #>  pillar                 1.9.0     2023-03-22 [2] CRAN (R 4.3.0)
    #>  pkgconfig              2.0.3     2019-09-22 [2] CRAN (R 4.3.0)
    #>  plyr                   1.8.8     2022-11-11 [2] CRAN (R 4.3.0)
    #>  png                    0.1-8     2022-11-29 [2] CRAN (R 4.3.0)
    #>  promises               1.2.0.1   2021-02-11 [2] CRAN (R 4.3.0)
    #>  R6                     2.5.1     2021-08-19 [2] CRAN (R 4.3.0)
    #>  RColorBrewer           1.1-3     2022-04-03 [2] CRAN (R 4.3.0)
    #>  Rcpp                   1.0.11    2023-07-06 [2] CRAN (R 4.3.0)
    #>  RCurl                  1.98-1.12 2023-03-27 [2] CRAN (R 4.3.0)
    #>  RefManageR           * 1.4.0     2022-09-30 [2] CRAN (R 4.3.0)
    #>  rintrojs               0.3.2     2022-08-09 [2] CRAN (R 4.3.0)
    #>  rjson                  0.2.21    2022-01-09 [2] CRAN (R 4.3.0)
    #>  rlang                  1.1.1     2023-04-28 [2] CRAN (R 4.3.0)
    #>  rmarkdown              2.23      2023-07-01 [2] CRAN (R 4.3.0)
    #>  RSQLite                2.3.1     2023-04-03 [2] CRAN (R 4.3.0)
    #>  S4Arrays               1.2.0     2023-10-26 [2] Bioconductor
    #>  S4Vectors            * 0.40.1    2023-10-26 [2] Bioconductor
    #>  sass                   0.4.6     2023-05-03 [2] CRAN (R 4.3.0)
    #>  scales                 1.2.1     2022-08-20 [2] CRAN (R 4.3.0)
    #>  sessioninfo          * 1.2.2     2021-12-06 [2] CRAN (R 4.3.0)
    #>  shape                  1.4.6     2021-05-19 [2] CRAN (R 4.3.0)
    #>  shiny                * 1.7.4.1   2023-07-06 [2] CRAN (R 4.3.0)
    #>  shinyAce               0.4.2     2022-05-06 [2] CRAN (R 4.3.0)
    #>  shinydashboard         0.7.2     2021-09-30 [2] CRAN (R 4.3.0)
    #>  shinyjs                2.1.0     2021-12-23 [2] CRAN (R 4.3.0)
    #>  shinyWidgets           0.7.6     2023-01-08 [2] CRAN (R 4.3.0)
    #>  SingleCellExperiment * 1.24.0    2023-10-26 [2] Bioconductor
    #>  SparseArray            1.2.0     2023-10-26 [2] Bioconductor
    #>  stringi                1.7.12    2023-01-11 [2] CRAN (R 4.3.0)
    #>  stringr                1.5.0     2022-12-02 [2] CRAN (R 4.3.0)
    #>  SummarizedExperiment * 1.32.0    2023-10-26 [2] Bioconductor
    #>  tibble                 3.2.1     2023-03-20 [2] CRAN (R 4.3.0)
    #>  tidyselect             1.2.0     2022-10-10 [2] CRAN (R 4.3.0)
    #>  timechange             0.2.0     2023-01-11 [2] CRAN (R 4.3.0)
    #>  utf8                   1.2.3     2023-01-31 [2] CRAN (R 4.3.0)
    #>  vctrs                  0.6.3     2023-06-14 [2] CRAN (R 4.3.0)
    #>  vipor                  0.4.5     2017-03-22 [2] CRAN (R 4.3.0)
    #>  viridisLite            0.4.2     2023-05-02 [2] CRAN (R 4.3.0)
    #>  xfun                   0.39      2023-04-20 [2] CRAN (R 4.3.0)
    #>  xml2                   1.3.5     2023-07-06 [2] CRAN (R 4.3.0)
    #>  xtable                 1.8-4     2019-04-21 [2] CRAN (R 4.3.0)
    #>  XVector                0.42.0    2023-10-26 [2] Bioconductor
    #>  yaml                   2.3.7     2023-01-23 [2] CRAN (R 4.3.0)
    #>  zlibbioc               1.48.0    2023-10-26 [2] Bioconductor
    #>
    #>  [1] /private/tmp/Rtmpa9vT5L/Rinstbe1d59aefffb
    #>  [2] /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library
    #>
    #> ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

# 4 Bibliography

This vignette was generated using BiocStyle (Oleś, 2023) with knitr (Xie, 2023) and rmarkdown (Allaire, Xie, Dervieux et al., 2023) running behind the scenes.

Citations made with RefManageR (McLean, 2017).

[1] J. Allaire, Y. Xie, C. Dervieux, et al. rmarkdown: Dynamic Documents for R. R package version 2.23. 2023. URL: https://github.com/rstudio/rmarkdown.

[2] M. W. McLean. “RefManageR: Import and Manage BibTeX and BibLaTeX References in R”. In: The Journal of Open Source Software (2017). DOI: 10.21105/joss.00338.

[3] A. Oleś. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.30.0. 2023. DOI: 10.18129/B9.bioc.BiocStyle. URL: https://bioconductor.org/packages/BiocStyle.

[4] R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria, 2023. URL: https://www.R-project.org/.

[5] K. Rue-Albrecht and C. Soneson. iSEEpathways: iSEE extension for panels related to pathway analysis. R package version 1.0.0. 2023. DOI: 10.18129/B9.bioc.iSEEpathways. URL: https://bioconductor.org/packages/iSEEpathways.

[6] H. Wickham. “testthat: Get Started with Testing”. In: The R Journal 3 (2011), pp. 5–10. URL: https://journal.r-project.org/archive/2011-1/RJournal_2011-1_Wickham.pdf.

[7] H. Wickham, W. Chang, R. Flight, et al. sessioninfo: R Session Information. R package version 1.2.2. 2021. URL: https://CRAN.R-project.org/package=sessioninfo.

[8] Y. Xie. knitr: A General-Purpose Package for Dynamic Report Generation in R. R package version 1.43. 2023. URL: https://yihui.org/knitr/.