[
  {
    "objectID": "index.html",
    "href": "index.html",
    "title": "Orchestrating Microbiome Analysis",
    "section": "",
    "text": "Overview",
    "crumbs": [
      "Overview"
    ]
  },
  {
    "objectID": "index.html#sec-building-oma",
    "href": "index.html#sec-building-oma",
    "title": "Orchestrating Microbiome Analysis",
    "section": "Building OMA book",
    "text": "Building OMA book\nThis book is automatically built to ensure that all code examples are functional. See Session info for details.\nIn addition to accessing this book online, you can copy and paste the executable code examples to run on your local computer. For package installation instructions, refer to Package ecosystem. You can also build and view the entire book locally by following the steps provided here, or use Docker image Docker image.",
    "crumbs": [
      "Overview"
    ]
  },
  {
    "objectID": "pages/intro.html",
    "href": "pages/intro.html",
    "title": "1  Microbiome data science in Bioconductor",
    "section": "",
    "text": "1.1 Bioconductor\nThis work - Orchestrating Microbiome Analysis with Bioconductor (Tuomas Borman et al. 2026) - contributes novel methods and educational resources for microbiome data science. It aims to teach the grammar of Bioconductor workflows in the context of microbiome data science. We show, through concrete examples, how to use the latest developments and data analytical strategies in R/Bioconductor for the manipulation, analysis, and reproducible reporting of hierarchical, heterogeneous, and multi-modal microbiome profiling data. The data science methodology is tightly integrated with the broader R/Bioconductor ecosystem. The support for modularity and interoperability is key to efficient resource sharing and collaborative development both within and across research fields.\nBioconductor is a project that focuses on the development of high-quality open research software for life sciences (Gentleman et al. 2004; Huber et al. 2015). The software packages are primarily coded in R, and they undergo continuous testing and peer review to ensure high quality.\nCentral to the software in Bioconductor are data containers, which provide a structured presentation of data. A data container consists of slots that are dedicated to certain type of data, for example, to abundance table and sample metadata. Biological data is often complex and multidimensional, making data containers particularly beneficial. There are several key advantages to using data containers:\nThe most common data container in Bioconductor is SummarizedExperiment. It is further expanded to fulfill needs of certain application field. SummarizedExperiment and its derivatives, have already been widely adopted in microbiome research, single cell sequencing, and in other fields, allowing rapid adoption and the extension of emerging data science techniques across application domains. See Section 2.1 for more details on how to handle data containers from the SummarizedExperiment family.\nThe Bioconductor microbiome data science framework consists of:",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>Microbiome data science in Bioconductor</span>"
    ]
  },
  {
    "objectID": "pages/intro.html#sec-bioconductor",
    "href": "pages/intro.html#sec-bioconductor",
    "title": "1  Microbiome data science in Bioconductor",
    "section": "",
    "text": "Gentleman, Robert C, Vincent J Carey, Douglas M Bates, Ben Bolstad, Marcel Dettling, Sandrine Dudoit, Byron Ellis, et al. 2004. “Bioconductor: Open Software Development for Computational Biology and Bioinformatics.” Genome Biology 5: R80.\n\nHuber, W., V. J. Carey, R. Gentleman, S. Anders, M. Carlson, B. S. Carvalho, H. C. Bravo, et al. 2015. “Orchestrating High-Throughput Genomic Analysis with Bioconductor.” Nature Methods 12 (2): 115–21. http://www.nature.com/nmeth/journal/v12/n2/full/nmeth.3252.html.\n\n\nBioconductor logo.\n\n\n\n\nEase of handling: Data subsetting and bookkeeping become more straightforward.\n\nDevelopment efficiency: Developers can create efficient methods, knowing the data will be in a consistent format.\n\nUser accessibility: Users can easily apply complex methods to their data.\n\n\n\n\n\nData containers, designed to organize multi-assay microbiome data\n\nR/Bioconductor packages that provide dedicated methods\n\nCommunity of users and developers\n\n\n\nData containers are central in Bioconductor.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>Microbiome data science in Bioconductor</span>"
    ]
  },
  {
    "objectID": "pages/intro.html#sec-microbiome-bioc",
    "href": "pages/intro.html#sec-microbiome-bioc",
    "title": "1  Microbiome data science in Bioconductor",
    "section": "\n1.2 Microbiome data science in Bioconductor",
    "text": "1.2 Microbiome data science in Bioconductor\nWhile microbiota is used to refer micro-organisms within well-specified area, microbiome means microbiota and their genetic material (Marchesi and Ravel 2015). Because the complex nature of the microbiome data, computational methods are essential in microbiome research.\n\nMarchesi, Julian R., and Jacques Ravel. 2015. “The Vocabulary of Microbiome Research: A Proposal.” Microbiome 3 (1). https://doi.org/10.1186/s40168-015-0094-5.\n\nMcMurdie, PJ, and S Holmes. 2013. “Phyloseq: An r Package for Reproducible Interactive Analysis and Graphics of Microbiome Census Data.” PLoS ONE 8: e61217. https://doi.org/10.1371/journal.pone.0061217.\nThe phyloseq data container has been dominant in the microbiome field within Bioconductor over the past decade (McMurdie and Holmes 2013). However, the data container no longer adequately meets the needs of current research, as it was originally developed for 16S sequencing data. For instance, incorporating diverse multi-omics datasets has become increasingly common.\nAn optimal data container should efficiently store and manage large volumes of data, including modified or transformed copies of different measurements. Furthermore, it should seamlessly integrate into the broader ecosystem of Bioconductor, minimizing duplication of effort and facilitating interoperability with other tools and packages.\n\n\nOptimal data container.\n\nTreeSummarizedExperiment was developed to address these requirements (Huang et al. 2021). The miaverse framework was subsequently built around the TreeSummarizedExperiment data container Chapter 2.\n\nHuang, Ruizhu, Charlotte Soneson, Felix G. M. Ernst, et al. 2021. “TreeSummarizedExperiment: A S4 Class for Data with Hierarchical Structure [Version 2; Peer Review: 3 Approved].” F1000Research 9: 1246. https://doi.org/10.12688/f1000research.26669.2.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>Microbiome data science in Bioconductor</span>"
    ]
  },
  {
    "objectID": "pages/intro.html#sec-open-data",
    "href": "pages/intro.html#sec-open-data",
    "title": "1  Microbiome data science in Bioconductor",
    "section": "\n1.3 Open data science",
    "text": "1.3 Open data science\nOpen data science emphasizes sharing code and, where feasible, data alongside results (Shetty and Lahti 2019). Utilizing Bioconductor tools facilitates the development of efficient and reproducible data science workflows. Enhanced transparency in research accelerates scientific progress. As open science is a fundamental concept in microbiome research, this book aims to educate readers about reproducible reporting practices.\n\nShetty, Sudarshan, and Leo Lahti. 2019. “Microbiome Data Science.” Journal of Biosciences 44: 115. https://doi.org/10.1007/s12038-019-9930-2.\n\n\n\n\n\n\nTipSummary\n\n\n\n\nBioconductor is a large ecosystem for bioinformatics.\nData containers are fundamental in Bioconductor.\n\nSummarizedExperiment is the most common data container in Bioconductor.\n\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nExercise 1: Introduction to Bioconductor\nGoal: Learn how to navigate Bioconductor website and get an idea of the available packages.\n\nGo to the Bioconductor website.\nNavigate to “Packages” section.\nSearch for packages with the biocViews category “microbiome”. How many different packages are available?\nLook up the mia package. What is its current version? Is it released or devel version?\nLocate the mia package’s Reference Manual. When was it last updated?\n\n\nReproducible reporting with Quarto\nBefore starting, read the Quarto guidelines for RStudio. This will help you understand the basics.\nExercise 2: Creating a Quarto Document\nGoal: Learn how to create a Quarto document, add text, and structure content with Markdown.\n\nOpen RStudio and create a new Quarto file.\nIn the YAML metadata section at the top, change title: Untitled to title: \"My First Quarto\".\nAdd a section with the heading # My first section and write a short paragraph underneath.\n\nAdd a subsection ## List of items and create:\n\nAn ordered list (e.g., 1. First item)\nAn unordered list (e.g., - Bullet point)\n\n\nAdd another subsection ## Link to web and create a link to the OMA book using [text](url).\nClick Render and check how your document looks.\n\nExpected Outcome: A properly structured Quarto document with headings, lists, and a clickable link.\nExercise 3: Adding code chunks\nGoal: Learn how to integrate R code within a Quarto document.\n\nOpen RStudio and create a new Quarto file.\nInsert a code chunk by pressing Alt + Cmd + I (Mac) or Ctrl + Alt + I (Windows, Linux) or from the navigation bar.\n\nInside the chunk, define:\nA &lt;- \"my name\"\nB &lt;- 0\n\nAbove the chunk, write: Below is my first code chunk.\n\nInsert another chunk below and modify B:\nB &lt;- B + 100\n\nAdd a name for this the chunk: Below I change variable B.\nDisplay A and B dynamically in text using inline R code. For example, you can write “My name is A and I have B dogs”, where A and B are the variables above thus automatically updating the text based on their values.\n\nExpected Outcome: Rendered document showing code execution, and dynamic text updates.\nExercise 4: Customizing code chunk output\nGoal: Learn to control visibility and formatting of code chunks.\n\nCreate a new Quarto file.\nInsert three labeled code chunks (first_chunk, fig-box, tbl-coldata).\n\nCopy-paste the following code:\n#| label: first_chunk\n#| code-fold: true\n#| code-summary: \"Show the code\"\nx &lt;- 1:10\ny &lt;- x^2\n#| label: fig-box\n#| fig-width: 10\nplot(x, y)\n#| label: tbl-coldata\n#| echo: false\ndata.frame(x, y)\n\n\nRender and observe:\n\nThe code of first chunk is folded.\nThe figure is wider.\nThe table appears without showing its generating code.\n\n\nAdd fig-cap and tbl-cap options.\nCross-reference the figure using @fig-box.\n\nExpected Outcome: Cleaner output with formatted figures and tables.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>Microbiome data science in Bioconductor</span>"
    ]
  },
  {
    "objectID": "pages/miaverse.html",
    "href": "pages/miaverse.html",
    "title": "2  miaverse",
    "section": "",
    "text": "2.1 Data containers\nThis chapter provides an overview of the miaverse ecosystem. Section 2.1 aims to describe the relationship between data containers utilized in miaverse. Section 2.2 details the packages involved, while Section 2.3 provides guidance on installing these packages.\nmiaverse (MIcrobiome Analysis uniVERSE) is an actively developed R/Bioconductor framework for microbiome downstream analysis. It becomes particularly relevant when working with abundance tables derived from sequencing data, whether from shotgun metagenomics or 16S rRNA sequencing. Before utilizing miaverse, sequencing data must undergo preprocessing to convert raw sequence reads into abundance tables.\nmiaverse consists of multiple R/Bioc packages and this online book that you are reading. The idea is not only to offer tools for microbiome downstream analysis but also to serve as a resource for valuable insights, offering guidance on conducting microbiome data analysis and developing effective microbiome data science workflows.\nThe key concept of miaverse lies in its utilization of SummarizedExperiment-based data containers. This design choice enhances interoperability and versatility within the broader Bioconductor framework, facilitating access to an expanding array of tools. In practice, this approach allows for the integration of promising methods from related fields, such as single-cell sequencing.\nAs discussed, miaverse is built upon TreeSummarizedExperiment (TreeSE) data container. TreeSE is expanded from SingleCellExperiment (SCE) by incorporating additional slots tailored for microbiome analysis. The SCE class is designed for single-cell sequencing (Lun and Risso 2020). Bioconductor offers wide variety of tools for this field including online book Orchestrating Single-Cell Analysis in Bioconductor (OSCA) (Amezquita et al. 2020). SCE, on the other hand, is further derived from the SummarizedExperiment (SE) class. This hierarchical relationship among data containers means that all methods applicable to SCE and SE objects can also be applied to TreeSE) objects.\nSummarizedExperiment is extended to SingleCellExperiment and it is further extended to TreeSummarizedExperiment.\nMultiAssayExperiment (MAE) (Ramos et al. 2017) provides an organized way to bind several different data containers together in a single object. For example, we can bind microbiome data (in TreeSE container) with metabolomic profiling data (in SE) container, with (partially) shared sample metadata. This is convenient and robust for instance, in subsetting and other data manipulation tasks. Microbiome data can be part of multiomics experiments and analysis strategies. We highlight how the methods used throughout in this book relate to this data framework by using the TreeSE, MAE, and classes beyond.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>miaverse</span>"
    ]
  },
  {
    "objectID": "pages/miaverse.html#sec-data-containers",
    "href": "pages/miaverse.html#sec-data-containers",
    "title": "2  miaverse",
    "section": "",
    "text": "Amezquita, Robert, Aaron Lun, Stephanie Hicks, and Raphael Gottardo. 2020. Orchestrating Single-Cell Analysis with Bioconductor. Bioconductor. https://bioconductor.org/books/release/OSCA/.\n\nSummarizedExperiment (SE) (Morgan et al. 2020) is a generic and highly optimized container for complex data structures. It has become a common choice for analyzing various types of biomedical profiling data, such as RNAseq, ChIp-Seq, microarrays, flow cytometry, proteomics, and single-cell sequencing.\nSingleCellExperiment (SCE) (Lun and Risso 2020) was developed as an extension to store copies of data to same data container.\nTreeSummarizedExperiment (TreeSE) (R. Huang 2020) was developed as an extension to incorporate hierarchical information (such as phylogenetic trees and sample hierarchies) and reference sequences.\n\n\nMorgan, Martin, Valerie Obenchain, Jim Hester, and Hervé Pagès. 2020. SummarizedExperiment: SummarizedExperiment Container. https://bioconductor.org/packages/SummarizedExperiment.\n\nLun, Aaron, and Davide Risso. 2020. SingleCellExperiment: S4 Classes for Single Cell Data.\n\nHuang, Ruizhu. 2020. TreeSummarizedExperiment: A S4 Class for Data with Tree Structures.\n\n\n\nRamos, Marcel, Lucas Schiffer, Angela Re, Rimsha Azhar, Azfar Basunia, Carmen Rodriguez Cabrera, Tiffany Chan, et al. 2017. “Software for the Integration of Multiomics Experiments in Bioconductor.” Cancer Research. https://doi.org/10.1158/0008-5472.CAN-17-0344.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>miaverse</span>"
    ]
  },
  {
    "objectID": "pages/miaverse.html#sec-packages",
    "href": "pages/miaverse.html#sec-packages",
    "title": "2  miaverse",
    "section": "\n2.2 Package ecosystem",
    "text": "2.2 Package ecosystem\nMethods for the(Tree)SummarizedExperiment and MultiAssayExperiment data containers are provided by multiple independent developers through R/Bioconductor packages. Some of these are listed below (tips on new packages are welcome).\nEspecially, Bioconductor packages include comprehensive manuals as they are required. Follow the links below to find package vignettes and other materials showing the utilization of packages and their methods.\n\n2.2.1 mia package family\nThe mia package family provides general methods for microbiome data wrangling, analysis and visualization.\n\n\nmia: Microbiome analysis tools (Borman et al. 2024)\n\n\nmiaViz: Microbiome analysis specific visualization (Borman, Ernst, and Lahti 2024)\n\n\nmiaSim: Microbiome data simulations (Simsek et al. 2021)\n\n\nmiaTime: Microbiome time series analysis (Lahti 2021)\n\n\nmiaDash: Interactive analysis and visualization (Benedetti and Lahti 2024)\n\n\nBorman, Tuomas, Felix G. M. Ernst, Sudarshan A. Shetty, and Leo Lahti. 2024. Mia: Microbiome Analysis. https://github.com/microbiome/mia.\n\nBorman, Tuomas, Felix G. M. Ernst, and Leo Lahti. 2024. miaViz: Microbiome Analysis Plotting and Visualization. https://github.com/microbiome/miaViz.\n\nSimsek, Yagmur, Leo Lahti, Daniel Garza, and Karoline Faust. 2021. “miaSim r Package.” microbiome.github.io/miaSim.\n\nLahti, L. 2021. miaTime: Time Series Analysis.\n\nBenedetti, Giulio, and Leo Lahti. 2024. miaDash: Shiny app for interactive analysis and exploration of microbiome data. https://github.com/microbiome/miaDash.\n\n2.2.2 SE supporting packages\nThe following methods support (Tree)SummarizedExperiment.\n\n\nALDEx2 (Gloor, Macklaim, and Fernandes 2016) for differential abundance analysis\n\nampliseq (Straub et al. 2020) for amplicon sequencing analysis workflow using DADA2 and QIIME2\n\nANCOMBC (Lin and Peddada 2020) for differential abundance analysis\n\nbenchdamic (Calgaro et al. 2022) for benchmarking differential abundance methods\n\ncuratedMetagenomicData contains standardized curated human microbiome data for novel analyses.\n\nDESeq2 (Love, Huber, and Anders 2014) for differential gene expression analysis\n\nHoloFoodR for interfacing EBI HoloFood resource\n\nIntegratedLearner for multiomics classification and prediction\n\niSEEtree (Benedetti et al. 2025) for interactive visualization of hierarchical data\n\nlefser (Khleborodova et al. 2024) for metagenomic biomarker discovery\n\nLimROTS for differential expression analysis for proteomics and metabolomics\n\nmaaslin3 (Nickols et al. 2026) for differential abundance analysis\n\nMGnifyR for accessing and processing MGnify data in R\n\nMGnify Notebooks\nEMBL-EBI MGnify user guides and resources\n\n\n\nmicrobiomeDataSets contains microbiome datasets loaded from Bioconductor’s ExperimentHub infrastructure\n\nMOFA2 (Argelaguet et al. 2018) for multi-omics factor analysis\n\nNetCoMi for network construction and Comparison\n\nradEmu (Clausen, Teichman, and Willis 2025) for differential abundance analysis\n\ntidySingleCellExperiment and tidySummarizedExperiment for data manipulation methods utilizing tidy paradigm\n\nGloor, Gregory B., Jean M. Macklaim, and Andrew D. Fernandes. 2016. “Displaying Variation in Large Datasets: Plotting a Visual Summary of Effect Sizes.” Journal of Computational and Graphical Statistics 25 (3): 971–79. https://doi.org/10.1080/10618600.2015.1131161.\n\nStraub, Daniel, Nia Blackwell, Adrian Langarica-Fuentes, Alexander Peltzer, Sven Nahnsen, and Sara Kleindienst. 2020. “Interpretations of Environmental Microbial Community Studies Are Biased by the Selected 16S rRNA (Gene) Amplicon Sequencing Pipeline.” Frontiers in Microbiology 11. https://doi.org/10.3389/fmicb.2020.550420.\n\nLin, Huang, and Shyamal Das Peddada. 2020. “Analysis of Compositions of Microbiomes with Bias Correction.” Nature Communications 11 (1): 1–11. https://doi.org/https://doi.org/10.1038/s41467-020-17041-7.\n\nCalgaro, Matteo, Chiara Romualdi, Davide Risso, and Nicola Vitulo. 2022. “Benchdamic: Benchmarking of Differential Abundance Methods for Microbiome Data.” Bioinformatics 39 (1). https://doi.org/10.1093/bioinformatics/btac778.\n\nLove, Michael, Wolfgang Huber, and Simon Anders. 2014. “Moderated Estimation of Fold Change and Dispersion for RNA-Seq Data with DESeq2.” Genome Biol 15 (December): 550. https://doi.org/10.1186/s13059-014-0550-8.\n\nBenedetti, Giulio, Ely Seraidarian, Theotime Pralas, Akewak Jeba, Tuomas Borman, and Leo Lahti. 2025. “iSEEtree: Interactive Explorer for Hierarchical Data.” Bioinformatics Advances 5 (1): vbaf107. https://doi.org/10.1093/bioadv/vbaf107.\n\nKhleborodova, Asya, Samuel D Gamboa-Tuz, Marcel Ramos, Nicola Segata, Levi Waldron, and Sehyun Oh. 2024. “lefser: implementation of metagenomic biomarker discovery tool, LEfSe, in R.” Bioinformatics 40 (12): btae707. https://doi.org/10.1093/bioinformatics/btae707.\n\nNickols, William A., Thomas Kuntz, Jiaxian Shen, Sagun Maharjan, Himel Mallick, Eric A. Franzosa, Kelsey N. Thompson, Jacob T. Nearing, and Curtis Huttenhower. 2026. “MaAsLin 3: Refining and Extending Generalized Multivariable Linear Models for Meta-Omic Association Discovery.” Nature Methods, January, 1–11. https://doi.org/10.1038/s41592-025-02923-9.\n\nArgelaguet, Ricard, Britta Velten, Damien Arnol, Sascha Dietrich, Thorsten Zenz, John C Marioni, Florian Buettner, Wolfgang Huber, and Oliver Stegle. 2018. “Multi‐Omics Factor Analysis—a framework for unsupervised integration of multi‐omics data sets.” Molecular Systems Biology 14 (6): e8124. https://doi.org/https://doi.org/10.15252/msb.20178124.\n\nClausen, David S, Sarah Teichman, and Amy D Willis. 2025. “Estimating Fold Changes from Partially Observed Outcomes with Applications in Microbial Metagenomics.” https://arxiv.org/abs/2402.05231.\n\n2.2.3 Other relevant packages\n\n\ndar for differential abundance testing\n\nMicrobiomeStat, specifically the LinDA method for differential abundance analysis (Zhou et al. 2022)\n\n\nMicrobiotaProcess (Xu et al. 2023) framework for the “tidy” analysis of microbiome and other ecological data\n\nmicroeco (Liu et al. 2020) microbiome analysis framework\n\nmicroSTASIS (Sánchez-Sánchez, Santonja, and Benítez-Páez 2022) for microbiota stability assessment via iterative clustering\n\nphilr (Silverman et al. 2017) phylogeny-aware phILR transformation\n\nPLSDAbatch (Wang and Lê Cao 2023) for batch effect correction\n\ntreeclimbR (S. Huang Ruizhu 2021) for finding optimal signal levels in a tree\n\nvegan (Oksanen et al. 2020) for community ecologists\n\nTools for Microbiome Analysis site listed over 130 R packages for microbiome data science in 2023. Many of these are not in Bioconductor, or do not directly support the data containers used in this book but can be often used with minor modifications. The phyloseq-based tools can be used by converting the TreeSE data into phyloseq with convertToPhyloseq() (see Chapter 5).\n\nZhou, Huijuan, Kejun He, Jun Chen, and Xianyang Zhang. 2022. “LinDA: Linear Models for Differential Abundance Analysis of Microbiome Compositional Data.” Genome Biology 23 (1): 95. https://doi.org/10.1186/s13059-022-02655-5.\n\nXu, Shuangbin, Li Zhan, Wenli Tang, Qianwen Wang, Zehan Dai, Lang Zhou, Tingze Feng, et al. 2023. “MicrobiotaProcess: A Comprehensive R Package for Deep Mining Microbiome.” The Innovation 4 (2): 100388. https://doi.org/10.1016/j.xinn.2023.100388.\n\nLiu, Chi, Yaoming Cui, Xiangzhen Li, and Minjie Yao. 2020. “Microeco: An r Package for Data Mining in Microbial Community Ecology.” FEMS Microbiology Ecology 97 (2). https://doi.org/10.1093/femsec/fiaa255.\n\nSánchez-Sánchez, Pedro, Francisco J Santonja, and Alfonso Benítez-Páez. 2022. “Assessment of Human Microbiota Stability Across Longitudinal Samples Using Iteratively Growing-Partitioned Clustering.” Briefings in Bioinformatics 23 (2): bbac055. https://doi.org/10.1093/bib/bbac055.\n\nSilverman, Justin D, Alex D Washburne, Sayan Mukherjee, and Lawrence A David. 2017. “A Phylogenetic Transform Enhances Analysis of Compositional Microbiota Data.” eLife 6. https://doi.org/10.7554/eLife.21887.\n\nWang, Yiwen, and Kim-Anh Lê Cao. 2023. “PLSDA-batch: A Multivariate Framework to Correct for Batch Effects in Microbiome Data.” Briefings in Bioinformatics 24 (2): bbac622. https://doi.org/10.1093/bib/bbac622.\n\nHuang, Soneson, Ruizhu. 2021. “treeclimbR Pinpoints the Data-Dependent Resolution of Hierarchical Hypotheses.” Genome Biology 22 (2). https://doi.org/10.1186/s13059-021-02368-1.\n\nOksanen, Jari, F. Guillaume Blanchet, Michael Friendly, Roeland Kindt, Pierre Legendre, Dan McGlinn, Peter R. Minchin, et al. 2020. Vegan: Community Ecology Package. https://CRAN.R-project.org/package=vegan.\n\n2.2.4 Open microbiome data\nHundreds of published microbiome datasets are readily available in these data containers (see Section 4.2).",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>miaverse</span>"
    ]
  },
  {
    "objectID": "pages/miaverse.html#sec-installation",
    "href": "pages/miaverse.html#sec-installation",
    "title": "2  miaverse",
    "section": "\n2.3 Installation",
    "text": "2.3 Installation\n\n2.3.1 Installing specific packages\nYou can install R packages of your choice with the following procedures.\nBioconductor release version is the most stable and tested version but may miss some of the latest methods and updates.\n\nBiocManager::install(\"microbiome/mia\")\n\nBioconductor development version requires the installation of the latest R beta version. This is primarily recommended for those who already have experience with R/Bioconductor and need access to the latest updates.\n\nlibrary(BiocManager)\ninstall(\"microbiome/mia\", version = \"devel\")\n\nGithub development version provides access to the latest but potentially unstable features. This is useful when you want access to all available tools.\n\nlibrary(remotes)\ninstall_github(\"microbiome/mia\")\n\n\n2.3.2 Install key packages\nInstalling the core packages listed below is sufficient for training sessions and courses, as they provide the essential functionality required to run common tasks and most example workflows. You can then install additional packages as needed, depending on the specific requirements of your analysis.\nLet us first define a script to install packages.\n\ninstall_packages &lt;- function(pkg) {\n    # Get packages that are already installed installed\n    pkg_installed &lt;- pkg[pkg %in% installed.packages()]\n\n    # Get packages that need to be installed\n    pkg_to_install &lt;- setdiff(pkg, pkg_installed)\n\n    # Loads BiocManager into the session. Install it if it not already\n    # installed.\n    if (!require(\"BiocManager\")) {\n        install.packages(\"BiocManager\")\n        library(\"BiocManager\")\n    }\n\n    # If there are packages that need to be installed, installs them with\n    # BiocManager.\n    if (length(pkg_to_install) &gt; 0) {\n        install(pkg_to_install, ask = FALSE)\n    }\n\n    # Load all packages into session. Stop if there are packages that were not\n    # successfully loaded.\n    pkgs_not_loaded &lt;- !sapply(pkg, require, character.only = TRUE)\n    pkgs_not_loaded &lt;- names(pkgs_not_loaded)[pkgs_not_loaded]\n    if (length(pkgs_not_loaded) &gt; 0) {\n        stop(\n            \"Error in loading the following packages into the session: '\",\n            paste0(pkgs_not_loaded, collapse = \"', '\"), \"'\"\n        )\n    }\n    return(TRUE)\n}\n\nThe core packages include mia, miaViz, maaslin3 (for differential abundance), and mikropml (for supervised ML).\n\npkgs &lt;- c(\"mia\", \"miaViz\", \"maaslin3\", \"mikropml\")\ninstall_packages(pkgs)\n##  [1] TRUE\n\n\n2.3.3 Installing all packages\nYou can install all packages that are required to run every example in this book via the following command:\n\nlibrary(remotes)\ninstall_github(\"microbiome/OMA\", dependencies = TRUE, upgrade = TRUE)\n\nOptionally, you can install all packages or just certain ones with the following script.\n\n# URL of the raw CSV file on GitHub. It includes all packages needed.\nurl &lt;- \"https://raw.githubusercontent.com/microbiome/OMA/devel/oma_packages/oma_packages.csv\"\n\n# Read the CSV file directly into R\ndf &lt;- read.csv(url)\npackages &lt;- df[[1]]\n\n# Install packages\ninstall_packages(packages)\n\n\n2.3.4 Docker container\nInstalling all the packages might take some time, and sometimes there can be some troubles. To get quickly access to all packages, you might want to consider loading the Docker image. You can find more information from Section C.1.\n\n2.3.5 Troubleshoot in installing\nIf you encounter installation issue related to package dependencies please see the troubleshoot page here and Chapter 24.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>miaverse</span>"
    ]
  },
  {
    "objectID": "pages/miaverse.html#sec-webapp",
    "href": "pages/miaverse.html#sec-webapp",
    "title": "2  miaverse",
    "section": "\n2.4 Interactive analysis",
    "text": "2.4 Interactive analysis\nWe also provide the Microbiome Analysis Dashboard (miaDash), a web app to interactively explore microbiome data through an intuitive Graphical User Interface (GUI). The app features a large part of the mia functionality and does not require any knowledge of R programming. This way, beginners can practice and learn the concepts of microbiome analysis while free from technical burdens. The app is hosted online at this address by the Finnish IT Center for Science (CSC). Feature requests and bug reports can be submitted here.\n\n\n\n\n\n\nTipSummary\n\n\n\n\n\nTreeSummarizedExperiment is derived from SummarizedExperiment class.\n\nmiaverse is based on TreeSummarizedExperiment data container.\nWe can borrow methods from packages utilizing SingleCellExperiment and SummarizedExperiment.\n\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: Learn related packages and resources.\nExercise 1: Introduction to miaverse\n\nHow are SummarizedExperiment, SingleCellExperiment and TreeSummarizedExperiment related?\nGo and explore this CSV file. Which packages have you already used? Which packages are new to you?\nSearch each package from internet. What tools does each package offer?\nGo to the discussion forum. Here you can get help and ask questions if you come up with one.\nVisit Chapter 25 for additional resources.",
    "crumbs": [
      "Introduction",
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>miaverse</span>"
    ]
  },
  {
    "objectID": "pages/containers.html",
    "href": "pages/containers.html",
    "title": "3  Data containers",
    "section": "",
    "text": "3.1 Structure of TreeSE\nThis section provides an introduction to the TreeSummarizedExperiment (TreeSE) and MultiAssayExperiment (MAE) data containers introduced in Section 1.2. In microbiome data science, these containers link taxonomic abundance tables with rich side information on the features and samples.\nOne key advantage of the SummarizedExperiment ecosystem is its flexibility and generalizability. While taxonomic features remain central in microbiome studies, there is growing interest in analyzing and integrating diverse types of features. These may include:\nIn addition, these data tables often exist in multiple versions, derived through transformations or agglomerations. We start by providing recommendations on how to represent different varieties of multi-table data within the TreeSE class. The options and recommendations are summarized in Table 3.1.\nTreeSE contains several distinct slots, each holding a specific type of data. The assays slot is the core of TreeSE, storing abundance tables that contain the counts or concentrations of features in each sample. Features can be taxonomic, metabolomic, antimicrobial resistance genes, or other measured entities, and are represented as rows. The columns correspond to unique samples.\nBuilding upon the assays, TreeSE accommodates various data types for both features and samples. In rowData, the rows correspond to the same features (rows) as in the abundance tables, while the columns represent variables such as taxonomy ranks. Similarly, in colData, each row matches the samples (columns) from the abundance tables, with the columns of colData containing metadata like disease status or patient ID and time point if the dataset includes time series.\nThe slots in TreeSE are outlined below:\nThese slots are illustrated in the figure below:\nAdditionally, TreeSE includes:\nAmong these, assays, rowData, colData, and metadata are shared with the SummarizedExperiment (SE) data container. reducedDim and altExp come from inheriting the SingleCellExperiment (SCE) class. The rowTree, colTree, rowLinks, colLinks, and referenceSeq slots are unique to TreeSE.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#structure-of-treese",
    "href": "pages/containers.html#structure-of-treese",
    "title": "3  Data containers",
    "section": "",
    "text": "assays: Stores a list of abundance tables. Each table has consistent rows and columns, where rows represent features and columns represent samples.\n\nrowData: Contains metadata about the rows (features). For example, this slot can include a taxonomy table.\n\ncolData: Holds metadata about the columns (samples), such as patient information or the time points when samples were collected.\n\nrowTree: Stores a hierarchical tree for the rows, such as a phylogenetic tree representing the relationships between features.\n\ncolTree: Includes a hierarchical tree for the columns, which can represent relationships between samples, for example, indicating whether patients are relatives and the structure of those relationships.\n\nrowLinks: Contains information about the linkages between rows and the nodes in the rowTree.\n\ncolLinks: Contains information about the linkages between columns and the nodes in the colTree.\n\nreferenceSeq: Holds reference sequences, i.e., the sequences that correspond to each taxon identified in the rows.\n\nmetadata: Contains metadata about the experiment, such as the date it was conducted and the researchers involved.\n\n\n\n\nThe structure of a TreeSummarizedExperiment (TreeSE) object (Huang et al. 2021).\nHuang, Ruizhu, Charlotte Soneson, Felix G. M. Ernst, et al. 2021. “TreeSummarizedExperiment: A S4 Class for Data with Hierarchical Structure [Version 2; Peer Review: 3 Approved].” F1000Research 9: 1246. https://doi.org/10.12688/f1000research.26669.2.\n\n\n\n\n\nreducedDim: Contains reduced dimensionality representations of the samples, such as Principal Component Analysis (PCA) results (see Chapter 14).\n\naltExp: Stores alternative experiments, which are TreeSE objects sharing the same samples but with different feature sets.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#sec-rows-and-cols",
    "href": "pages/containers.html#sec-rows-and-cols",
    "title": "3  Data containers",
    "section": "\n3.2 Rows and columns",
    "text": "3.2 Rows and columns\nLet us load example data and store it in variable tse.\n\nlibrary(mia)\ndata(\"GlobalPatterns\", package = \"mia\")\ntse &lt;- GlobalPatterns\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 19216 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nThe TreeSE object, similar to a standard data.frame or matrix, has rows and columns. Typically, samples are stored in columns, while features are stored in rows. You can extract subsets of the data, such as the first five rows (first five features) and certain three columns (certain three samples). The object manages the linkages between data (e.g., the assay data and the sample metadata), ensuring that when you subset the data object, all its parts are subsetted simultaneously, such that they remain matched with each other.\n\ntse &lt;- tse[1:5, c(1, 19, 16)]\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 5 3 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(5): 549322 522457 951 244423 586076\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(3): CL3 TRRsed1 NP2\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (5 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nCompared to the original data the dimensions are for rows and columns 5 and 3, respectively.\n\n\n\n\n\n\nNoteNote\n\n\n\nSummarizedExperiment objects have rows and columns. Also MultiAssayExperiment, introduced in Section 3.8, have rows and columns but the structure is more complicated. You can find more examples on subsetting from Chapter 9.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#sec-assay-slot",
    "href": "pages/containers.html#sec-assay-slot",
    "title": "3  Data containers",
    "section": "\n3.3 Assay data",
    "text": "3.3 Assay data\nWhen studying microbiomes, the primary type of data is in the form of abundance of given microbes in given samples. This sample per feature table forms the core of the TreeSE object, called the ‘assay data’.\nAn assay is a measurement of the presence and abundance of different taxonomic features in a sample. The assay data records this in a table where rows are unique features and columns are unique samples and each entry contain a number describing the amount a given feature is present in a given sample. Note that when storing assays, the original data is count-based. However, due to the nature of how microbiome data is produced, these count-based abundances rarely reflect the true counts of features in the sample, and thus the abundance tables often undergo different transformations, such as logarithmic, Centered Log-Ratio (CLR), or relative abundance to make these abundance values comparable with each other. See Chapter 11 for more information on transformations.\nThe microbial abundance tables are stored in assays. The assays slot contains the abundance data as multiple count matrices. The result of assays is a list of matrices.\n\nassays(tse)\n##  List of length 1\n##  names(1): counts\n\nIndividual assays can be accessed via assay.\n\nassay(tse, \"counts\") |&gt; head()\n##         CL3 TRRsed1 NP2\n##  549322   0       0   1\n##  522457   0       0   0\n##  951      0       0   0\n##  244423   0       0   0\n##  586076   0       0   0\n\nIn summary, in the world of microbiome analysis, an assay is essentially a way to describe the composition of microbes in a given sample. This way we can summarize the microbiome profile of a human gut or a sample of soil.\nFurthermore, to illustrate the use of multiple assays, we can create an empty matrix and add it to the object.\n\nmat &lt;- matrix(nrow = nrow(tse), ncol = ncol(tse))\nassay(tse, \"empty_table\", withDimnames = FALSE) &lt;- mat\nassays(tse)\n##  List of length 2\n##  names(2): counts empty_table\n\nNow there are two assays available in the tse object, counts and empty_table.\n\nassay(tse, \"empty_table\") |&gt; head()\n##         CL3 TRRsed1 NP2\n##  549322  NA      NA  NA\n##  522457  NA      NA  NA\n##  951     NA      NA  NA\n##  244423  NA      NA  NA\n##  586076  NA      NA  NA\n\nHere the dimension of the assay data remains unchanged. This is, in fact, a requirement for the assays.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#coldata",
    "href": "pages/containers.html#coldata",
    "title": "3  Data containers",
    "section": "\n3.4 colData",
    "text": "3.4 colData\ncolData contains information about the samples used in the study. This sample metadata can include details such as the sample ID, the primers used in the analysis, the barcodes associated with the sample (truncated or complete), the type of sample (e.g. soil, fecal, mock) and a description of the sample.\n\ncolData(tse)\n##  DataFrame with 3 rows and 7 columns\n##          X.SampleID   Primer Final_Barcode Barcode_truncated_plus_T\n##            &lt;factor&gt; &lt;factor&gt;      &lt;factor&gt;                 &lt;factor&gt;\n##  CL3        CL3      ILBC_01        AACGCA                   TGCGTT\n##  TRRsed1    TRRsed1  ILBC_22        ACATGT                   ACATGT\n##  NP2        NP2      ILBC_19        ACAGTT                   AACTGT\n##          Barcode_full_length         SampleType\n##                     &lt;factor&gt;           &lt;factor&gt;\n##  CL3             CTAGCGTGCGT Soil              \n##  TRRsed1         CACGTGACATG Sediment (estuary)\n##  NP2             TCGCGCAACTG Ocean             \n##                                       Description\n##                                          &lt;factor&gt;\n##  CL3     Calhoun South Carolina Pine soil, pH 4.9\n##  TRRsed1 Tijuana River Reserve, depth 1          \n##  NP2     Newport Pier, CA surface water, Time 1\n\nTo illustrate, X.SampleID gives the sample identifier, SampleType indicates the sample type (e.g. soil, fecal matter, control) and Description provides an additional description of the sample.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#sec-rowData",
    "href": "pages/containers.html#sec-rowData",
    "title": "3  Data containers",
    "section": "\n3.5 rowData",
    "text": "3.5 rowData\nrowData contains data on the features, such as taxonomic features of the analyzed samples. This is particularly important in the microbiome field for storing taxonomic information, such as the Species, Genus or Family of the different microorganisms present in samples. This taxonomic information is extremely important for understanding the composition and diversity of the microbiome in each sample.\n\nrowData(tse)\n##  DataFrame with 5 rows and 7 columns\n##             Kingdom        Phylum        Class        Order        Family\n##         &lt;character&gt;   &lt;character&gt;  &lt;character&gt;  &lt;character&gt;   &lt;character&gt;\n##  549322     Archaea Crenarchaeota Thermoprotei           NA            NA\n##  522457     Archaea Crenarchaeota Thermoprotei           NA            NA\n##  951        Archaea Crenarchaeota Thermoprotei Sulfolobales Sulfolobaceae\n##  244423     Archaea Crenarchaeota        Sd-NA           NA            NA\n##  586076     Archaea Crenarchaeota        Sd-NA           NA            NA\n##               Genus                Species\n##         &lt;character&gt;            &lt;character&gt;\n##  549322          NA                     NA\n##  522457          NA                     NA\n##  951     Sulfolobus Sulfolobusacidocalda..\n##  244423          NA                     NA\n##  586076          NA                     NA",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#rowtree",
    "href": "pages/containers.html#rowtree",
    "title": "3  Data containers",
    "section": "\n3.6 rowTree",
    "text": "3.6 rowTree\nPhylogenetic trees play an important role in the microbiome field. Many times it is useful to know how closely related the taxonomic features present in the data are. For example, to calculate widely-used phylogenetically weighted microbiome dissimilarity metrics such as UniFrac, we need information on not only the presence and abundance of taxonomic features in each sample but also the evolutionary relatedness among these taxonomic features. The TreeSE class can keep track of relations among features via two functions, rowTree and rowLinks.\nA tree can be accessed via rowTree as phylo object.\n\nrowTree(tse)\n##  \n##  Phylogenetic tree with 19216 tips and 19215 internal nodes.\n##  \n##  Tip labels:\n##    549322, 522457, 951, 244423, 586076, 246140, ...\n##  Node labels:\n##    , 0.858.4, 1.000.154, 0.764.3, 0.995.2, 1.000.2, ...\n##  \n##  Rooted; includes branch length(s).\n\nEach row in TreeSE is linked to a specific node in a tree. This relationship is stored in the rowLinks slot, which has the same rows as TreeSE. The rowLinks slot contains information about which tree node corresponds to each row and whether the node is a leaf (tip) or an internal node, among other details.\n\nrowLinks(tse)\n##  LinkDataFrame with 5 rows and 5 columns\n##        nodeLab   nodeNum nodeLab_alias    isLeaf   whichTree\n##    &lt;character&gt; &lt;integer&gt;   &lt;character&gt; &lt;logical&gt; &lt;character&gt;\n##  1      549322         1       alias_1      TRUE       phylo\n##  2      522457         2       alias_2      TRUE       phylo\n##  3         951         3       alias_3      TRUE       phylo\n##  4      244423         4       alias_4      TRUE       phylo\n##  5      586076         5       alias_5      TRUE       phylo\n\nPlease note that there can be a 1:1 relationship between tree nodes and features; however, this is not required. This means there can be features that are not linked to nodes, and nodes that are not linked to features. To change the links in an existing object, the changeTree() function is available.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#sec-alt-exp",
    "href": "pages/containers.html#sec-alt-exp",
    "title": "3  Data containers",
    "section": "\n3.7 Alternative experiments",
    "text": "3.7 Alternative experiments\nAlternative experiments (altExp) complement assays. They can contain complementary data, which is no longer tied to the same dimensions as the assay data. However, the number of samples (columns) must be the same.\nThis can come into play, for instance, when one has taxonomic abundance profiles quantified using different measurement technologies, such as phylogenetic microarrays, amplicon sequencing, or metagenomic sequencing. Another common use case is including abundance tables for different taxonomic ranks. Such alternative experiments concerning the same set of samples can be stored as\n\nSeparate assays assuming that the taxonomic information can be mapped between features directly 1:1; or\nData in the altExp slot of the TreeSE, if the feature dimensions differ. Each element of the altExp slot is a SE or an object from a derived class with independent feature data.\n\nThe following shows how to store taxonomic abundance tables agglomerated at different taxonomic levels. However, the data could as well originate from entirely different measurement sources (e.g., 16S amplicon and metagenomic sequence data) as long as the samples match.\nLet us first subset the data so that it has only two rows.\n\ntse_sub &lt;- tse[1:2, ]\n\n# Both have the same number of columns (samples)\ndim(tse)\n##  [1] 5 3\ndim(tse_sub)\n##  [1] 2 3\n\nThen we can add the new data object as an alternative experiment in the original data.\n\n# Add the new data object to the original data object as an alternative\n# experiment with the specified name\naltExp(tse, \"subsetted\") &lt;- tse_sub\n\n# Retrieve and display the names of alternative experiments available\naltExpNames(tse)\n##  [1] \"subsetted\"\n\nNow, if we subset the data, this acts on both the altExp and the assay data.\n\ntse_single_sample &lt;- tse[, 1]\ndim(altExp(tse_single_sample, \"subsetted\"))\n##  [1] 2 1\n\nFor more details on altExp, you can check the introduction to the SingleCellExperiment package (Lun and Risso 2020).\n\nLun, Aaron, and Davide Risso. 2020. SingleCellExperiment: S4 Classes for Single Cell Data.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/containers.html#sec-mae",
    "href": "pages/containers.html#sec-mae",
    "title": "3  Data containers",
    "section": "\n3.8 Multiple experiments",
    "text": "3.8 Multiple experiments\nMultiple experiments relate to complementary measurement types from the same samples, such as transcriptomic or metabolomic profiling of the microbiome. Multiple experiments can be represented using the same options as alternative experiments, or by using the MAE class (Ramos et al. 2017). Depending on how the datasets relate to each other the data can be stored as:\n\n\naltExp if the samples can be matched directly 1:1; or\nAs MAE objects, in which the connections between samples are defined through a sampleMap. Each element on the ExperimentList of an MAE is matrix or matrix-like objects, including SE objects, and the number of samples can differ between the elements.\n\nIn a MAE, the “subjects” represent patients. The MAE has four main slots, with experiments being the core. This slot holds a list of experiments, each in (Tree)SE format. To handle complex mappings between samples (observations) across different experiments, the sampleMap slot stores information about how each sample in the experiments is linked to a patient. Metadata for each patient is stored in the colData slot. Unlike the colData in TreeSE, this colData is meant to store only metadata that remains constant throughout the trial.\n\n\nexperiments: Contains experiments, such as different omics data, in TreeSE format.\n\nsampleMap: Holds linkages between patients (subjects) and samples in the experiments (observations).\n\ncolData: Includes patient metadata that remains unchanged throughout the trial.\n\nThese slots are illustrated in the figure below:\n\n\nThe structure of MultiAssayExperiment (MAE) object (Ramos et al. 2017).\nRamos, Marcel, Lucas Schiffer, Angela Re, Rimsha Azhar, Azfar Basunia, Carmen Rodriguez Cabrera, Tiffany Chan, et al. 2017. “Software for the Integration of Multiomics Experiments in Bioconductor.” Cancer Research. https://doi.org/10.1158/0008-5472.CAN-17-0344.\n\n\nAdditionally, the object includes a metadata slot that contains information about the dataset, such as the trial period and the creator of the MAE object.\nThe MAE object can handle more complex relationships between experiments. It manages the linkages between samples and experiments, ensuring that the data remains consistent and well-organized.\n\ndata(\"HintikkaXOData\")\nmae &lt;- HintikkaXOData\nmae\n##  A MultiAssayExperiment object of 3 listed\n##   experiments with user-defined names and respective classes.\n##   Containing an ExperimentList class object of length 3:\n##   [1] microbiota: TreeSummarizedExperiment with 12706 rows and 40 columns\n##   [2] metabolites: TreeSummarizedExperiment with 38 rows and 40 columns\n##   [3] biomarkers: TreeSummarizedExperiment with 39 rows and 40 columns\n##  Functionality:\n##   experiments() - obtain the ExperimentList instance\n##   colData() - the primary/phenotype DataFrame\n##   sampleMap() - the sample coordination DataFrame\n##   `$`, `[`, `[[` - extract colData columns, subset, or experiment\n##   *Format() - convert into a long or wide DataFrame\n##   assays() - convert ExperimentList to a SimpleList of matrices\n##   exportClass() - save data to flat files\n\nThe sampleMap is a crucial component of the MAE object as it acts as an important bookkeeper, maintaining the information about which samples are associated with which experiments. This ensures that data linkages are correctly managed and preserved across different types of measurements.\n\nsampleMap(mae) |&gt; head()\n##  DataFrame with 6 rows and 3 columns\n##         assay     primary     colname\n##      &lt;factor&gt; &lt;character&gt; &lt;character&gt;\n##  1 microbiota          C1          C1\n##  2 microbiota          C2          C2\n##  3 microbiota          C3          C3\n##  4 microbiota          C4          C4\n##  5 microbiota          C5          C5\n##  6 microbiota          C6          C6\n\nFor illustration, let’s subset the data by taking first five samples.\n\nmae &lt;- mae[, 1:5, ]\nmae\n##  A MultiAssayExperiment object of 3 listed\n##   experiments with user-defined names and respective classes.\n##   Containing an ExperimentList class object of length 3:\n##   [1] microbiota: TreeSummarizedExperiment with 12706 rows and 5 columns\n##   [2] metabolites: TreeSummarizedExperiment with 38 rows and 5 columns\n##   [3] biomarkers: TreeSummarizedExperiment with 39 rows and 5 columns\n##  Functionality:\n##   experiments() - obtain the ExperimentList instance\n##   colData() - the primary/phenotype DataFrame\n##   sampleMap() - the sample coordination DataFrame\n##   `$`, `[`, `[[` - extract colData columns, subset, or experiment\n##   *Format() - convert into a long or wide DataFrame\n##   assays() - convert ExperimentList to a SimpleList of matrices\n##   exportClass() - save data to flat files\n\n\n\n\n\n\n\nNoteNote\n\n\n\nIf you have multiple experiments containing multiple measures from same sources (e.g., patients/host, individuals/sites), you can utilize the MultiAssayExperiment object to keep track of which samples belong to which patient.\n\n\nThe following dataset illustrates how to utilize the sample mapping system in MAE. It includes two omics data: biogenic amines and fatty acids, collected from 10 chickens.\n\nmae &lt;- readRDS(system.file(\"extdata\", \"mae_holofood.Rds\", package = \"OMA\"))\nmae\n##  A MultiAssayExperiment object of 2 listed\n##   experiments with user-defined names and respective classes.\n##   Containing an ExperimentList class object of length 2:\n##   [1] BIOGENIC AMINES: TreeSummarizedExperiment with 7 rows and 14 columns\n##   [2] FATTY ACIDS: TreeSummarizedExperiment with 19 rows and 19 columns\n##  Functionality:\n##   experiments() - obtain the ExperimentList instance\n##   colData() - the primary/phenotype DataFrame\n##   sampleMap() - the sample coordination DataFrame\n##   `$`, `[`, `[[` - extract colData columns, subset, or experiment\n##   *Format() - convert into a long or wide DataFrame\n##   assays() - convert ExperimentList to a SimpleList of matrices\n##   exportClass() - save data to flat files\n\nWe can see that there are more than ten samples per omic dataset due to multiple samples from different time points collected for some animals. From the colData of MAE, we can observe the individual animal metadata, including information that remains constant throughout the trial.\n\ncolData(mae)\n##  DataFrame with 10 rows and 13 columns\n##                 marker.canonical_url         marker.type Treatment code\n##                            &lt;numeric&gt;              &lt;list&gt;    &lt;character&gt;\n##  SAMEA112904734                   NA TREATMENT,TRIAL,PEN             CO\n##  SAMEA112904735                   NA TREATMENT,TRIAL,PEN             CC\n##  SAMEA112904737                   NA TREATMENT,TRIAL,PEN             CC\n##  SAMEA112904741                   NA TREATMENT,TRIAL,PEN             CC\n##  SAMEA112904746                   NA TREATMENT,TRIAL,PEN             CC\n##  SAMEA112904748                   NA TREATMENT,TRIAL,PEN             CO\n##  SAMEA112904749                   NA TREATMENT,TRIAL,PEN             CC\n##  SAMEA112904755                   NA TREATMENT,TRIAL,PEN             CC\n##  SAMEA112904762                   NA TREATMENT,TRIAL,PEN             CO\n##  SAMEA112904763                   NA TREATMENT,TRIAL,PEN             CC\n##                 Treatment name  Trial code Trial description   Trial end\n##                    &lt;character&gt; &lt;character&gt;       &lt;character&gt; &lt;character&gt;\n##  SAMEA112904734      Probiotic          CB           Trial 2  2019-05-19\n##  SAMEA112904735        Control          CC           Trial 3  2019-07-14\n##  SAMEA112904737        Control          CB           Trial 2  2019-05-19\n##  SAMEA112904741        Control          CC           Trial 3  2019-07-14\n##  SAMEA112904746        Control          CB           Trial 2  2019-05-19\n##  SAMEA112904748      Probiotic          CC           Trial 3  2019-07-14\n##  SAMEA112904749        Control          CA           Trial 1  2019-03-11\n##  SAMEA112904755        Control          CB           Trial 2  2019-05-19\n##  SAMEA112904762      Probiotic          CC           Trial 3  2019-07-14\n##  SAMEA112904763        Control          CA           Trial 1  2019-03-11\n##                 Trial start         animal      system          canonical_url\n##                 &lt;character&gt;    &lt;character&gt; &lt;character&gt;            &lt;character&gt;\n##  SAMEA112904734  2019-04-21 SAMEA112904734     chicken https://www.ebi.ac.u..\n##  SAMEA112904735  2019-06-09 SAMEA112904735     chicken https://www.ebi.ac.u..\n##  SAMEA112904737  2019-04-21 SAMEA112904737     chicken https://www.ebi.ac.u..\n##  SAMEA112904741  2019-06-09 SAMEA112904741     chicken https://www.ebi.ac.u..\n##  SAMEA112904746  2019-04-21 SAMEA112904746     chicken https://www.ebi.ac.u..\n##  SAMEA112904748  2019-06-09 SAMEA112904748     chicken https://www.ebi.ac.u..\n##  SAMEA112904749  2019-02-04 SAMEA112904749     chicken https://www.ebi.ac.u..\n##  SAMEA112904755  2019-04-21 SAMEA112904755     chicken https://www.ebi.ac.u..\n##  SAMEA112904762  2019-06-09 SAMEA112904762     chicken https://www.ebi.ac.u..\n##  SAMEA112904763  2019-02-04 SAMEA112904763     chicken https://www.ebi.ac.u..\n##                 Average Daily Feed intake: Day 00 - 07\n##                                              &lt;numeric&gt;\n##  SAMEA112904734                                  19.39\n##  SAMEA112904735                                  22.35\n##  SAMEA112904737                                  18.18\n##  SAMEA112904741                                  21.68\n##  SAMEA112904746                                  19.75\n##  SAMEA112904748                                  21.10\n##  SAMEA112904749                                  18.67\n##  SAMEA112904755                                  23.36\n##  SAMEA112904762                                  21.15\n##  SAMEA112904763                                  19.67\n##                 Average Daily Feed intake: Day 00 - 07, unit\n##                                                  &lt;character&gt;\n##  SAMEA112904734                                            g\n##  SAMEA112904735                                            g\n##  SAMEA112904737                                            g\n##  SAMEA112904741                                            g\n##  SAMEA112904746                                            g\n##  SAMEA112904748                                            g\n##  SAMEA112904749                                            g\n##  SAMEA112904755                                            g\n##  SAMEA112904762                                            g\n##  SAMEA112904763                                            g\n\nThe sampleMap slot now contains mappings between each unique sample and the corresponding individual animal. There are as many rows as there are total samples.\nThe “colname” column refers to the samples in the omic dataset identified in the “assay” column, while the “primary” column provides information about the animals. You will notice that some animals are listed multiple times, reflecting the multiple omics and time points collected for those individuals.\n\nsampleMap(mae)\n##  DataFrame with 33 rows and 3 columns\n##                assay        primary        colname\n##             &lt;factor&gt;    &lt;character&gt;    &lt;character&gt;\n##  1   BIOGENIC AMINES SAMEA112904734 SAMEA112906114\n##  2   BIOGENIC AMINES SAMEA112904734 SAMEA112906592\n##  3   BIOGENIC AMINES SAMEA112904735 SAMEA112906338\n##  4   BIOGENIC AMINES SAMEA112904735 SAMEA112906810\n##  5   BIOGENIC AMINES SAMEA112904737 SAMEA112906123\n##  ...             ...            ...            ...\n##  29      FATTY ACIDS SAMEA112904755 SAMEA112906112\n##  30      FATTY ACIDS SAMEA112904755 SAMEA112906590\n##  31      FATTY ACIDS SAMEA112904762 SAMEA112906315\n##  32      FATTY ACIDS SAMEA112904762 SAMEA112906787\n##  33      FATTY ACIDS SAMEA112904763 SAMEA112905916\n\nFor information have a look at the intro vignette of the MultiAssayExperiment package.\n\n\n\n\n\n\nTipRecommended options for storing multiple data tables in microbiome studies\n\n\n\n\n\nTable 3.1: The assays are best suited for data transformations (one-to-one match between samples and columns across the assays). The alternative experiments are particularly suitable for alternative versions of the data that are of same type but may have a different number of features (e.g. taxonomic groups); this is for instance the case with taxonomic abundance tables agglomerated at different levels (e.g. genus vs. phyla) or alternative profiling technologies (e.g. amplicon sequencing vs. shallow shotgun metagenomics). For alternative experiments one-to-one match between samples (cols) is libraryd but the alternative experiment tables can have different numbers of features (rows). Finally, elements of the MAE provide the most flexible way to incorporate multi-omic data tables with flexible numbers of samples and features. We recommend these conventions as the basis for methods development and application in microbiome studies.\n\n\n\n\n\n\n\n\n\nOption\nRows (features)\nCols (samples)\nRecommended\n\n\n\nassays\nmatch\nmatch\nData transformations\n\n\naltExp\nfree\nmatch\nAlternative experiments\n\n\nMultiAssay\nfree\nfree (mapping)\nMulti-omic experiments\n\n\n\n\n\n\nMulti-assay analyses, discussed in Chapter 19 and Chapter 20, can be facilitated by the multi-assay data containers, TreeSummarizedExperiment and MultiAssayExperiment. These are scalable and contain different types of data in a single container, making this framework particularly suited for multi-assay microbiome data incorporating different types of complementary data sources in a single, reproducible workflow. An alternative experiment can be stored in altExp slot of the SE data container. Alternatively, both experiments can be stored side-by-side in an MAE data container.\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal of these exercises is to understand the elements and structure of a TreeSE object.\nExercise 1: Assay retrieval\n\nLoad any of the example datasets mentioned in Section 4.2.\nList the names of all available assays. Which tables are present?\nFetch the list of assays. How long is the list?\nRetrieve an available assay. Briefly explore the data. Can you see many zeroes? If so, why does the data contain many zeroes?\n\nExercise 2: Sample information\n\nImport the mia package, load any of the example datasets mentioned in Section 4.2.\nCheck the names of the samples.\nList the available columns in the sample metadata.\nNow do the same for the rows of the sample metadata. What do these names correspond to?\nVisualize the sample metadata with View() and briefly look at the information stored in the different columns.\n\nExercise 3: Feature information\n\nImport the mia package, load any of the example datasets mentioned in Section 4.2.\nCheck the names of the features.\nList the available columns stored in the feature metadata or the taxonomy table.\nNow do the same for the rows of in rowData. What do these names correspond to?\nVisualize the feature metadata with View() and briefly look at the information stored in the different columns.\n\nExercise 4: Other elements\nExtract some of the other TreeSE elements listed in Chapter 3. However, note that such data is not always included.\n\nImport the mia package, load any of the example datasets mentioned in Section 4.2.\nFetch the metadata of the TreeSE. Is there any information available?\nAccess the phylogenetic tree. How big is it in terms of tips and nodes?\nCheck if a sample tree is available.\nIf present, obtain the information on feature DNA sequences from the referenceSeq slot.\n\nUseful functions:\nutils::data(), SummarizedExperiment::assayNames(), SummarizedExperiment::assays(), SummarizedExperiment::assay(), SummarizedExperiment::colData(), SummarizedExperiment::rowData(), SummarizedExperiment::rownames(), SummarizedExperiment::colnames(), TreeSummarizedExperiment::rowTree(), TreeSummarizedExperiment::colTree(), TreeSummarizedExperiment::referenceSeq()",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Data containers</span>"
    ]
  },
  {
    "objectID": "pages/import.html",
    "href": "pages/import.html",
    "title": "4  Import",
    "section": "",
    "text": "4.1 Import microbiome data from files\nThis chapter demonstrates how data can be imported into data containers from files. Additionally, multiple databases offer curated microbiome data, which are introduced in Section 4.2.\nIn prior to importing the data to container, the raw sequences must be mapped to abundances. The specific method depends on sequencing type and other data-specific factors. There are several resources available to guide this process, Metagenomics wiki being one of them. Here you can find an example workflow for processing 16S rRNA sequences into a data container using dada2.\nThe data containers can be constructed from scratch. For most common microbiome data formats, there are dedicated importers available which streamlines the importing.",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>Import</span>"
    ]
  },
  {
    "objectID": "pages/import.html#sec-loading-experimental-microbiome-data",
    "href": "pages/import.html#sec-loading-experimental-microbiome-data",
    "title": "4  Import",
    "section": "",
    "text": "4.1.1 Standard data formats\nSpecific import functions are provided for:\n\nBIOM files (see help(importBIOM, package = \"mia\"))\nQIIME2 files (see help(importQIIME2, package = \"mia\"))\nMothur files (see help(importMothur, package = \"mia\"))\nMetaPhlAn files (see help(importMetaPhlAn, package = \"mia\"))\nHUMAnN files (see help(importHUMAnN, package = \"mia\"))\ntaxpasta files (see help(importTaxpasta, package = \"mia\"))\n\nHere we show how Biom files are imported into a TreeSE object using as an example Tengeler2020, which is further described here. This dataset consists of 3 files, which can be fetched or downloaded from this repository:\n\nbiom file: abundance table and taxonomy information\ncsv file: sample metadata\ntree file: phylogenetic tree\n\nTo begin with, we store the data in a local directory within the working directory, such as data/, and define the source file paths.\n\nbiom_file_path &lt;- system.file(\n    \"extdata\", \"Aggregated_humanization2.biom\",\n    package = \"OMA\"\n)\nsample_meta_file_path &lt;- system.file(\n    \"extdata\", \"Mapping_file_ADHD_aggregated.csv\",\n    package = \"OMA\"\n)\ntree_file_path &lt;- system.file(\n    \"extdata\", \"Data_humanization_phylo_aggregation.tre\",\n    package = \"OMA\"\n)\n\nNow we can read in the biom file and convert it into a TreeSE object. In addition, we retrieve the rank names from the prefixes of the taxonomic feature names and then remove them with the rank.from.prefix and prefix.rm optional arguments.\n\nlibrary(mia)\n\n# Read biom and convert it to TreeSE\ntse &lt;- importBIOM(\n    biom_file_path,\n    rank.from.prefix = TRUE,\n    prefix.rm = TRUE,\n    artifact.rm = TRUE\n)\n\n# Check\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 151 27 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(151): 1726470 1726471 ... 17264756 17264757\n##  rowData names(6): kingdom phylum ... family genus\n##  colnames(27): A110 A111 ... A38 A39\n##  colData names(0):\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\nThe assays slot includes a list of abundance tables. The imported abundance table is named as “counts”. Let us inspect only the first columns and rows.\n\nassay(tse, \"counts\")[1:3, 1:3]\n##            A110  A111  A12\n##  1726470  17722 11630    0\n##  1726471  12052     0 2679\n##  17264731     0   970    0\n\nThe rowdata includes taxonomic information from the biom file. The head() command shows just the beginning of the data table for an overview.\nThe kable() function from the knitr package helps print the information more nicely.\n\nrowData(tse) |&gt; head()\n##  DataFrame with 6 rows and 6 columns\n##               kingdom          phylum            class              order\n##           &lt;character&gt;     &lt;character&gt;      &lt;character&gt;        &lt;character&gt;\n##  1726470     Bacteria   Bacteroidetes      Bacteroidia      Bacteroidales\n##  1726471     Bacteria   Bacteroidetes      Bacteroidia      Bacteroidales\n##  17264731    Bacteria   Bacteroidetes      Bacteroidia      Bacteroidales\n##  17264726    Bacteria   Bacteroidetes      Bacteroidia      Bacteroidales\n##  1726472     Bacteria Verrucomicrobia Verrucomicrobiae Verrucomicrobiales\n##  17264724    Bacteria   Bacteroidetes      Bacteroidia      Bacteroidales\n##                        family           genus\n##                   &lt;character&gt;     &lt;character&gt;\n##  1726470       Bacteroidaceae     Bacteroides\n##  1726471       Bacteroidaceae     Bacteroides\n##  17264731  Porphyromonadaceae Parabacteroides\n##  17264726      Bacteroidaceae     Bacteroides\n##  1726472  Verrucomicrobiaceae     Akkermansia\n##  17264724      Bacteroidaceae     Bacteroides\n\nWe notice that the imported biom file did not contain any colData yet, so only an empty dataframe appears in this slot.\n\ncolData(tse) |&gt; head()\n##  DataFrame with 6 rows and 0 columns\n\nLet us add colData from the sample metadata, which is stored in a CSV file.\n\n# CSV file with colnames in the first row and rownames in the first column\nsample_meta &lt;- read.csv(\n    sample_meta_file_path,\n    sep = \",\", row.names = 1\n)\n\nsample_meta |&gt; head()\n##       Treatment   Cohort TreatmentxCohort Description\n##  A110      ADHD Cohort_1    ADHD_Cohort_1        A110\n##  A12       ADHD Cohort_1    ADHD_Cohort_1         A12\n##  A15       ADHD Cohort_1    ADHD_Cohort_1         A15\n##  A19       ADHD Cohort_1    ADHD_Cohort_1         A19\n##  A21       ADHD Cohort_2    ADHD_Cohort_2         A21\n##  A23       ADHD Cohort_2    ADHD_Cohort_2         A23\n\nYou have to be especially careful when you add sample metadata, effectively replacing the existing, empty colData. The method does not check sample names, which can lead to mistakes. Therefore, you must manually ensure that the sample names in the metadata not only exist but also match those in TreeSE.\n\n# Check that sample names exist\nif (is.null(rownames(sample_meta)) || is.null(colnames(tse))) {\n    stop(\"Sample names missing!\", call. = FALSE)\n}\n\n# Sort rows in sample metadata to match with TreeSE\nsample_order &lt;- match(colnames(tse), rownames(sample_meta))\nsample_meta &lt;- sample_meta[sample_order, , drop = FALSE]\n\n# If sample metadata did not include all samples, missing ones are now named NA.\n# That is why we replace sample metadata names with ones in TreeSE.\nrownames(sample_meta) &lt;- colnames(tse)\n\nNow, we can add sample metadata to the colData.\n\ncolData(tse) &lt;- DataFrame(sample_meta)\ncolData(tse) |&gt; head()\n##  DataFrame with 6 rows and 4 columns\n##         Treatment      Cohort TreatmentxCohort Description\n##       &lt;character&gt; &lt;character&gt;      &lt;character&gt; &lt;character&gt;\n##  A110        ADHD    Cohort_1    ADHD_Cohort_1        A110\n##  A111     Control    Cohort_1 Control_Cohort_1        A111\n##  A12         ADHD    Cohort_1    ADHD_Cohort_1         A12\n##  A13      Control    Cohort_1 Control_Cohort_1         A13\n##  A14      Control    Cohort_1 Control_Cohort_1         A14\n##  A15         ADHD    Cohort_1    ADHD_Cohort_1         A15\n\nFinally, we add a phylogenetic tree to the rowData slot. Such feature is available only in TreeSE objects. Similarly, Trees specifying the sample hierarchy can be stored in the colTree slot.\nHere, we read in the file containing the phylogenetic tree and insert it into the corresponding slot of the TreeSE object.\n\n# Reads the tree file\ntree &lt;- ape::read.tree(tree_file_path)\n\n# Add tree to rowTree\nrowTree(tse) &lt;- tree\n\n# Check\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 151 27 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(151): 1726470 1726471 ... 17264756 17264757\n##  rowData names(6): kingdom phylum ... family genus\n##  colnames(27): A110 A111 ... A38 A39\n##  colData names(4): Treatment Cohort TreatmentxCohort Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (151 rows)\n##  rowTree: 1 phylo tree(s) (151 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nNow the rowTree slot contains the phylogenetic tree:\n\nrowTree(tse) |&gt; head()\n\n\n4.1.2 Non-standard formats\nMicrobiome (taxonomic) profiling data is commonly distributed in various file formats. You can import such external data files as a TreeSE object, but the details depend on the file format. Here, we provide examples for common formats. Some datasets and raw files to learn how to import raw data and construct TreeSummarizedExperiment / MultiAssayExperiment containers are available in the microbiome data repository.\n\n4.1.2.1 CSV import\nCSV data tables can be imported with the standard R functions, then converted to the desired format. For detailed examples, you can check the Bioconductor course material by Martin Morgan. You can also check the example files and construct your own CSV files accordingly.\nRecommendations for the CSV files are the following. File names are arbitrary; we refer here to the same names as in the examples:\n\nAbundance table (assay_taxa.csv): data matrix (features x samples); first column provides feature IDs, the first row provides sample IDs; other values should be numeric (abundances).\nRow data (rowdata_taxa.csv): data table (features x info); first column provides feature IDs, the first row provides column headers; this file usually contains the taxonomic mapping between different taxonomic levels. Ideally, the feature IDs (row names) match one-to-one with the abundance table row names.\nColumn data (coldata.csv): data table (samples x info); first column provides sample IDs, the first row provides column headers; this file usually contains the sample metadata/phenodata (such as subject age, health etc). Ideally, the sample IDs match one-to-one with the abundance table column names.\n\nAfter you have set up the CSV files, you can read them in R:\n\ncount_file &lt;- system.file(\"extdata\", \"assay_taxa.csv\", package = \"OMA\")\ntax_file &lt;- system.file(\"extdata\", \"rowdata_taxa.csv\", package = \"OMA\")\nsample_file &lt;- system.file(\"extdata\", \"coldata.csv\", package = \"OMA\")\n\n# Load files\ncounts &lt;- read.csv(count_file, row.names = 1) # Abundance table (e.g. ASV data; to assay data)\ntax &lt;- read.csv(tax_file, row.names = 1) # Taxonomy table (to rowData)\nsamples &lt;- read.csv(sample_file, row.names = 1) # Sample data (to colData)\n\nAfter reading the data in R, ensure the following:\n\nabundance table (counts): numeric matrix, with feature IDs as rownames and sample IDs as column names.\nrowdata (tax): DataFrame, with feature IDs as rownames. If this is a data.frame you can use the function DataFrame() to change the format. Column names are free but in microbiome analysis they usually refer to taxonomic ranks. The rownames in rowdata should match with rownames in abundance table.\ncoldata (samples): DataFrame, with sample IDs as rownames. If this is a data.frame you can use the function DataFrame() to change the format. Column names are free. The rownames in coldata should match with colnames in abundance table.\n\nAlways ensure that the tables have rownames! The TreeSummarizedExperiment (TreeSE) constructor compares rownames and ensures that, for example, the right samples are linked to the right patient.\nAlso, ensure that the row and column names match one-to-one between abundance table, rowdata, and coldata:\n\n# Match rows and columns\ncounts &lt;- counts[rownames(tax), rownames(samples)]\n\n# Let's ensure that the data is in correct (numeric matrix) format:\ncounts &lt;- as.matrix(counts)\n\nIf you hesitate about the format of the data, you can compare to one of the available demonstration datasets, and make sure that your data components have the same format.\nThere are many different source files and many different ways to read data in R. One can do data manipulation in R as well. Investigate the entries as follows.\n\n# coldata rownames match assay colnames\nall(rownames(samples) == colnames(counts)) # our dataset\n##  [1] TRUE\nclass(samples) # should be data.frame or DataFrame\n##  [1] \"data.frame\"\n\n# rowdata rownames match assay rownames\nall(rownames(tax) == rownames(counts)) # our dataset\n##  [1] TRUE\nclass(tax) # should be data.frame or DataFrame\n##  [1] \"data.frame\"\n\n# Counts\nclass(counts) # should be a numeric matrix\n##  [1] \"matrix\" \"array\"\n\n\n\n\n\n\n\nImportantImportant!\n\n\n\nEnsure that colnames of assay match with rownames of colData, and rownames of assay match with rownames of rowData.\nIf your data do not have names, you have to be especially careful, since this can lead to errors!\n\n\n\n4.1.2.2 Constructing TreeSE\nNow, let’s create the TreeSE object from the input data tables. Here we also convert the data objects in their preferred formats:\n\n\ncounts → numeric matrix\n\nrowData → DataFrame\n\ncolData → DataFrame\n\nThe SimpleList could be used to include multiple alternative assays, if necessary.\n\n# Create a TreeSE\ntse_taxa &lt;- TreeSummarizedExperiment(\n    assays = SimpleList(counts = counts),\n    colData = DataFrame(samples),\n    rowData = DataFrame(tax)\n)\n\ntse_taxa\n##  class: TreeSummarizedExperiment \n##  dim: 12706 40 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(12706): GAYR01026362.62.2014 CVJT01000011.50.2173 ...\n##    JRJTB:03787:02429 JRJTB:03787:02478\n##  rowData names(7): Phylum Class ... Species OTU\n##  colnames(40): C1 C2 ... C39 C40\n##  colData names(6): Sample Rat ... Fat XOS\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\nNow you should have a ready-made TreeSE data object that can be used in downstream analyses.\n\n4.1.2.3 Constructing a MAE\nTo construct a MultiAssayExperiment (MAE) object, just combine multiple TreeSE data containers.\nHere we import metabolite data from the same study.\n\ncount_file &lt;- system.file(\"extdata\", \"assay_metabolites.csv\", package = \"OMA\")\nsample_file &lt;- system.file(\"extdata\", \"coldata.csv\", package = \"OMA\")\n\n# Load files\ncounts &lt;- read.csv(count_file, row.names = 1)\nsamples &lt;- read.csv(sample_file, row.names = 1)\n\n# Create a TreeSE for the metabolite data\ntse_metabolite &lt;- TreeSummarizedExperiment(\n    assays = SimpleList(concs = as.matrix(counts)),\n    colData = DataFrame(samples)\n)\n\ntse_metabolite\n##  class: TreeSummarizedExperiment \n##  dim: 38 40 \n##  metadata(0):\n##  assays(1): concs\n##  rownames(38): Butyrate Acetate ... Malonate 1,3-dihydroxyacetone\n##  rowData names(0):\n##  colnames(40): C1 C2 ... C39 C40\n##  colData names(6): Sample Rat ... Fat XOS\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\n\n\n\n\n\n\nImportantImportant!\n\n\n\nWhen creating TreeSE, assay must be a matrix, and both colData and rowData must be DataFrame objects.\n\n\nNow we can combine these two experiments into MAE.\n\n# Create an ExperimentList that includes experiments\nexperiments &lt;- ExperimentList(\n    microbiome = tse_taxa, metabolite = tse_metabolite\n)\n\n# Create a MAE\nmae &lt;- MultiAssayExperiment(experiments = experiments)\n\nmae\n##  A MultiAssayExperiment object of 2 listed\n##   experiments with user-defined names and respective classes.\n##   Containing an ExperimentList class object of length 2:\n##   [1] microbiome: TreeSummarizedExperiment with 12706 rows and 40 columns\n##   [2] metabolite: TreeSummarizedExperiment with 38 rows and 40 columns\n##  Functionality:\n##   experiments() - obtain the ExperimentList instance\n##   colData() - the primary/phenotype DataFrame\n##   sampleMap() - the sample coordination DataFrame\n##   `$`, `[`, `[[` - extract colData columns, subset, or experiment\n##   *Format() - convert into a long or wide DataFrame\n##   assays() - convert ExperimentList to a SimpleList of matrices\n##   exportClass() - save data to flat files",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>Import</span>"
    ]
  },
  {
    "objectID": "pages/import.html#sec-example-data",
    "href": "pages/import.html#sec-example-data",
    "title": "4  Import",
    "section": "\n4.2 Data resources",
    "text": "4.2 Data resources\nOpen demonstration data for testing and benchmarking purposes is available from multiple locations. This chapter introduces some options. The other chapters of this book provide ample examples about the use of the data.\n\n4.2.1 Package data\nThe mia R package contains example datasets that are direct conversions from the alternative phyloseq container to the TreeSummarizedExperiment (TreeSE) container.\nList the available datasets in the mia package:\n\ndata(package = \"mia\")\n\nLoad the GlobalPatterns data from the mia package:\n\ndata(\"GlobalPatterns\", package = \"mia\")\nGlobalPatterns\n##  class: TreeSummarizedExperiment \n##  dim: 19216 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nR packages contain additional demonstration data sets (see the Datasets section of the reference page):\n\n\nmia; reference\n\n\nmiaViz; reference\n\n\nmiaTime; reference\n\n\n4.2.2 ExperimentHub data\nExperimentHub provides a variety of data resources, including the microbiomeDataSets package (Morgan and Shepherd 2021; Lahti, Ernst, and Shetty 2021).\n\nMorgan, Martin, and Lori Shepherd. 2021. ExperimentHub: Client to Access ExperimentHub Resources.\n\nLahti, Leo, Felix G. M. Ernst, and Sudarshan Shetty. 2021. microbiomeDataSets: Experiment Hub Based Microbiome Datasets.\nA table of the available datasets is available through the availableDataSets() function.\n\nlibrary(microbiomeDataSets)\navailableDataSets()\n##              Dataset\n##  1  GrieneisenTSData\n##  2       LahtiMLData\n##  3        LahtiMData\n##  4      OKeefeDSData\n##  5 SilvermanAGutData\n##  6        SongQAData\n##  7   SprockettTHData\n\nAll data are downloaded from ExperimentHub and cached for local re-use. Check the manual pages of each function for a detailed documentation of the data contents and references. Let us retrieve a MultiAssayExperiment dataset:\n\n# mae &lt;- HintikkaXOData()\n# Since HintikkaXOData is now added to mia, we can load it directly from there\n# We suggest to check other datasets from microbiomeDataSets\ndata(HintikkaXOData, package = \"mia\")\nmae &lt;- HintikkaXOData\n\nData is available in SummarizedExperiment (SE), TreeSummarizedExperiment (TreeSE), and MultiAssayExperiment (MAE) data containers; see Chapter 19 for more details.\n\n4.2.3 Curated metagenomic data\ncuratedMetagenomicData is a large collection of curated human microbiome datasets, provided as TreeSE objects (Pasolli et al. 2017). The resource provides curated human microbiome data including gene families, marker abundance, marker presence, pathway abundance, pathway coverage, and relative abundance for samples from different body sites. See the package homepage for more details on data availability and access.\n\nPasolli, Edoardo, Lucas Schiffer, Paolo Manghi, Audrey Renson, Valerie Obenchain, Duy Tin Truong, Francesco Beghini, et al. 2017. “Accessible, Curated Metagenomic Data Through ExperimentHub.” Nature Methods 14 (11): 1023–24. https://doi.org/https://doi.org/10.1038/nmeth.4468.\n\nVatanen, Tommi, Aleksandar D. Kostic, Eva d’Hennezel, Heli Siljander, Eric A. Franzosa, Moran Yassour, Raivo Kolde, et al. 2016. “Variation in Microbiome LPS Immunogenicity Contributes to Autoimmunity in Humans.” Cell 165 (May): 842–53. https://doi.org/10.1016/j.cell.2016.04.007.\nAs one example, let us retrieve the Vatanen et al. (2016) data set. This is a larger collection with a bit longer download time.\n\nlibrary(curatedMetagenomicData)\ntse &lt;- curatedMetagenomicData(\"Vatanen*\", dryrun = FALSE, counts = TRUE)\n\n\n4.2.4 Human microbiome compendium\nThe MicroBioMap dataset includes almost 170k samples of publicly available 16S rRNA amplicon sequencing data, all processed using the same pipeline and reference database (Davis et al. 2024). After installing the MicroBioMap package (see their GitHub page for instructions), you can load the compendium as below.\n\nDavis, Sean, Richard Abdill, Ran Blehkman, Samantha Graham, and Casey Greene. 2024. MicroBioMap: Access the Microbiome Compendium from r. https://github.com/seandavi/MicroBioMap.\n\nlibrary(MicroBioMap)\ncpd &lt;- getCompendium()\n\nThis returns a TreeSE object. Currently, the rowTree slot of the TreeSE is not populated.\nAfter loading the compendium, you will have immediate access to nearly 170,000 microbiome samples of publicly available 16S rRNA amplicon sequencing data, all processed using the same pipeline and reference database. For more use examples in R/Bioconductor, see the MicroBioMap vignette.\n\n4.2.5 Other data sources\nThe current collections provide access to vast microbiome data resources. The output has to be converted into TreeSE/MAE separately.\n\n\nMGnifyR provides access to EBI/MGnify\n\n\nHoloFoodR provides access to EBI/HoloFood\n\n\nqiitr provides access to QIITA\n\n\nqiime2R provides access to QIIME2\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal of these exercises is to learn how to import data from files or database.\nExercise 1: Construct a TreeSE\n\nDownload the data.\n\nDownload the CSV files from this directory.\n\nLoad the data into R.\n\nRead the downloaded CSV files into R using read.csv() and store them in the following variables:\n\n\nassay → contains the main data matrix (e.g., microbial counts)\n\nrowdata → contains metadata for features (e.g., taxonomic information)\n\ncoldata → contains metadata for samples (e.g., sample descriptions)\n\n\nConvert data into correct format.\n\n\n\nassay → converted into a matrix\n\n\nrowdata → converted into a DataFrame\n\n\ncoldata → converted into a DataFrame\n\n\n\nEnsure that all tables have row and column names and rows of rowdata correspond to rows of assay and rows of coldata match with columns of assay.\nCreate a SimpeList containing the abundance table.\nCreate a TreeSummarizedExperiment object.\nVerify the import.\n\nEnsure that the data has been correctly imported by checking that the values in the TreeSE object match those in the original CSV files. - Pick a random row (feature) and column (sample). - Compare the corresponding value in the original assay data and the TreeSE object.\nExercise 2: Load BIOM file\n\nDownload this BIOM file.\nImport the BIOM file to R.\n\nExercise 3: Fetch data from MGnify\n\nExplore available data from here and choose study or sample. How many public samples are available?\nCreate MgnifyClient() object.\nSearch available analyses on the selected sample or study.\nFetch associated metadata on the analyses, and select analyses to fetch. Select analyses only from single analysis pipeline.\nRetrieve data into TreeSE.\n\nUseful functions:\nutils::read.csv(), MultiAssayExperiment::DataFrame(), TreeSummarizedExperiment::TreeSummarizedExperiment(), base::matrix(), BiocGenerics::rownames(), BiocGenerics::colnames(), S4Vectors::SimpleList(), utils::download.file(), mia::importBIOM(), MGnifyR::MgnifyClient(), MGnifyR::searchAnalysis(), MGnifyR::getMetadata(), MGnifyR::getResult()",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>Import</span>"
    ]
  },
  {
    "objectID": "pages/convert.html",
    "href": "pages/convert.html",
    "title": "5  Convert & export",
    "section": "",
    "text": "5.1 Conversions between data formats in R\nIf the data has already been imported in R in another format, it can be readily converted into TreeSE, as shown in our next example. Note that similar conversion functions to TreeSE are available for multiple data formats via the mia package (see convertFrom* for phyloseq, biom, and dada2).\nlibrary(mia)\n\n# Phyloseq example data\ndata(GlobalPatterns, package = \"phyloseq\")\nGlobalPatterns_phyloseq &lt;- GlobalPatterns\nGlobalPatterns_phyloseq\n##  phyloseq-class experiment-level object\n##  otu_table()   OTU Table:         [ 19216 taxa and 26 samples ]\n##  sample_data() Sample Data:       [ 26 samples by 7 sample variables ]\n##  tax_table()   Taxonomy Table:    [ 19216 taxa by 7 taxonomic ranks ]\n##  phy_tree()    Phylogenetic Tree: [ 19216 tips and 19215 internal nodes ]\n# convert phyloseq to TSE\nGlobalPatterns_TSE &lt;- convertFromPhyloseq(GlobalPatterns_phyloseq)\nGlobalPatterns_TSE\n##  class: TreeSummarizedExperiment \n##  dim: 19216 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\nWe can also convert TreeSE objects into phyloseq with respect to the shared components that are supported by both formats (i.e. taxonomic abundance table, sample metadata, taxonomic table, phylogenetic tree, sequence information). This is useful for instance when additional methods are available for phyloseq.\n# convert TSE to phyloseq\nGlobalPatterns_phyloseq2 &lt;- convertToPhyloseq(GlobalPatterns_TSE)\nGlobalPatterns_phyloseq2\n##  phyloseq-class experiment-level object\n##  otu_table()   OTU Table:         [ 19216 taxa and 26 samples ]\n##  sample_data() Sample Data:       [ 26 samples by 7 sample variables ]\n##  tax_table()   Taxonomy Table:    [ 19216 taxa by 7 taxonomic ranks ]\n##  phy_tree()    Phylogenetic Tree: [ 19216 tips and 19215 internal nodes ]\nConversion is possible between other data formats. Interested readers can refer to the following functions:",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>5</span>  <span class='chapter-title'>Convert & export</span>"
    ]
  },
  {
    "objectID": "pages/convert.html#sec-conversions-between-data-formats-in-r",
    "href": "pages/convert.html#sec-conversions-between-data-formats-in-r",
    "title": "5  Convert & export",
    "section": "",
    "text": "convertFromDADA2\nconvertToBIOM / convertFromBIOM",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>5</span>  <span class='chapter-title'>Convert & export</span>"
    ]
  },
  {
    "objectID": "pages/convert.html#sec-exporting-data-container",
    "href": "pages/convert.html#sec-exporting-data-container",
    "title": "5  Convert & export",
    "section": "\n5.2 Exporting data container",
    "text": "5.2 Exporting data container\n\n5.2.1 Export TreeSummarizedExperiment\nTransforming a TreeSE object into a dataframe is straightforward with the mia package. The meltSE function is particularly handy for this purpose. It allows you to melt various parts of a TreeSE object into a dataframe based on the parameters you specify.\nExporting a TreeSE data container can be done using the feather package. The TreeSE object has to be converted into a dataframe (data.frame and not DataFrame). The output file is a .feather file, which can be imported in other languages such as Julia or Python. For more information, have a look at the FeatherFile Julia package and feather-format Python library.\n\ndata(GlobalPatterns, package = \"mia\")\ntse &lt;- GlobalPatterns\n\nmolten_tse &lt;- meltSE(\n    tse,\n    add_row_data = TRUE,\n    add_col_data = TRUE,\n    assay.type = \"counts\"\n)\n\n# Export as a feather file\nlibrary(feather)\npath &lt;- \"path/to/tse.feather\"\nwrite_feather(molten_tse, path)\n\nAnother way could be using a CSV file. This works the same as for a feather file, make sure you have converted your TreeSE data container as a dataframe. Note that you can decide whether you want to write the row names or not.\n\nwrite.csv(molten_tse, \"path/to/tse.csv\", row.names = FALSE)\n\n\n5.2.2 Export MultiAssayExperiment\nExporting a MultiAssayExperiment data container can also be done using feather package.\n\n# Convert into a data.frame\nmolten_mae &lt;- longForm(mae)\nmolten_mae &lt;- data.frame(molten_mae)\npath &lt;- \"path/to/mae.feather\"\nwrite_feather(molten_mae, path)\n\nAnd as a CSV file.\n\nwrite.csv(molten_mae, \"path/to/mae.csv\", row.names = FALSE)\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal is to learn how to convert the data format and how to save the data.\nExercise 1: Convert and save\n\nLoad any of the example datasets mentioned in Section 4.2.\nConvert data to a phyloseq object.\nConvert the phyloseq data back to TreeSE.\nSave a TreeSE object as a RDS file.\nRead the RDS file into a TreeSE object.\nConvert the data to long format and save it as a CSV file.\n\nUseful functions:\nutils::data(), mia::convertToPhyloseq(), mia::convertFromPhyloseq(), BiocGenerics::saveRDS(), base::readRDS, mia::meltSE(), utils::write.csv()",
    "crumbs": [
      "Data containers & importing",
      "<span class='chapter-number'>5</span>  <span class='chapter-title'>Convert & export</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html",
    "href": "pages/taxonomy.html",
    "title": "6  Taxonomic information",
    "section": "",
    "text": "6.1 Assigning taxonomic information\nTaxonomic information is a key part of analyzing microbiome data, and without it, any type of data analysis probably would not make much sense. However, the degree of detail of taxonomic information differs depending on the dataset and annotation data used.\nTherefore, the mia package expects a loose assembly of taxonomic information and assumes certain key aspects:\nIn this chapter, we will refer to the co-abundant groups as CAGs, which are clusters of taxonomic features that co-vary across samples.\nThere are a number of methods to assign taxonomic information. We like to give a short introduction about the methods available without ranking one over the other. This has to be your choice based on the result for the individual dataset.",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html#assigning-taxonomic-information",
    "href": "pages/taxonomy.html#assigning-taxonomic-information",
    "title": "6  Taxonomic information",
    "section": "",
    "text": "6.1.1 DADA2\nThe dada2 package (Callahan et al. 2016) implements the assignTaxonomy() function, which takes as input the ASV sequences associated with each row of data and a training dataset. For more information visit the dada2 homepage.\n\nCallahan, Benjamin J, Paul J McMurdie, Michael J Rosen, Andrew W Han, Amy Jo A Johnson, and Susan P Holmes. 2016. “DADA2: High-Resolution Sample Inference from Illumina Amplicon Data.” Nature Methods 13: 581–83. https://doi.org/10.1038/nmeth.3869.\n\n6.1.2 DECIPHER\nThe DECIPHER package (Wright 2020) implements the IDTAXA algorithm to assign either taxonomic information or function information. For mia, only the first option is of interest for now and more information can be found on the DECIPHER website.\n\nWright, Erik. 2020. DECIPHER: Tools for Curating, Analyzing, and Manipulating Biological Sequences.",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html#functions-to-access-taxonomic-information",
    "href": "pages/taxonomy.html#functions-to-access-taxonomic-information",
    "title": "6  Taxonomic information",
    "section": "\n6.2 Functions to access taxonomic information",
    "text": "6.2 Functions to access taxonomic information\n\n6.2.1 Check taxonomy ranks in data\ncheckTaxonomy() checks whether the taxonomic information is usable for mia.\n\ncheckTaxonomy(tse)\n##  [1] TRUE\n\nSince the rowData can contain other data, taxonomyRanks() will return the columns that mia assumes to contain the taxonomic information.\n\ntaxonomyRanks(tse)\n##  [1] \"Kingdom\" \"Phylum\"  \"Class\"   \"Order\"   \"Family\"  \"Genus\"   \"Species\"\n\nThis can then be used to subset the rowData to columns as needed.\n\nrowData(tse)[, taxonomyRanks(tse)]\n##  DataFrame with 19216 rows and 7 columns\n##             Kingdom        Phylum        Class        Order        Family\n##         &lt;character&gt;   &lt;character&gt;  &lt;character&gt;  &lt;character&gt;   &lt;character&gt;\n##  549322     Archaea Crenarchaeota Thermoprotei           NA            NA\n##  522457     Archaea Crenarchaeota Thermoprotei           NA            NA\n##  951        Archaea Crenarchaeota Thermoprotei Sulfolobales Sulfolobaceae\n##  244423     Archaea Crenarchaeota        Sd-NA           NA            NA\n##  586076     Archaea Crenarchaeota        Sd-NA           NA            NA\n##  ...            ...           ...          ...          ...           ...\n##  278222    Bacteria           SR1           NA           NA            NA\n##  463590    Bacteria           SR1           NA           NA            NA\n##  535321    Bacteria           SR1           NA           NA            NA\n##  200359    Bacteria           SR1           NA           NA            NA\n##  271582    Bacteria           SR1           NA           NA            NA\n##               Genus                Species\n##         &lt;character&gt;            &lt;character&gt;\n##  549322          NA                     NA\n##  522457          NA                     NA\n##  951     Sulfolobus Sulfolobusacidocalda..\n##  244423          NA                     NA\n##  586076          NA                     NA\n##  ...            ...                    ...\n##  278222          NA                     NA\n##  463590          NA                     NA\n##  535321          NA                     NA\n##  200359          NA                     NA\n##  271582          NA                     NA\n\ntaxonomyRankEmpty() checks for empty values in the given rank and returns a logical vector of length(x).\n\nall(!taxonomyRankEmpty(tse, rank = \"Kingdom\"))\n##  [1] TRUE\ntable(taxonomyRankEmpty(tse, rank = \"Genus\"))\n##  \n##  FALSE  TRUE \n##   8008 11208\ntable(taxonomyRankEmpty(tse, rank = \"Species\"))\n##  \n##  FALSE  TRUE \n##   1413 17803\n\n\n6.2.2 Get taxonomy labels\ngetTaxonomyLabels() is a multi-purpose function, which turns taxonomic information into a character vector of length(x)\n\ngetTaxonomyLabels(tse) |&gt; head()\n##  [1] \"Class:Thermoprotei\"               \"Class:Thermoprotei_1\"            \n##  [3] \"Species:Sulfolobusacidocaldarius\" \"Class:Sd-NA\"                     \n##  [5] \"Class:Sd-NA_1\"                    \"Class:Sd-NA_2\"\n\nBy default, this will use the lowest non-empty information to construct a string with the following scheme level:value. If all levels are the same, this part is omitted, but can be added by setting with.rank = TRUE.\n\nphylum &lt;- !is.na(rowData(tse)$Phylum) &\n    vapply(data.frame(apply(\n        rowData(tse)[, taxonomyRanks(tse)[3:7]], 1L, is.na\n    )), all, logical(1))\ngetTaxonomyLabels(tse[phylum, ]) |&gt; head()\n##  [1] \"Crenarchaeota\"    \"Crenarchaeota_1\"  \"Crenarchaeota_2\" \n##  [4] \"Actinobacteria\"   \"Actinobacteria_1\" \"Spirochaetes\"\ngetTaxonomyLabels(tse[phylum, ], with.rank = TRUE) |&gt; head()\n##  [1] \"Phylum:Crenarchaeota\"    \"Phylum:Crenarchaeota_1\" \n##  [3] \"Phylum:Crenarchaeota_2\"  \"Phylum:Actinobacteria\"  \n##  [5] \"Phylum:Actinobacteria_1\" \"Phylum:Spirochaetes\"\n\nBy default the return value of getTaxonomyLabels() contains only unique elements by passing it through make.unique. This step can be omitted by setting make.unique = FALSE.\n\ngetTaxonomyLabels(tse[phylum, ], with.rank = TRUE, make.unique = FALSE) |&gt; head()\n##  [1] \"Phylum:Crenarchaeota\"  \"Phylum:Crenarchaeota\"  \"Phylum:Crenarchaeota\" \n##  [4] \"Phylum:Actinobacteria\" \"Phylum:Actinobacteria\" \"Phylum:Spirochaetes\"\n\nTo apply the loop resolving function resolveLoop() from the TreeSummarizedExperiment package (Huang 2020) within getTaxonomyLabels(), set resolve.loops = TRUE.\n\n6.2.3 Get information on specific features\nThe function getUnique() gives a list of unique features for the specified taxonomic rank.\n\ngetUnique(tse, rank = \"Phylum\") |&gt; head()\n##  [1] \"Crenarchaeota\"  \"Euryarchaeota\"  \"Actinobacteria\" \"Spirochaetes\"  \n##  [5] \"MVP-15\"         \"Proteobacteria\"\n\nWith mapTaxonomy(), you can search information on certain taxonomic features from the taxonomy table. For instance, we can check all the features that matches with “Escherichia”.\n\nmapTaxonomy(tse, taxa = \"Escherichia\")\n##  $Escherichia\n##  DataFrame with 1 row and 7 columns\n##             Kingdom         Phylum               Class             Order\n##         &lt;character&gt;    &lt;character&gt;         &lt;character&gt;       &lt;character&gt;\n##  249227    Bacteria Proteobacteria Gammaproteobacteria Enterobacteriales\n##                     Family       Genus     Species\n##                &lt;character&gt; &lt;character&gt; &lt;character&gt;\n##  249227 Enterobacteriaceae Escherichia          NA",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html#sec-update-tree",
    "href": "pages/taxonomy.html#sec-update-tree",
    "title": "6  Taxonomic information",
    "section": "\n6.3 Prune taxonomy tree",
    "text": "6.3 Prune taxonomy tree\nSubsetting is explained in detail in Chapter 9. However, if you’ve already subsetted your data, you may have noticed that the taxonomy tree does not automatically update when using the [] operators. Although the linkages between rows and tree nodes remain correct, the tree retains its original, complex structure. You may be wondering how to update the tree to reflect the newly simplified data.\nmia package functions subsetBy* and agglomerateBy* (see Chapter 10) include an update.tree parameter to handle this adjustment. However, when using [], tree pruning must be done as an additional step.\nLet’s start by selecting 5 arbitrary rows.\n\ntse_sub &lt;- tse[1:5, ]\ntse_sub\n##  class: TreeSummarizedExperiment \n##  dim: 5 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(5): 549322 522457 951 244423 586076\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (5 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nEven though we have only 5 rows, the tree still retains its original number of tips. To align the tree with the subsetted data, we can use the TreeSummarizedExperiment´s subsetByLeaf() function, which allows us to select specific tips from the tree, effectively pruning it to match the current subset of data.\n\ntse_sub &lt;- subsetByLeaf(tse_sub, rowLeaf = rownames(tse_sub))\ntse_sub\n##  class: TreeSummarizedExperiment \n##  dim: 5 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(5): 549322 522457 951 244423 586076\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (5 rows)\n##  rowTree: 1 phylo tree(s) (5 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nNow, we can see that the taxonomy tree has a simpler structure, including only the selected leaves.",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html#sec-fly-tree",
    "href": "pages/taxonomy.html#sec-fly-tree",
    "title": "6  Taxonomic information",
    "section": "\n6.4 Generate a hierarchy tree on the fly",
    "text": "6.4 Generate a hierarchy tree on the fly\nA hierarchy tree shows mapping between the taxonomic levels in taxonomic rank table (included in rowData), rather than the detailed phylogenetic relations. Usually, a phylogenetic tree refers to the latter which is why we here call the generated tree a “hierarchy tree”.\nTo create a hierarchy tree, getHierarchyTree() uses the information and returns a phylo object. Duplicate information from the rowData is removed.\n\ngetHierarchyTree(tse)\n##  \n##  Phylogenetic tree with 1645 tips and 1089 internal nodes.\n##  \n##  Tip labels:\n##    Species:Cenarchaeumsymbiosum, Species:pIVWA5, Species:CandidatusNitrososphaeragargensis, Species:SCA1145, Species:SCA1170, Species:Sulfolobusacidocaldarius, ...\n##  Node labels:\n##    root:ALL, Kingdom:Archaea, Phylum:Crenarchaeota, Class:C2, Class:Sd-NA, Class:Thaumarchaeota, ...\n##  \n##  Rooted; includes branch length(s).\n\n\ntse &lt;- addHierarchyTree(tse)\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 19216 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (1645 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nThe implementation is based on the toTree() function from the TreeSummarizedExperiment package (Huang 2020).\n\nHuang, Ruizhu. 2020. TreeSummarizedExperiment: A S4 Class for Data with Tree Structures.",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html#set-taxonomy-ranks",
    "href": "pages/taxonomy.html#set-taxonomy-ranks",
    "title": "6  Taxonomic information",
    "section": "\n6.5 Set taxonomy ranks",
    "text": "6.5 Set taxonomy ranks\nIf your data includes taxonomy ranks that are not included by default in mia, you can set the ranks manually. By doing so, mia will be able to detect and utilize these taxonomy ranks from your data as expected.\nGet default ranks of mia.\n\ngetTaxonomyRanks()\n##   [1] \"domain\"       \"superkingdom\" \"kingdom\"      \"phylum\"      \n##   [5] \"class\"        \"order\"        \"family\"       \"genus\"       \n##   [9] \"species\"      \"strain\"\n\nSet ranks to your own ranks. Remember that the order is meaningful.\n\n# Set ranks\nsetTaxonomyRanks(c(\"test\", \"test2\", \"apple\"))\n\n# Get ranks\ngetTaxonomyRanks()\n##  [1] \"test\"  \"test2\" \"apple\"",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/taxonomy.html#visualizing-phylogeny",
    "href": "pages/taxonomy.html#visualizing-phylogeny",
    "title": "6  Taxonomic information",
    "section": "\n6.6 Visualizing phylogeny",
    "text": "6.6 Visualizing phylogeny\nThe plotRowTree() function from the miaViz package provides a convenient way to visualize the phylogeny.\n\nlibrary(miaViz)\n\nplotRowTree(tse)\n\n\n\n\n\n\n\nBy default, the visualized phylogeny has only a limited amount of information. To enrich the visualization, we can prune the tree to genus level and visualize to which phyla these genera belong to.\n\n# Agglomerate data and prune tree\ntse &lt;- agglomerateByRank(tse, rank = \"Genus\")\n\n# Get top features\ntop &lt;- getTop(tse, top = 50L)\n\n# Plot\nplotRowTree(\n    tse[top, ],\n    tip.colour.by = \"Phylum\"\n)\n\n\n\n\n\n\n\nIn addition to nodes and tips, we can also color edges based on feature metadata. Below, we color edges based on phyla and illustrate the mean abundance of genera by coloring tips. Moreover, we switch to a dendrogram layout with the help of the scater package.\n\nlibrary(scater)\n\n# Calculate mean abundance\ntse &lt;- addPerFeatureQC(tse)\nrowData(tse)[[\"log_mean\"]] &lt;- log(rowData(tse)[[\"mean\"]])\n\n# Plot\nplotRowTree(\n    tse[top, ],\n    layout = \"dendrogram\",\n    edge.colour.by = \"Phylum\",\n    tip.colour.by = \"log_mean\"\n)\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: Learn how to handle taxonomy information.\nExercise 1: Taxonomy information\n\nLoad any of the example datasets mentioned in Section 4.2.\nEnsure that the data includes rowData and rowTree. If not, select some other dataset.\nList the available taxonomic ranks in the data.\nList the unique taxonomic features from specific taxonomy rank.\nSubset data by taking, e.g., the first 10 rows.\nHow many nodes does the phylogeny include?\nPrune the tree to correspond the subsetted data. How many nodes are left after pruning?\nVisualize the phylogeny.\nSave the data to another variable. Calculate the hierarchy tree, and visualize it. How does the tree differ from phylogeny?\n\nUseful functions:\nutils::data(), SummarizedExperiment::rowData(), TreeSummarizedExperiment::rowTree(), mia::taxonomyRanks(), mia::getUnique(), TreeSummarizedExperiment::rowTree(tse)$Nnode, TreeSummarizedExperiment::subsetByLeaf(), miaViz::plotRowTree(), mia::addHierarchyTree()",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>6</span>  <span class='chapter-title'>Taxonomic information</span>"
    ]
  },
  {
    "objectID": "pages/wrangling.html",
    "href": "pages/wrangling.html",
    "title": "7  Data wrangling",
    "section": "",
    "text": "7.1 Splitting\nThis chapter introduces several essential techniques for preparing data for analysis. These techniques include splitting data, modifying data, and converting data to a data.frame. Additionally, it explains how to merge multiple SummarizedExperiment objects when needed. For a basic understanding of TreeSummarizedExperiment please refer to Chapter 3.\nYou can split the data based on variables by using the functions agglomerateByRanks() and splitOn(). The former is detailed in Chapter 10.\nIf you want to split the data based on a variable other than taxonomic rank, use splitOn(). It works for row-wise and column-wise splitting. Splitting the data may be useful, for example, if you want to analyze data from different cohorts separately.\nThe following example demonstrates how to identify the most abundant taxonomic features for each sample type. Given that some samples originate from different origin, we expect differences between sample types. While getTop() can be used to determine the most abundant features across the entire dataset, this approach would obscure features that are specific to individual sample types.\nlibrary(mia)\nlibrary(knitr)\n\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# Agglomerate to phyla\ntse &lt;- agglomerateByRank(tse, rank = \"Phylum\")\n\n# Split data based on sample type\ntse_list &lt;- splitOn(tse, by = \"samples\", group = \"SampleType\")\n\n# Loop over the list of TreeSEs, and get top features for each\ntop_taxa &lt;- sapply(tse_list, getTop)\n\ntop_taxa |&gt; kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSoil\nFeces\nSkin\nTongue\nFreshwater\nFreshwater (creek)\nOcean\nSediment (estuary)\nMock\n\n\n\nProteobacteria\nFirmicutes\nFirmicutes\nProteobacteria\nCyanobacteria\nCyanobacteria\nProteobacteria\nProteobacteria\nFirmicutes\n\n\nAcidobacteria\nBacteroidetes\nProteobacteria\nFirmicutes\nActinobacteria\nProteobacteria\nBacteroidetes\nBacteroidetes\nBacteroidetes\n\n\nVerrucomicrobia\nCyanobacteria\nActinobacteria\nBacteroidetes\nProteobacteria\nBacteroidetes\nCyanobacteria\nCyanobacteria\nProteobacteria\n\n\nBacteroidetes\nActinobacteria\nBacteroidetes\nActinobacteria\nBacteroidetes\nVerrucomicrobia\nActinobacteria\nCrenarchaeota\nActinobacteria\n\n\nActinobacteria\nProteobacteria\nFusobacteria\nFusobacteria\nVerrucomicrobia\nChloroflexi\nEuryarchaeota\nPlanctomycetes\nTenericutes",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>7</span>  <span class='chapter-title'>Data wrangling</span>"
    ]
  },
  {
    "objectID": "pages/wrangling.html#sec-add-or-modify-data",
    "href": "pages/wrangling.html#sec-add-or-modify-data",
    "title": "7  Data wrangling",
    "section": "\n7.2 Add or modify variables",
    "text": "7.2 Add or modify variables\nThe information contained by the colData of a TreeSummarizedExperiment can be added and/or modified by accessing the desired variables. You might want to add or modify this data to include new variables or update existing ones, which can be essential for ensuring that all relevant metadata is available for subsequent analyses.\n\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# Modify the Description entries\ncolData(tse)$Description &lt;- paste(\n    colData(tse)$Description, \"modified description\"\n)\n\n# View modified variable\ntse$Description |&gt; head()\n##  [1] \"Calhoun South Carolina Pine soil, pH 4.9 modified description\"  \n##  [2] \"Cedar Creek Minnesota, grassland, pH 6.1 modified description\"  \n##  [3] \"Sevilleta new Mexico, desert scrub, pH 8.3 modified description\"\n##  [4] \"M3, Day 1, fecal swab, whole body study modified description\"   \n##  [5] \"M1, Day 1, fecal swab, whole body study  modified description\"  \n##  [6] \"M3, Day 1, right palm, whole body study modified description\"\n\nNew information can be added to the experiment by creating a new variable.\n\n# Simulate new data\nnew_data &lt;- runif(ncol(tse))\n\n# Store new data as a new variable in colData\ncolData(tse)$NewVariable &lt;- new_data\n\n# View the new variable\ntse$NewVariable |&gt; head()\n##  [1] 0.4391 0.9067 0.9763 0.6318 0.4028 0.1783\n\nAlternatively, you can add a whole table by merging it with existing colData.\n\n# Simulate new data\nnew_data &lt;- data.frame(var1 = runif(ncol(tse)), var2 = runif(ncol(tse)))\nrownames(new_data) &lt;- colnames(tse)\n\n# Combine existing data with new data\ncolData(tse) &lt;- cbind(colData(tse), new_data)\n\nSimilar steps can also be applied to rowData. If you have an assay whose rows and columns align with the existing ones, you can add the assay easily to the TreeSummarizedExperiment object.\nHere we add an assay that has random numbers but in real life these steps might come in handy after you have transformed the data with custom transformation that cannot be found from mia.\n\n# Create a matrix with random values\nmat &lt;- rnorm(ncol(tse) * nrow(tse), 0, 1)\nmat &lt;- matrix(mat, ncol = ncol(tse), nrow = nrow(tse))\n\n# Add matrix to tse\nassay(tse, \"random\", withDimnames = FALSE) &lt;- mat\n\nassayNames(tse)\n##  [1] \"counts\" \"random\"\n\nNow we can see that the TreeSummarizedExperiment object has an additional assay called “random”. When adding new samples or features to your existing dataset, you can use cbind() to combine columns for new features or rbind() to add rows for new samples.\n\ntse2 &lt;- cbind(tse, tse)\ntse2\n##  class: TreeSummarizedExperiment \n##  dim: 19216 52 \n##  metadata(0):\n##  assays(2): counts random\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(52): CL3 CC1 ... Even2 Even3\n##  colData names(10): X.SampleID Primer ... var1 var2\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nHowever, the aforementioned functions assume that the rows align correctly when combining columns, and vice versa. In practice, this is often not the case; for example, samples may have different feature sets. In such situations, using a merging approach is the appropriate method.",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>7</span>  <span class='chapter-title'>Data wrangling</span>"
    ]
  },
  {
    "objectID": "pages/wrangling.html#merge-data",
    "href": "pages/wrangling.html#merge-data",
    "title": "7  Data wrangling",
    "section": "\n7.3 Merge data",
    "text": "7.3 Merge data\nThe mia package has a mergeSEs() function that merges multiple SummarizedExperimentobjects. For example, it is possible to combine multiple TreeSummarizedExperiment objects which each includes one sample.\nmergeSEs() works much like standard joining operations. It combines rows and columns and allows you to specify the merging method.\n\n# Take subsets for demonstration purposes\ntse1 &lt;- tse[, 1]\ntse2 &lt;- tse[, 2]\ntse3 &lt;- tse[, 3]\ntse4 &lt;- tse[1:100, 4]\n\n\n# With inner join, we want to include all shared rows. When using mergeSEs\n# function all samples are always preserved.\ntse &lt;- mergeSEs(list(tse1, tse2, tse3, tse4), join = \"inner\")\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 100 4 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(100): 239672 243675 ... 104332 159421\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(4): CC1 CL3 M31Fcsw SV1\n##  colData names(10): X.SampleID Primer ... var1 var2\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (100 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\n\n# Left join preserves all rows of the 1st object\ntse &lt;- mergeSEs(tse1, tse4, missing.values = 0, join = \"left\")\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 19216 2 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(19216): 239672 243675 ... 239967 254851\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(2): CL3 M31Fcsw\n##  colData names(10): X.SampleID Primer ... var1 var2\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>7</span>  <span class='chapter-title'>Data wrangling</span>"
    ]
  },
  {
    "objectID": "pages/wrangling.html#melting-data",
    "href": "pages/wrangling.html#melting-data",
    "title": "7  Data wrangling",
    "section": "\n7.4 Melting data",
    "text": "7.4 Melting data\nFor several custom analysis and visualization packages, such as those from tidyverse, the SummarizedExperiment data can be converted to a long data.frame format with meltSE().\n\nlibrary(knitr)\n\n# Melt SE object\nmolten_tse &lt;- meltSE(\n    tse,\n    assay.type = \"counts\",\n    add.row = TRUE,\n    add.col = TRUE,\n)\n\nmolten_tse |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nFeatureID\nSampleID\ncounts\nKingdom\nPhylum\nClass\nOrder\nFamily\nGenus\nSpecies\nX.SampleID\nPrimer\nFinal_Barcode\nBarcode_truncated_plus_T\nBarcode_full_length\nSampleType\nDescription\nNewVariable\nvar1\nvar2\n\n\n\n239672\nCL3\n0\nArchaea\nCrenarchaeota\nC2\nB10\nNA\nNA\nNA\nCL3\nILBC_01\nAACGCA\nTGCGTT\nCTAGCGTGCGT\nSoil\nCalhoun South Carolina Pine soil, pH 4.9 modified description\n0.4391\n0.1044\n0.4355\n\n\n239672\nM31Fcsw\n0\nArchaea\nCrenarchaeota\nC2\nB10\nNA\nNA\nNA\nM31Fcsw\nILBC_04\nAAGAGA\nTCTCTT\nTCGACATCTCT\nFeces\nM3, Day 1, fecal swab, whole body study modified description\n0.6318\n0.8940\n0.9488\n\n\n243675\nCL3\n0\nArchaea\nCrenarchaeota\nC2\nB10\nNA\nNA\nNA\nCL3\nILBC_01\nAACGCA\nTGCGTT\nCTAGCGTGCGT\nSoil\nCalhoun South Carolina Pine soil, pH 4.9 modified description\n0.4391\n0.1044\n0.4355\n\n\n243675\nM31Fcsw\n0\nArchaea\nCrenarchaeota\nC2\nB10\nNA\nNA\nNA\nM31Fcsw\nILBC_04\nAAGAGA\nTCTCTT\nTCGACATCTCT\nFeces\nM3, Day 1, fecal swab, whole body study modified description\n0.6318\n0.8940\n0.9488\n\n\n444679\nCL3\n0\nArchaea\nCrenarchaeota\nC2\nB10\nNA\nNA\nNA\nCL3\nILBC_01\nAACGCA\nTGCGTT\nCTAGCGTGCGT\nSoil\nCalhoun South Carolina Pine soil, pH 4.9 modified description\n0.4391\n0.1044\n0.4355\n\n\n444679\nM31Fcsw\n0\nArchaea\nCrenarchaeota\nC2\nB10\nNA\nNA\nNA\nM31Fcsw\nILBC_04\nAAGAGA\nTCTCTT\nTCGACATCTCT\nFeces\nM3, Day 1, fecal swab, whole body study modified description\n0.6318\n0.8940\n0.9488\n\n\n\n\n\nFor MultiAssayExperiment data, you can instead utilize longForm().\n\ndata(HintikkaXOData)\nmae &lt;- HintikkaXOData\n\nmolten_mae &lt;- longForm(\n    mae,\n    i = c(\"counts\", \"nmr\", \"signals\"),\n    colDataCols = c(\"Rat\", \"Diet\")\n)\n\nmolten_mae |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nassay\nprimary\nrowname\ncolname\nvalue\nRat\nDiet\n\n\n\nmicrobiota\nC1\nGAYR01026362.62.2014\nC1\n0\n1\nHigh-fat\n\n\nmicrobiota\nC1\nCVJT01000011.50.2173\nC1\n1\n1\nHigh-fat\n\n\nmicrobiota\nC1\nKF625183.1.1786\nC1\n0\n1\nHigh-fat\n\n\nmicrobiota\nC1\nAYSG01000002.292.2076\nC1\n0\n1\nHigh-fat\n\n\nmicrobiota\nC1\nCCPS01000022.154.1916\nC1\n7\n1\nHigh-fat\n\n\nmicrobiota\nC1\nKJ923794.1.1762\nC1\n0\n1\nHigh-fat",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>7</span>  <span class='chapter-title'>Data wrangling</span>"
    ]
  },
  {
    "objectID": "pages/wrangling.html#tidy-r-programming",
    "href": "pages/wrangling.html#tidy-r-programming",
    "title": "7  Data wrangling",
    "section": "\n7.5 Tidy R programming",
    "text": "7.5 Tidy R programming\nThe tidy paradigm, first introduced in the tidyverse, promotes an intuitive and easy-to-learn coding style, which has made it popular among users. tidyomics bridges the gap between Bioconductor’s SummarizedExperiment ecosystem and the tidyverse (Hutchison et al. 2024).\n\nHutchison, William J., Timothy J. Keyes, Helena L. Crowell, Jacques Serizay, Charlotte Soneson, Eric S. Davis, Noriaki Sato, et al. 2024. “The Tidyomics Ecosystem: Enhancing Omic Data Analyses.” Nature Methods 21 (7): 1166–70. https://doi.org/10.1038/s41592-024-02299-2.\nThe package tidySingleCellExperiment can be used to manage data in SummarizedExperiment. For instance, we can easily view the object as a tibble abstraction, familiar from tidyverse.\n\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\nlibrary(tidySingleCellExperiment)\n\ntse\n##  # A SingleCellExperiment-tibble abstraction: 26 × 8\n##  # [90mFeatures=19216 | Cells=26 | Assays=counts[0m\n##    .cell   X.SampleID Primer  Final_Barcode Barcode_truncated_plus_T\n##    &lt;chr&gt;   &lt;fct&gt;      &lt;fct&gt;   &lt;fct&gt;         &lt;fct&gt;                   \n##  1 CL3     CL3        ILBC_01 AACGCA        TGCGTT                  \n##  2 CC1     CC1        ILBC_02 AACTCG        CGAGTT                  \n##  3 SV1     SV1        ILBC_03 AACTGT        ACAGTT                  \n##  4 M31Fcsw M31Fcsw    ILBC_04 AAGAGA        TCTCTT                  \n##  5 M11Fcsw M11Fcsw    ILBC_05 AAGCTG        CAGCTT                  \n##  6 M31Plmr M31Plmr    ILBC_07 AATCGT        ACGATT                  \n##  # ℹ 20 more rows\n##  # ℹ 3 more variables: Barcode_full_length &lt;fct&gt;, SampleType &lt;fct&gt;, …\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nBy utilizing tidy programming, we could then effortlessly manipulate the data. For instance, we can calculate the mean library size in each sample type. This is done by first calculating library size for each sample and then summarizing total counts in each sample type; all done by using tidy paradigm. For more information on library size, see Chapter 8.\n\ntse %&gt;%\n    join_features(features = rownames(tse), shape = \"long\") %&gt;%\n    group_by(.cell) %&gt;%\n    mutate(total_counts = sum(.abundance_counts)) %&gt;%\n    group_by(SampleType) %&gt;%\n    summarise(total_counts = mean(total_counts))\n##  # A tibble: 9 × 2\n##    SampleType         total_counts\n##    &lt;fct&gt;                     &lt;dbl&gt;\n##  1 Feces                  1442116 \n##  2 Freshwater             1667452 \n##  3 Freshwater (creek)     1741407.\n##  4 Mock                   1088484.\n##  5 Ocean                  1218451 \n##  6 Sediment (estuary)      277173.\n##  # ℹ 3 more rows\n\nWe can then filter samples and leverage ggplot2 for plotting. In the example below, we select soil samples and visualize their abundances with a boxplot. Of course, these tidy commands can be combined with mia tools. Before plotting, we apply CLR transformation by using trasformAssay() (see more on transformation from Chapter 11).\n\nlibrary(ggplot2)\n\ntse %&gt;%\n    filter(SampleType == \"Soil\") %&gt;%\n    transformAssay(method = \"clr\", pseudocount = TRUE) %&gt;%\n    join_features(features = rownames(tse), shape = \"long\") %&gt;%\n    ggplot(aes(x = .cell, y = .abundance_clr, fill = .cell)) +\n    geom_boxplot()\n\n\n\n\n\n\n\nAs demonstrated, tidy R programming can be effectively used to manage TreeSummarizedExperiment objects. Please refer to tidySummarizedExperiment and tidySingleCellExperiment vignettes for more examples.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal is to learn how to work with multiple datasets by merging them and splitting datasets into lists of TreeSummarizedExperiments (TreeSE).\nExercise 1: Working with multiple datasets\n\nLoad any of the example datasets mentioned in Section 4.2.\nExplore the sample metadata.\nAdd arbitrary groups to colData. For instance, you can create groups like this: sample(c(\"group1\", \"group2\"), size = ncol(tse), replace = TRUE).\nExplore the group distribution with a bar plot.\nSplit the data based on groups. The result should be a list containing each group in separate TreeSE.\nFor each TreeSE, explore the grouping variable in colData. Does each TreeSE include only one unique value?\n\nCalculate the total number of counts in each group.\n\nLoop through elements of the list.\nFor single TreeSE, retrieve assay, sum all the values, and add the calculated sum to colData (all the samples in a certain group should have the same value).\nThe result should be a list of TreeSEs with an additional sample metadata column.\n\n\nCombine the list back to a single TreeSE object.\nLoad another dataset from Section 4.2 and merge it with the one You’ve been using. Explore the data.\n\nUseful functions:\nutils::data(), SummarizedExperiment::colData(), base::sample(), miaViz::plotBarplot(), mia::splitOn(), BiocGenerics::lapply(), SummarizedExperiment::assay(), base::sum(), mia::unsplitOn(), mia::mergeSEs()",
    "crumbs": [
      "Data wrangling",
      "<span class='chapter-number'>7</span>  <span class='chapter-title'>Data wrangling</span>"
    ]
  },
  {
    "objectID": "pages/preprocess.html",
    "href": "pages/preprocess.html",
    "title": "QC & preprocessing",
    "section": "",
    "text": "As a first step after importing the data into TreeSummarizedExperiment, one should explore the data and perform quality control (QC). This is important because data quality affects the final results, and failing to assess it accurately can lead to erroneous interpretations. QC and exploration are discussed in 8  Exploration & quality control.\nBased on the QC results, researchers usually apply sample and feature filtering to improve the robustness of the analysis. To focus on a specific taxonomic rank, data agglomeration is commonly performed. Filtering and agglomeration are discussed in detail in 9  Subsetting and 10  Agglomeration.\nData transformations, covered in 11  Transformation, are applied after filtering. For more information on preprocessing, you can refer to Zhou et al. (2023), for instance.\n\n\n\nZhou, Ruwen, Siu Kin Ng, Joseph Jao Yiu Sung, Wilson Wen Bin Goh, and Sunny Hei Wong. 2023. “Data Pre-Processing for Analyzing Microbiome Data – a Mini Review.” Computational and Structural Biotechnology Journal 21: 4804–15. https://doi.org/10.1016/j.csbj.2023.10.001.\n\n\n Back to top",
    "crumbs": [
      "QC & preprocessing"
    ]
  },
  {
    "objectID": "pages/quality_control.html",
    "href": "pages/quality_control.html",
    "title": "8  Exploration & quality control",
    "section": "",
    "text": "8.1 Summarize data\nThis chapter focuses on the quality control (QC) and exploration of microbiome data and establishes commonly used descriptive summaries. Familiarizing yourself with the peculiarities of a given dataset is essential for data analysis and model building to make justified conclusions.\nThe dataset should not suffer from severe technical biases, and you should at least be aware of potential challenges, such as outliers, biases, unexpected patterns, and so forth. Standard summaries and visualizations can help, and the rest comes with experience. Moreover, exploration and QC often entail iterative processes.\nThere are available guidelines for QC, for instance, as described by Zuur, Ieno, and Elphick (2010). However, it should be noted that one should not follow any protocols strictly but rather use them as a template and customize them to one’s dataset. The goal of QC is not only to improve quality of data, but also to understand it and its limitations. Poor data quality leads to poor results which is illustrated by a common expression in computer science:\nBelow we download a dataset from microbiomeDataSets. The dataset contains 16S data from the gut microbiome of baboons.\nWhen you first get your hands dirty with the data, the first step is to summarize it and get a sense of what kind of data you’re dealing with. Printing the TreeSummarizedExperiment object already provides useful information about the dataset’s dimensions, such as the number of samples and taxonomic features.\ntse\n##  class: TreeSummarizedExperiment \n##  dim: 613 16234 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(613): asv_10002 asv_10020 ... asv_9990 asv_9991\n##  rowData names(7): Domain Phylum ... Genus ASV\n##  colnames(16234): sample_11410-AACTCCTGTGGA-396\n##    sample_11413-CGGCCTAAGTTC-397 ... sample_11413-ACCCTCAGCCCA-397\n##    sample_12049-TCAGCAAATGGT-407\n##  colData names(35): sample baboon_id ... pc4_bc pc5_bc\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (613 rows)\n##  rowTree: 1 phylo tree(s) (613 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n##  referenceSeq: a DNAStringSet (613 sequences)\nThe dataset includes 613 features identified from 16234 samples. mia provides the summary() function for TreeSummarizedExperiment objects which returns the summary of counts for all samples and features including measures of central tendency.\nlibrary(mia)\n\n# Calculate summary tables\nsummary(tse, assay.type = \"counts\")\n##  $samples\n##  # A tibble: 1 × 6\n##    total_counts min_counts max_counts median_counts mean_counts stdev_counts\n##           &lt;dbl&gt;      &lt;dbl&gt;      &lt;dbl&gt;         &lt;dbl&gt;       &lt;dbl&gt;        &lt;dbl&gt;\n##  1    787665544        874     467725         47009      48519.       19089.\n##  \n##  $features\n##  # A tibble: 1 × 3\n##    total singletons per_sample_avg\n##    &lt;int&gt;      &lt;int&gt;          &lt;dbl&gt;\n##  1   613          0           209.\nThe returned tables show that samples exhibit lots of variance in library sizes. Moreover, we can observe that there are no singletons in the dataset (library size and singletons are discussed in more detail in Section 8.2).\nAnother type of summary can be generated using the summarizeDominance() function. This function returns a table displaying both the absolute and relative abundance of each taxon — that is, how many times a taxon was detected in the dataset and the proportion of samples in which it was identified. Below, we create a summary table for genera.\ndf &lt;- summarizeDominance(tse, rank = \"Genus\")\ndf\n##  # A tibble: 43 × 3\n##    dominant_taxa                   n rel_freq\n##    &lt;chr&gt;                       &lt;int&gt;    &lt;dbl&gt;\n##  1 Bifidobacterium             11160  0.687  \n##  2 Prevotella 9                 2141  0.132  \n##  3 Rikenellaceae RC9 gut group  1555  0.0958 \n##  4 Candidatus Methanogranum      460  0.0283 \n##  5 Megasphaera                   246  0.0152 \n##  6 CAG-873                       138  0.00850\n##  # ℹ 37 more rows\nBased on the summary table, Bifidobacterium seems to be highly presented in the baboon gut.\nmia also provides other functions to summarize the dataset. For example, you can retrieve unique, top, prevalent, or rare features using getUnique(), getTop(), getPrevalent(), and getRare(), respectively.\nLet’s first check which phyla are included in the dataset.\nuniq &lt;- getUnique(tse, rank = \"Phylum\")\nuniq\n##   [1] &lt;NA&gt;               Tenericutes        Firmicutes        \n##   [4] Lentisphaerae      Actinobacteria     Elusimicrobia     \n##   [7] Kiritimatiellaeota Euryarchaeota      Bacteroidetes     \n##  [10] Spirochaetes       Proteobacteria     Epsilonbacteraeota\n##  [13] Cyanobacteria     \n##  42 Levels: Acidobacteria Actinobacteria Aquificae ... WS4\nThere are 13 phyla present in the dataset.\nNext, we might be interested in assessing which features are the most abundant. This can be done by utilizing the getTop() function. Below, we pick the top 10 taxonomic features which is determined based on median abundance.\n# Pick the top taxa\ntop_features &lt;- getTop(tse, method = \"median\", top = 10)\ntop_features\n##   [1] \"asv_8243\" \"asv_1543\" \"asv_1874\" \"asv_9331\" \"asv_4629\" \"asv_3018\"\n##   [7] \"asv_2919\" \"asv_3109\" \"asv_9212\" \"asv_7528\"\nThese ten features have the highest median abundance across all samples. getPrevalent() differs from getTop() in that it retrieves which features exceeds the specified prevalence and detection thresholds. Here we determine prevalent genera.\nprev &lt;- getPrevalent(tse, rank = \"Genus\", prevalence = 0.2, detection = 0)\nprev |&gt; head()\n##  [1] \"Acidaminococcus\"   \"Alloprevotella\"    \"Anaerosporobacter\"\n##  [4] \"Bifidobacterium\"   \"Brachyspira\"       \"Butyricicoccus\"\nOut of 92 genera, 78 of them are detected to be prevalent, meaning they are found in a sufficient number of samples with sufficiently high abundance.\ngetRare() function is counterpart of getPrevalent(). It returns those features that do not exceed the thresholds.\nrare &lt;- getRare(tse, rank = \"Genus\", prevalence = 0.2, detection = 0)\nrare |&gt; head()\n##  [1] \"Acetitomaculum\"               \"Acholeplasma\"                \n##  [3] \"Candidatus Soleaferrea\"       \"Catenibacterium\"             \n##  [5] \"Cellulosilyticum\"             \"Lachnospiraceae NC2004 group\"\nIt returns 14 features which is expected as it should match with the number of genera after subtracting the prevalent ones.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>8</span>  <span class='chapter-title'>Exploration & quality control</span>"
    ]
  },
  {
    "objectID": "pages/quality_control.html#sec-qc-outliers",
    "href": "pages/quality_control.html#sec-qc-outliers",
    "title": "8  Exploration & quality control",
    "section": "\n8.2 Outliers, singletons and contaminants",
    "text": "8.2 Outliers, singletons and contaminants\nOutliers are observations that deviate significantly from the rest of the data. Researchers should be cautious when handling outliers, as what appears to be an outlier may actually result from a valid biological mechanism. This is especially relevant in the microbiome field, where sequenced counts often exhibit seemingly irregular variation. In such cases, transformations (see Chapter 11) are typically the preferred approach for handling these observations. However, if an observation or sample is significantly affected by measurement error, removing it may be a reasonable option. The approach to dealing with outliers in each dataset requires careful consideration by the researcher.\nSingletons are sequences that appears only once in a dataset, meaning it is observed in just a single sequencing read. Often rare features are removed from the data as they usually represent sequencing artifacts. See Section 9.6 and Section 10.3 for more details on prevalence filtering and agglomeration.\n\n8.2.1 Library size\nLibrary size refers to the total number of counts found in a single sample. The returned tables in Section 8.1 showed that samples exhibit lots of variance in library sizes. We can then visualize the library sizes. The total counts per sample can be calculated using addPerCellQC() from the scater package.\n\nlibrary(scater)\n\n# Calculate and add total counts to colData\ntse &lt;- addPerCellQC(tse)\n\nThe results are stored in colData. We can then visualize these results with a violin plot and histogram.\n\nlibrary(miaViz)\nlibrary(patchwork)\n\np1 &lt;- plotColData(tse, x = \"sex\", y = \"total\", colour_by = \"age\")\np2 &lt;- plotHistogram(tse, col.var = \"total\")\n\np1 + p2\n\n\n\n\n\n\n\nThe distribution of library size is right-skewed. Most of the samples follow normal distribution while some of the samples deviates from this. This might be caused by technical variations or biological factors.\nNevertheless, the most important check is to ensure that the sampling depth is sufficient. In case of insufficient sampling depth, one might consider filtering the data based on library size (Section 9.4).\nTo control uneven sampling depths, one should apply data transformation or apply rarefaction. These both approaches are discussed in Chapter 11.\n\n8.2.2 Contaminant sequences\nSamples might be contaminated with exogenous sequences. The impact of each contaminant can be estimated based on its frequencies and concentrations across the samples.\nThe following decontam functions are based on Davis et al. (2018) and support such functionality:\n\nDavis, Nicole M, Diana M Proctor, Susan P Holmes, David A Relman, and Benjamin J Callahan. 2018. “Simple Statistical Identification and Removal of Contaminant Sequences in Marker-Gene and Metagenomics Data.” Microbiome 6 (1): 1–14.\n\n\nisContaminant(), isNotContaminant()\n\n\naddContaminantQC(), addNotContaminantQC()\n\n\nContaminations can be detected using two main approaches: frequency-based and prevalence-based testing. In frequency-based testing, the user must provide the DNA concentration of samples. The abundance of features is then compared to the DNA concentration, as contaminants are expected to show an inverse relationship — they make up a larger fraction in low-DNA samples and smaller fraction in high-DNA samples.\nIn the prevalence-based approach, sequence prevalence is compared between true biological samples and control samples. This method assumes that contaminants are more prevalent in negative controls, as these lack true biological DNA and primarily contain background noise from contamination sources.\nThe dataset contains DNA concentration recorded in the post_pcr_dna_ng column in the sample metadata. This information can be used for frequency-based contamination identification.\n\nlibrary(knitr)\n\ncolData(tse) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsample\nbaboon_id\ncollection_date\nsex\nage\nsocial_group\ngroup_size\nrain_month_mm\nseason\nhydro_year\nmonth\nreadcount\nplate\npost_pcr_dna_ng\ndiet_PC1\ndiet_PC2\ndiet_PC3\ndiet_PC4\ndiet_PC5\ndiet_PC6\ndiet_PC7\ndiet_PC8\ndiet_PC9\ndiet_PC10\ndiet_PC11\ndiet_PC12\ndiet_PC13\ndiet_shannon_h\nasv_richness\nasv_shannon_h\npc1_bc\npc2_bc\npc3_bc\npc4_bc\npc5_bc\nsum\ndetected\ntotal\n\n\n\nsample_11410-AACTCCTGTGGA-396\nsample_11410-AACTCCTGTGGA-396\nBaboon_1\n2010-08-14\nM\n8.375\ng_2.1\n74\n0.0\ndry\n2010\n8\n26140\n129\n78.98\n44.245\n13.304\n-3.182\n1.639\n-1.5291\n1.2958\n1.957\n0.840\n0.8753\n0.2847\n-0.4202\n0.4844\n-0.0784\n0.7761\n179\n2.972\n-0.0649\n0.2813\n-0.0912\n-0.0204\n0.0731\n25202\n159\n25202\n\n\nsample_11413-CGGCCTAAGTTC-397\nsample_11413-CGGCCTAAGTTC-397\nBaboon_1\n2010-05-14\nM\n8.123\ng_2.1\n72\n44.6\nwet\n2010\n5\n11186\n9\n49.70\n-1.621\n-3.402\n-16.786\n8.296\n-0.4551\n-0.4667\n1.290\n-5.776\n0.9291\n-1.7560\n0.1513\n-1.9706\n-5.9968\n1.6158\n60\n1.574\n0.3312\n0.2543\n-0.1423\n0.2182\n-0.2007\n10975\n58\n10975\n\n\nsample_11409-CAGAAGGTGTGG-395\nsample_11409-CAGAAGGTGTGG-395\nBaboon_1\n2011-01-08\nM\n8.778\ng_2.1\n80\n12.2\nwet\n2011\n1\n30532\n196\n59.16\n-34.954\n-8.627\n-5.499\n-9.029\n-1.9215\n9.7852\n13.418\n10.094\n-10.1494\n-3.0103\n3.0000\n0.2265\n0.1694\n1.8709\n164\n3.045\n0.1434\n0.2225\n0.0493\n0.0680\n-0.0521\n29799\n151\n29799\n\n\nsample_11412-AAGGCCTTTACG-397\nsample_11412-AAGGCCTTTACG-397\nBaboon_1\n2010-11-18\nM\n8.638\ng_2.1\n75\n70.6\nwet\n2011\n11\n35855\n198\n46.91\n-14.331\n5.290\n9.872\n12.223\n-1.3256\n1.4292\n1.043\n-1.948\n-1.7495\n-0.4891\n-3.5910\n0.2045\n0.0381\n1.4014\n113\n2.485\n0.1796\n0.2159\n0.0269\n-0.1299\n-0.0282\n35143\n107\n35143\n\n\nsample_11409-GTTGCTGAGTCC-395\nsample_11409-GTTGCTGAGTCC-395\nBaboon_1\n2011-01-22\nM\n8.816\ng_2.1\n81\n0.0\nwet\n2011\n1\n49800\n146\n50.14\n-6.118\n-8.050\n-7.833\n-8.504\n-8.9970\n4.1727\n4.685\n12.025\n-9.4630\n0.8942\n2.1969\n0.4153\n0.1357\n1.9947\n201\n3.317\n0.0630\n0.2135\n0.0708\n0.0638\n-0.0419\n48532\n189\n48532\n\n\nsample_11408-GGTCTTAGCACC-395\nsample_11408-GGTCTTAGCACC-395\nBaboon_1\n2010-10-14\nM\n8.542\ng_2.1\n76\n0.0\ndry\n2010\n10\n45778\n194\n46.91\n15.927\n2.057\n5.217\n4.699\n-5.0800\n0.4955\n2.755\n-3.277\n-2.1587\n-0.2728\n1.5095\n-1.5876\n0.3703\n1.4930\n244\n3.783\n0.0027\n0.1412\n0.1576\n0.0705\n0.0437\n43298\n217\n43298\n\n\n\n\n\nNow we can detect contaminant sequences. We run addContaminantQC() which adds results to rowData.\n\ntse &lt;- addContaminantQC(tse, concentration = \"post_pcr_dna_ng\")\n\nrowData(tse) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDomain\nPhylum\nClass\nOrder\nFamily\nGenus\nASV\nfreq\nprev\np.freq\np.prev\np\ncontaminant\n\n\n\nasv_10002\nBacteria\nNA\nNA\nNA\nNA\nNA\nasv_10002\n0.0003\n3355\n0.6914\nNA\n0.6914\nFALSE\n\n\nasv_10020\nBacteria\nTenericutes\nMollicutes\nMollicutes RF39\nNA\nNA\nasv_10020\n0.0001\n2511\n0.7099\nNA\n0.7099\nFALSE\n\n\nasv_10027\nBacteria\nTenericutes\nMollicutes\nMollicutes RF39\nNA\nNA\nasv_10027\n0.0001\n2835\n0.7766\nNA\n0.7766\nFALSE\n\n\nasv_10036\nBacteria\nTenericutes\nMollicutes\nMollicutes RF39\nNA\nNA\nasv_10036\n0.0016\n8633\n0.7051\nNA\n0.7051\nFALSE\n\n\nasv_10052\nNA\nNA\nNA\nNA\nNA\nNA\nasv_10052\n0.0001\n2833\n0.7341\nNA\n0.7341\nFALSE\n\n\nasv_10072\nBacteria\nFirmicutes\nClostridia\nClostridiales\nRuminococcaceae\nRuminiclostridium 6\nasv_10072\n0.0001\n2138\n0.6394\nNA\n0.6394\nFALSE\n\n\n\n\n\nThe method performs statistical tests to identify contaminants. By default, it uses a 0.1 probability threshold for identifying contaminants, which can be adjusted as needed. In this case, 0% of sequences were detected to be contaminants. We can then filter out these features from the data.\n\ntse &lt;- tse[!rowData(tse)[[\"contaminant\"]], ]\n\nAs an example, we also demonstrate how to apply the prevalence-based approach. Note that the data used here is arbitrary, and in practice, you should use real control sample information.\nFirst, we add arbitrary control samples:\n\ncontrol &lt;- rep(FALSE, ncol(tse))\ncontrol[sample(seq_len(ncol(tse)), 1)] &lt;- TRUE\ntse[[\"control\"]] &lt;- control\n\nNext, we perform the analysis. Note that we could have applied both frequency-based and prevalence-based methods simultaneously by specifying the method parameter in the previous step.\n\nnot_contaminant &lt;- isNotContaminant(tse, control = \"control\", detailed = FALSE)\nnot_contaminant |&gt; head()\n##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE\n\nTo identify non-contaminant sequences with prevalence approach, a threshold of 0.5 is used, by default. As noted in the previous step, the add*() functions add results to rowData. Here, we used function that return only the results. By specifying detailed = FALSE, we obtain the results as a vector, which can then be used for subsetting the data.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>8</span>  <span class='chapter-title'>Exploration & quality control</span>"
    ]
  },
  {
    "objectID": "pages/quality_control.html#data-distribution",
    "href": "pages/quality_control.html#data-distribution",
    "title": "8  Exploration & quality control",
    "section": "\n8.3 Data distribution",
    "text": "8.3 Data distribution\nMicrobiome counts data is rarely normally distributed (see Section 11.1). However, many common statistical tests assume normality and using them while violating the assumptions might lead to incorrect conclusions. While several tests for normality exist — such as Shapiro-Wilk test — they do not replace visual observation.\nThe plotHistogram() function provides an easy way to visualize the counts distribution with a histogram.\n\nplotHistogram(tse, assay.type = \"counts\")\n\n\n\n\n\n\n\nThe microbiome data is typically zero-inflated, meaning that there are lots of zeroes. The same method can also be used to visualize continuous variables from colData. For categorical values, one can utilize plotBarplot().\n\np1 &lt;- plotHistogram(tse, col.var = \"age\") +\n    labs(x = \"Age\")\np2 &lt;- plotBarplot(tse, col.var = \"sex\") +\n    labs(x = \"Sex\")\n\np1 + p2\n\n\n\n\n\n\n\n\n8.3.1 Abundance\nAbundance visualization is an important data exploration approach. plotAbundanceDensity() function generates a plot to visualize the most abundant taxonomic features along with several options.\nNext, a few demonstrations are shown using the Lahti et al. (2014) dataset. A jitter plot based on relative abundance data, similar to the one presented by Salosensaari et al. (2021) (Supplementary Fig.1), can be visualized as follows:\n\nLahti, L, JSalojärvi, A Salonen, M Scheffer, and WM de Vos. 2014. “Tipping Elements in the Human Intestinal Ecosystem.” Nature Communications 2014: 1–10. https://doi.org/https://doi.org/10.1038/ncomms5344.\n\nSalosensaari, Aaro, Ville Laitinen, Aki Havulinna, Guillaume Méric, Susan Cheng, Markus Perola, Liisa Valsta, et al. 2021. “Taxonomic Signatures of Cause-Specific Mortality Risk in Human Gut Microbiome.” Nature Communications 12: 1–8. https://www.nature.com/articles/s41467-021-22962-y.\n\n# Add relative abundances\ntse &lt;- transformAssay(tse, method = \"relabundance\")\n\nplotAbundanceDensity(\n    tse,\n    layout = \"jitter\",\n    assay.type = \"relabundance\",\n    n = 40, point.size = 1, point.shape = 19,\n    point.alpha = 0.1\n) +\n    scale_x_log10(label = scales::percent)\n\n\n\n\n\n\n\nThe relative abundance values for the top-5 taxonomic features can be visualized as a density plot over a log-scaled axis, with “sex” indicated by colors:\n\nplotAbundanceDensity(\n    tse,\n    layout = \"density\",\n    assay.type = \"relabundance\",\n    n = 5, colour.by = \"sex\",\n    point.alpha = 0.1\n) +\n    scale_x_log10()\n\n\n\n\n\n\n\nAlternatively, the plotExpression() function from the scater package can be used to visualize taxonomic features with a violin plot. Below, we visualize top-10 features, selected based on their mean abundance.\n\n# Select top features\ntop &lt;- getTop(tse, top = 10L, method = \"mean\")\n\nplotExpression(\n    tse,\n    features = top,\n    x = \"sex\",\n    assay.type = \"relabundance\",\n    point_alpha = 0.01\n) +\n    scale_y_log10()\n\n\n\n\n\n\n\n\n8.3.2 Prevalence\nPrevalence quantifies the frequency of samples where certain microbes were detected (above a given detection threshold). Prevalence can be given as sample size (N) or percentage (unit interval).\nInvestigating prevalence allows you either to focus on changes which pertain to the majority of the samples, or identify rare microbes, which may be conditionally abundant in a small number of samples.\nWe can plot a histogram of the prevalence of features. This would tell us whether there are many features present in most of the samples or if there are mostly rare taxonomic features. The population prevalence (frequency) at a 0.01% relative abundance threshold (detection = 0.1/100 and as.relative = TRUE) can look like this.\n\n# Add prevalence of features\ntse &lt;- addPrevalence(tse, detection = 0.1 / 100, as.relative = TRUE)\n\n# Plot them with a histogram\nplotHistogram(tse, row.var = \"prevalence\")\n\n\n\n\n\n\n\nMost of the features are present only in a minority of the samples with a specified abundance threshold. Similar conclusion can be made with visualizations generated with the plotPrevalentAbundance() or plotRowPrevalence() functions.\n\np1 &lt;- plotPrevalentAbundance(tse, as.relative = TRUE)\n\n# Remove y axis text as there are so many features that one cannot read them\np2 &lt;- plotRowPrevalence(tse, as.relative = TRUE) +\n    theme(\n        axis.text.y = element_blank(),\n        axis.ticks.y = element_blank()\n    )\n\np1 + p2\n\n\n\n\n\n\n\nThe plots above show that most of the taxonomic features are present with low abundance. However, there are a couple features that are both highly abundant and prevalent in the dataset.\nThe figures also show the overall trend that most microbes are low in abundance and occur in a limited number of samples. This is a typical pattern in microbiome datasets, and can be further visualized as follows.\n\nplotPrevalence(tse, as.relative = TRUE)\n\n\n\n\n\n\n\nThe plot shows the relationship between microbial relative abundance and prevalence across samples. Features with higher prevalence (yellow) tend to have lower relative abundance, while less prevalent features (purple) can still reach higher abundances in some cases.\nTo analyze how much the core taxonomic features are present in samples, we can calculate how large proportions the core features present in each sample. We can then visualize this distribution again with a histogram.\n\n# Calculate the proportion of core taxa\ntse &lt;- addPrevalentAbundance(tse, prevalence = 50 / 100, detection = 0.1 / 100)\n\n# Visualize\nplotHistogram(tse, col.var = \"prevalent_abundance\")\n\n\n\n\n\n\n\nIn most of the samples, the core taxonomic features represent over 3/4 of species. However, there are some samples where this proportion is much lower.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>8</span>  <span class='chapter-title'>Exploration & quality control</span>"
    ]
  },
  {
    "objectID": "pages/quality_control.html#collinearity-and-independence",
    "href": "pages/quality_control.html#collinearity-and-independence",
    "title": "8  Exploration & quality control",
    "section": "\n8.4 Collinearity and independence",
    "text": "8.4 Collinearity and independence\nMicrobial species are rarely independent; rather, they influence each other’s abundance through complex networks of competition and symbiosis. Collinearity occurs when information from one variable is already included in some other variable. Modeling variables that exhibit collinearity can lead to issues such as reduced interpretability, overfitting and incorrect estimations.\nCollinearity of variables can be assessed, for instance, with correlation heatmaps (see Chapter 17) or with scatter plots.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal is to learn relevant functions in quality control and initial exploration of the data.\nExercise 1: QC and exploration\n\nLoad any of the example datasets mentioned in Section 4.2.\nSummarize the counts with histogram.\nAdd prevalence of taxonomic features to rowData.\nVisualize the prevalence distribution with histogram. Does the data include many prevalent taxonomic features or are they found only in a small part of the samples?\nAdd library sizes to colData.\nVisualize the library size distribution with histogram. Does the sampling depth differ a lot?\nVisualize categorical values in colData with a bar plot.\nGet the available taxonomy ranks in the data.\nCalculate a table that summarizes the dominance of genera or any other rank. Which features are present in the highest number of samples? In how many samples is it present? What percentage of samples does the number correspond to?\nGet the most prevalent features in specific taxonomy rank. Use counts table, and set prevalence and detection threshold to 20% and 1, respectively.\nGet the most abundant features based on median abundance. How does this differ from prevalent features?\nVisualize the most prevalent features.\n\nUseful functions:\nutils::data(), miaViz::plotHistogram(), mia::addPrevalence(), SummarizedExperiment::rowData(), mia::addPerCellQCMetrics(), SummarizedExperiment::colData(), miaViz::plotBarplot(), mia::taxonomyRanks(), summarizeDominance(), mia::getPrevalent(), mia::getTop(), miaViz::plotAbundanceDensity()",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>8</span>  <span class='chapter-title'>Exploration & quality control</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html",
    "href": "pages/subsetting.html",
    "title": "9  Subsetting",
    "section": "",
    "text": "9.1 Subset by sample (column-wise)\nIn this chapter, we explore the concept of subsetting. Subsetting or filtering is the process of selecting specific rows or columns from a dataset based on certain criteria. When you subset your data, you retain the original values of the selected data points. For example, if you have a dataset of taxonomic features and you choose to keep only certain species, you still have the individual counts for those species. This allows you to analyze the data in detail, but you may lose information about other species that are not included.\nSubsetting data helps to draw the focus of an analysis on particular sets of samples and / or features. When dealing with large datasets, the subset of interest can be extracted and investigated separately. This might improve performance and reduce the computational load.\nLet us store GlobalPatterns into tse and check its original number of features (rows) and samples (columns).\nSeveral criteria can be used to subset by sample:\nFor the sake of demonstration, here we will extract a subset containing only the samples of human origin (feces, skin or tongue), stored as SampleType within colData(tse) as well as in tse.\nFirst, we would like to see all the possible values that SampleType can have and how frequent those are:\n# Show the frequency of each value\ntse$SampleType |&gt;\n    table() |&gt;\n    kable()\n\n\n\nVar1\nFreq\n\n\n\nFeces\n4\n\n\nFreshwater\n2\n\n\nFreshwater (creek)\n3\n\n\nMock\n3\n\n\nOcean\n3\n\n\nSediment (estuary)\n3\n\n\nSkin\n3\n\n\nSoil\n3\n\n\nTongue\n2\nNext, we logical index across the columns of tse (make sure to leave the first index empty to select all rows) and filter for the samples of human origin. For this, we use the information on the samples from the metadata colData(tse).\n# Subset by sample\ntse_sub &lt;- tse[, tse$SampleType %in% c(\"Feces\", \"Skin\", \"Tongue\")]\n\n# Show dimensions\ndim(tse_sub)\n##  [1] 19216     9",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html#subset-by-sample-column-wise",
    "href": "pages/subsetting.html#subset-by-sample-column-wise",
    "title": "9  Subsetting",
    "section": "",
    "text": "origin\nsampling time\nsequencing method\nDNA / RNA barcode\ncohort\n\n\n\n\n\n\n\n\n\n\n\n\nNoteNote\n\n\n\nAfter subsetting, expect the number of columns to equal the sum of the frequencies of the samples that you are interested in. For instance, ncols = Feces + Skin + Tongue = 4 + 3 + 2 = 9.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html#subset-by-feature-row-wise",
    "href": "pages/subsetting.html#subset-by-feature-row-wise",
    "title": "9  Subsetting",
    "section": "\n9.2 Subset by feature (row-wise)",
    "text": "9.2 Subset by feature (row-wise)\nSimilarly, here we will extract a subset containing only the features that belong to the phyla Actinobacteria and Chlamydiae, stored as Phylum within rowData(tse). However, subsetting by feature implies a few more obstacles, such as the presence of NA elements and the possible need for agglomeration.\nAs previously, we would first like to see all the possible values that Phylum can have and how frequent those are:\n\n# Show the frequency of each value\nrowData(tse)$Phylum |&gt;\n    table() |&gt;\n    head() |&gt;\n    kable()\n\n\n\nVar1\nFreq\n\n\n\nABY1_OD1\n7\n\n\nAC1\n1\n\n\nAD3\n9\n\n\nAcidobacteria\n1021\n\n\nActinobacteria\n1631\n\n\nArmatimonadetes\n61\n\n\n\n\n\n\n\n\n\n\n\nNoteNote\n\n\n\nAfter subsetting, expect the number of columns to equal the sum of the frequencies of the feature(s) that you are interested in. For instance, nrows = Actinobacteria + Chlamydiae = 1631 + 21 = 1652.\n\n\nDepending on your research question, you might or might not need to agglomerate the data in the first place: if you want to find the abundance of each and every feature that belongs to Actinobacteria and Chlamydiae, agglomeration is not needed. However, if you want to find the total abundance of all features that belong to Actinobacteria or Chlamydiae, agglomeration is recommended (see Chapter 10 for details).\nNext, we logically index across the rows of tse (make sure to leave the second index empty to select all columns) and filter for the features that fall in either Actinobacteria or Chlamydiae group. For this, we use the information on the samples from the metadata rowData(tse).\nThe first term with the %in% operator includes all the features of interest, whereas the second term after the AND operator & filters out all features that have an NA in place of the phylum variable.\n\n# Subset by feature\nselected &lt;- rowData(tse)$Phylum %in% c(\"Actinobacteria\", \"Chlamydiae\") &\n    !is.na(rowData(tse)$Phylum)\ntse_sub &lt;- tse[selected, ]\n\n# Show dimensions\ndim(tse_sub)\n##  [1] 1652   26",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html#subset-by-samples-and-features",
    "href": "pages/subsetting.html#subset-by-samples-and-features",
    "title": "9  Subsetting",
    "section": "\n9.3 Subset by samples and features",
    "text": "9.3 Subset by samples and features\nFinally, we can subset data by sample and feature at once. The resulting subset contains all the samples of human origin and all the features of phyla Actinobacteria or Chlamydiae.\n\n# Subset by sample and feature and remove NAs\nselected_rows &lt;- rowData(tse)$Phylum %in% c(\"Actinobacteria\", \"Chlamydiae\") &\n    !is.na(rowData(tse)$Phylum)\nselected_cols &lt;- tse$SampleType %in% c(\"Feces\", \"Skin\", \"Tongue\")\ntse_sub &lt;- tse[selected_rows, selected_cols]\n\n# Show dimensions\ndim(tse_sub)\n##  [1] 1652    9\n\n\n\n\n\n\n\nNoteNote\n\n\n\nThe dimensions of tse_sub are consistent with the previous subsets (9 columns filtered by sample and 1652 rows filtered by feature).\n\n\nIf a study was to consider and quantify the presence of Actinobacteria as well as Chlamydiae in different sites of the human body, tse_sub might be a suitable subset to start with.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html#sec-subset-library-size",
    "href": "pages/subsetting.html#sec-subset-library-size",
    "title": "9  Subsetting",
    "section": "\n9.4 Filtering based on library size",
    "text": "9.4 Filtering based on library size\nAs a preprocessing step, one might want to remove samples that do not exceed certain library size, i.e., total number of counts. Additionally, sometimes data might contain samples that do not contain any of the features present in the dataset. This can occur, for example, after data subsetting. To focus only samples containing sufficient information, we might want to remove those instances. In this example, we are interested only those features that belong to the species Achromatiumoxaliferum.\n\nind &lt;- rowData(tse)$Species == \"Achromatiumoxaliferum\"\nind[is.na(ind)] &lt;- FALSE\ntse_sub &lt;- tse[ind, ]\n\nThen we can calculate the total number of counts in each sample.\n\nlibrary(scuttle)\n\ntse_sub &lt;- addPerCellQCMetrics(tse_sub)\n# List total counts of each sample\ntse_sub$total |&gt; head()\n##  [1] 0 0 0 0 0 0\n\nNow we can see that certain samples do not include any bacteria. We can remove those.\n\n# Remove samples that do not contain any bacteria\ntse_sub &lt;- tse_sub[, tse_sub$total != 0]\ntse_sub\n##  class: TreeSummarizedExperiment \n##  dim: 3 7 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(3): 7595 7594 137055\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(7): AQC1cm AQC4cm ... TRRsed2 TRRsed3\n##  colData names(10): X.SampleID Primer ... detected total\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (3 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nWe have now subsetted the dataset so that it only includes samples containing the selected features. A similar approach can also be applied to filter features based on the samples they appear in, ensuring both dimensions of the data are relevant to your analysis.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html#filtering-out-zero-variance-features",
    "href": "pages/subsetting.html#filtering-out-zero-variance-features",
    "title": "9  Subsetting",
    "section": "\n9.5 Filtering out zero-variance features",
    "text": "9.5 Filtering out zero-variance features\nIn some datasets, certain features remain constant across all samples — they show no variance. If our goal is to study or model microbial differences between groups, these zero-variance features hold no value. For a feature to reflect differences between groups, it must exhibit variability.\nBy removing these invariant features, we can sharpen our focus on the more informative features. This not only reduces the number of comparisons but also helps our machine learning models learn from meaningful data without additional noise.\nTo filter these features, we begin by calculating their standard deviation. Then we visualize the variances with histogram.\n\n# Calculate\nrowData(tse)[[\"sd\"]] &lt;- rowSds(assay(tse, \"counts\"))\n# Plot\nhist(log(rowData(tse)[[\"sd\"]]))\n\n\n\n\n\n\n\nFrom the histogram of feature variances, we can establish a sensible threshold for filtering. For example, using a threshold of 0 would effectively remove a large set of features that show no variance.\nIt’s important to note that the data is on a log scale, meaning that a log-transformed value of 1 corresponds to 0 (i.e., log(1) = 0). This ensures that features with zero variance are correctly identified and filtered out.\n\nth &lt;- 1\n\nselected &lt;- rowData(tse)[[\"sd\"]] &gt; 1\ntse_sub &lt;- tse[selected, ]\ntse_sub\n##  class: TreeSummarizedExperiment \n##  dim: 12840 26 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(12840): 549322 522457 ... 200359 271582\n##  rowData names(8): Kingdom Phylum ... Species sd\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (12840 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nAfter filtering, the dataset now contains 12840 features, compared to the original 19216 features. This means we are left with features that exhibit variance. Keep in mind that the choice of threshold depends on the specific research question, and in this case, we opted for a rather conservative threshold that retains most features.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/subsetting.html#sec-subset_prev",
    "href": "pages/subsetting.html#sec-subset_prev",
    "title": "9  Subsetting",
    "section": "\n9.6 Subset based on prevalence",
    "text": "9.6 Subset based on prevalence\nWe can subset the data based on prevalence using subsetByPrevalent(), which filters features that exceed a specified prevalence threshold, helping to remove rare features that may be artifacts. Conversely, subsetByRare() allows us to retain only features below the threshold, enabling a focus on rare features within the dataset.\nHere, we apply a prevalence threshold of 10% and a detection threshold of 1. A feature is considered detected if it has at least one count in a sample, and prevalent if it is detected in at least 10% of the samples. The function subsetByPrevalent() retains the prevalent features, while subsetByRare() keeps the features that are not prevalent.\n\ntse_sub &lt;- subsetByRare(tse, rank = \"Genus\", prevalence = 0.1, detection = 1)\ntse_sub\n##  class: TreeSummarizedExperiment \n##  dim: 261 26 \n##  metadata(1): agglomerated_by_rank\n##  assays(1): counts\n##  rownames(261): Acaryochloris Acetobacter ... Zooshikella p-75-a5\n##  rowData names(8): Kingdom Phylum ... Species sd\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (261 rows)\n##  rowTree: 1 phylo tree(s) (261 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nIn some cases, agglomerating based on prevalence can provide more meaningful insights. This process is illustrated in Section 10.3.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal is to learn how to subset the data.\nExercise 1: Subsetting\n\nLoad any of the example datasets mentioned in Section 4.2.\nCalculate library sizes and add them to colData.\nExplore colData. Visualize library sizes with a histogram. Is there a lot of variance in sampling depth?\nSelect samples that exceed specific library size threshold that you have selected based on histogram.\nSubset data by selecting only prevalent features. Use counts assay. Specify detection threshold 1 and prevalence threshold 20%.\n\nUseful functions:\nutils::data(), SummarizedExperiment::colData(), scuttle::addPerCellQCMetrics(), miaViz::plotHistogram(), mia::subsetByPrevalent()",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>9</span>  <span class='chapter-title'>Subsetting</span>"
    ]
  },
  {
    "objectID": "pages/agglomeration.html",
    "href": "pages/agglomeration.html",
    "title": "10  Agglomeration",
    "section": "",
    "text": "10.1 Agglomerate based on taxonomy rank\nIn Chapter 9, we covered how to select features from the dataset. Agglomeration, on the other hand, involves combining data points into broader feature categories by summing their values. For instance, if you have counts for individual species, you might agglomerate them into groups based on the family of each species. This means you would add up the counts of all species within a particular family to get a single value that represents that family. While this method simplifies your dataset and you lose the specific information about individual species, it can, however, be useful in highlighting overall trends.\nThe choice between subsetting and agglomeration depends on your research goals and the type of insights you want to gain from your data. For example, if you are interested in comparing compositions of two types of microbiomes (e.g., gut microbiome and soil microbiome), you might want to first examine their taxonomic profiles at the level of phyla or families, rather than species, to get an idea of their broad similarities or differences. Agglomeration is most often used to reduce the number of features, especially in sequencing data, where there may not be enough resolution to reliably differentiate between closely related species. Combining data at higher taxonomic levels allows you to focus on broader patterns in the community while managing the complexity of the dataset. Similarly, in addition to agglomerating features to higher categories, you might want to agglomerate samples within the given sample type, to examine these broad differences across sample types rather than samples.\nOne of the main applications of taxonomic information in sequencing data is to agglomerate counts (such as ASV counts) to specific taxonomic levels and to model how different sample-specific variables may influence the feature composition at different taxonomic levels. For this, mia contains the agglomerateByRank() function.\nAt its simplest, the function takes a TreeSE object as input and outputs a TreeSE object agglomerated to a specified taxonomy level using the rank parameter. Note that we can also choose to prune the phylogenetic tree to correspond to the agglomerated data, by setting update.tree = TRUE.\n# Agglomerate\ntse_phylum &lt;- agglomerateByRank(tse, rank = \"Phylum\", update.tree = TRUE)\ntse_phylum\n##  class: TreeSummarizedExperiment \n##  dim: 66 26 \n##  metadata(1): agglomerated_by_rank\n##  assays(1): counts\n##  rownames(66): ABY1_OD1 AC1 ... ZB2 ZB3\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (66 rows)\n##  rowTree: 1 phylo tree(s) (66 leaves)\n##  colLinks: NULL\n##  colTree: NULL\nThe output now contains 66 features, a reduction from the original 19216 rows. Agglomeration has combined features together to higher feature categories, but the samples remain unchanged from the original dataset. Let’s take a look at the rowData to see how it looks.\nrowData(tse_phylum)\n##  DataFrame with 66 rows and 7 columns\n##                     Kingdom         Phylum       Class       Order\n##                 &lt;character&gt;    &lt;character&gt; &lt;character&gt; &lt;character&gt;\n##  ABY1_OD1          Bacteria       ABY1_OD1          NA          NA\n##  AC1               Bacteria            AC1          NA          NA\n##  AD3               Bacteria            AD3          NA          NA\n##  Acidobacteria     Bacteria  Acidobacteria          NA          NA\n##  Actinobacteria    Bacteria Actinobacteria          NA          NA\n##  ...                    ...            ...         ...         ...\n##  WS1               Bacteria            WS1          NA          NA\n##  WS2               Bacteria            WS2          NA          NA\n##  WS3               Bacteria            WS3          NA          NA\n##  ZB2               Bacteria            ZB2          NA          NA\n##  ZB3               Bacteria            ZB3          NA          NA\n##                      Family       Genus     Species\n##                 &lt;character&gt; &lt;character&gt; &lt;character&gt;\n##  ABY1_OD1                NA          NA          NA\n##  AC1                     NA          NA          NA\n##  AD3                     NA          NA          NA\n##  Acidobacteria           NA          NA          NA\n##  Actinobacteria          NA          NA          NA\n##  ...                    ...         ...         ...\n##  WS1                     NA          NA          NA\n##  WS2                     NA          NA          NA\n##  WS3                     NA          NA          NA\n##  ZB2                     NA          NA          NA\n##  ZB3                     NA          NA          NA\nAs we observe from the taxonomy table, all lower ranks below Phylum now contain NA values. This is expected, as we have agglomerated the data to the Phylum level, meaning that the lowest rank that rows can be uniquely mapped to is the Phylum rank.\nSince we specified update.tree = TRUE, the phylogenetic tree has also been agglomerated. This is evident from the tree, which now has only 66 tips, each corresponding to a single row in the dataset.\nrowTree(tse_phylum)\n##  \n##  Phylogenetic tree with 66 tips and 65 internal nodes.\n##  \n##  Tip labels:\n##    Crenarchaeota, Euryarchaeota, Actinobacteria, Spirochaetes, MVP-15, Proteobacteria, ...\n##  Node labels:\n##    , 0.858.4, 1.000.21479, 0.946.619, 0.953.588, 0.940.473, ...\n##  \n##  Rooted; includes branch length(s).\nAdditionally, we can examine the counts assay table to assess how the agglomeration has affected the counts of unique features per sample.\nassay(tse_phylum, \"counts\") |&gt; head()\n##                     CL3    CC1    SV1 M31Fcsw M11Fcsw M31Plmr M11Plmr F21Plmr\n##  ABY1_OD1            11     33      0       0       0       0       0       0\n##  AC1                  0      0      0       0       0       0       0       0\n##  AD3               1299  15577     17       2       1       3       0       0\n##  Acidobacteria   269202 183132  92863     120     115     249    1901     332\n##  Actinobacteria   39601  90280 121703    2540     841   85825  103067   27295\n##  Armatimonadetes    782   1124   1972       0       1       4      20       8\n##                  M31Tong M11Tong LMEpi24M SLEpi20M AQC1cm AQC4cm AQC7cm   NP2\n##  ABY1_OD1              0       0        0        6      6     18     21     0\n##  AC1                   0       0        0        1     25    209    265     0\n##  AD3                   2       1        0        0      3      1      5     0\n##  Acidobacteria       150      62      365      469  14622  25997  26860   190\n##  Actinobacteria   123464    8822   444605   648008  26392  27519  30304 20047\n##  Armatimonadetes       4      10      463     1683    806    919   1296     7\n##                    NP3    NP5 TRRsed1 TRRsed2 TRRsed3  TS28   TS29  Even1\n##  ABY1_OD1            0      0       2       0       1     0      0      0\n##  AC1                 0      0       0       1       0     0      0      0\n##  AD3                 1      2       0       5       1     1      0      4\n##  Acidobacteria     242     89     830    5650    3110   108    108   1562\n##  Actinobacteria  19592 168762    1058    2290    2351 27569 130158 105541\n##  Armatimonadetes     1      2       2       0       4     1      4      7\n##                  Even2 Even3\n##  ABY1_OD1            0     0\n##  AC1                 0     0\n##  AD3                26     2\n##  Acidobacteria     565   310\n##  Actinobacteria  79261 89965\n##  Armatimonadetes     5     6\nThe values in the counts assay are significantly larger than in the original data, indicating that the values have been summed during agglomeration.\nNow when the data is agglomerated, we can check the abundances of certain phyla across the samples.\n# Store features of interest into phyla\nphyla &lt;- c(\"Actinobacteria\", \"Chlamydiae\")\n\n# Subset by feature\ntse_sub &lt;- tse_phylum[phyla, ]\n\n# Show dimensions\nassay(tse_sub)\n##                   CL3   CC1    SV1 M31Fcsw M11Fcsw M31Plmr M11Plmr F21Plmr\n##  Actinobacteria 39601 90280 121703    2540     841   85825  103067   27295\n##  Chlamydiae       265   702     22       0       1       5      22       0\n##                 M31Tong M11Tong LMEpi24M SLEpi20M AQC1cm AQC4cm AQC7cm   NP2\n##  Actinobacteria  123464    8822   444605   648008  26392  27519  30304 20047\n##  Chlamydiae           0       0        3        8      9     26     35     6\n##                   NP3    NP5 TRRsed1 TRRsed2 TRRsed3  TS28   TS29  Even1\n##  Actinobacteria 19592 168762    1058    2290    2351 27569 130158 105541\n##  Chlamydiae        36      9       2      85      62     2      0      1\n##                 Even2 Even3\n##  Actinobacteria 79261 89965\n##  Chlamydiae         1     0\nFurthermore, we can observe that the agglomeration will be applied to every assay in the dataset. Let’s add another assay to the original dataset and then perform agglomeration again, this time at the Family level.\n# Add another assay\nassay(tse, \"another_assay\", withDimnames = FALSE) &lt;- matrix(\n    runif(ncol(tse) * nrow(tse), 0, 1),\n    ncol = ncol(tse), nrow = nrow(tse)\n)\n\n# Agglomerate\ntse_family &lt;- agglomerateByRank(tse, rank = \"Family\")\n\nassayNames(tse_family)\n##  [1] \"counts\"        \"another_assay\"\nWe can now confirm that the agglomerated dataset contains two assays: “counts” and “another_assay,” consistent with the original data structure.\nIf the data is agglomerated by features, the ideal location to store the resulting dataset is the alternative experiment, altExp, slot (see Section 3.7). Let’s add the Phylum data there.\naltExp(tse, \"phylum\") &lt;- tse_phylum\naltExpNames(tse)\n##  [1] \"phylum\"\naltExpNames now consists of Phylum level data. This can be extended to use any taxonomic level listed in taxonomyRanks(tse). While it is certainly possible to agglomerate data one taxonomic level at a time, you can also aggregate data across all available ranks in a single step using the agglomerateByRanks() function. This function returns a TreeSE object that includes the agglomerated datasets in the altExp slot.\nIf you want the data as a list as discussed in Section 7.1, you can achieve this by specifying as.list = TRUE.\ntse &lt;- agglomerateByRanks(tse)\naltExpNames(tse)\n##  [1] \"phylum\"  \"Kingdom\" \"Phylum\"  \"Class\"   \"Order\"   \"Family\"  \"Genus\"  \n##  [8] \"Species\"",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>10</span>  <span class='chapter-title'>Agglomeration</span>"
    ]
  },
  {
    "objectID": "pages/agglomeration.html#agglomerate-based-on-taxonomy-rank",
    "href": "pages/agglomeration.html#agglomerate-based-on-taxonomy-rank",
    "title": "10  Agglomeration",
    "section": "",
    "text": "NoteNote\n\n\n\nAs data was agglomerated and then further subsetted, the number of rows should equal the number of phyla used in subsetting (in this case, just 2).",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>10</span>  <span class='chapter-title'>Agglomeration</span>"
    ]
  },
  {
    "objectID": "pages/agglomeration.html#aggregate-data-based-on-variable",
    "href": "pages/agglomeration.html#aggregate-data-based-on-variable",
    "title": "10  Agglomeration",
    "section": "\n10.2 Aggregate data based on variable",
    "text": "10.2 Aggregate data based on variable\nThe agglomerateByRank() function aggregates data based on rowData, that is, the agglomerates are made based on features, such as taxonomy information. Alternatively, you can use agglomerateByVariable() to aggregate the data.\nagglomerateByVariable() is designed to aggregate data based on other criteria than taxa, such as sample groups or clusters. The function operates similarly to feature aggregation, but the by parameter must be set to “rows.”\n\n\n\n\n\n\nNoteNote\n\n\n\nNote that a feature dataset might contain taxa with the same lower-level rank, even if their higher-level ranks differ. For this reason, agglomerateByVariable() should not be used for aggregating taxonomy ranks.\n\n\n\n# Agglomerate samples based on type\ntse_sub &lt;- agglomerateByVariable(tse, by = \"cols\", group = \"SampleType\")\ntse_sub\n##  class: TreeSummarizedExperiment \n##  dim: 19216 9 \n##  metadata(0):\n##  assays(2): counts another_assay\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(9): Feces Freshwater ... Soil Tongue\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(8): phylum Kingdom ... Genus Species\n##  rowLinks: a LinkDataFrame (19216 rows)\n##  rowTree: 1 phylo tree(s) (19216 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nNow, the data includes as many columns as there are sample types.\nIn Section 15.1.2, we will explore how cluster information can be used to agglomerate data effectively.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>10</span>  <span class='chapter-title'>Agglomeration</span>"
    ]
  },
  {
    "objectID": "pages/agglomeration.html#sec-agglomerate_prev",
    "href": "pages/agglomeration.html#sec-agglomerate_prev",
    "title": "10  Agglomeration",
    "section": "\n10.3 Agglomerate based on prevalence",
    "text": "10.3 Agglomerate based on prevalence\nSection 9.6 demonstrated how to select data with only prevalent or rare features. In some cases, it might be beneficial to combine the features that would otherwise be removed. For example, instead of filtering out rare taxa, we can combine the reads from all these rare taxa under a new feature which we can call “Rare taxa”. The function agglomerateByPrevalence() accomplishes this by merging filtered features into a single feature called “Other” by default, preventing unnecessary loss of information. This is particularly useful when working with left-skewed feature data, such as soil microbiome data sets where rare taxa may represent a significant proportion of the reads when combined.\nHere, we demonstrate how to agglomerate the data using prevalence and abundance thresholds of 20% and 0.1%, respectively. This means that for a feature to be considered detected in a sample, its relative abundance must exceed 0.1% and after this, the feature must be detected in at least 20% of samples. Taxa that do not meet these criteria are combined in the “Other” group.\nTo use relative abundances for the detection threshold, we must first transform the data to relative abundances (aka normalize as proportions). These kinds of transformations are introduced in more detail in Chapter 11.\n\n# Transform\ntse &lt;- transformAssay(tse, method = \"relabundance\")\n\n# Agglomerate\ntse_prev &lt;- agglomerateByPrevalence(\n    tse,\n    assay.type = \"relabundance\",\n    prevalence = 20 / 100,\n    detection = 0.1 / 100\n)\ntse_prev\n##  class: TreeSummarizedExperiment \n##  dim: 20 26 \n##  metadata(0):\n##  assays(3): counts another_assay relabundance\n##  rownames(20): 329744 326977 ... 108747 Other\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(8): phylum Kingdom ... Genus Species\n##  rowLinks: a LinkDataFrame (20 rows)\n##  rowTree: 1 phylo tree(s) (20 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\nWe have now successfully agglomerated the data based on prevalence. Similarly, if we were interested in only the most prevalent phyla, we can certainly first agglomerate the data by Phylum rank and then by prevalence, combining the rarer Phyla into one category. In fact, the function agglomerateByPrevalence() allows us to accomplish both tasks simultaneously.\n\ntse_prev_phylum &lt;- agglomerateByPrevalence(\n    tse,\n    rank = \"Phylum\",\n    prevalence = 20 / 100,\n    detection = 1\n)\ntse_prev_phylum\n##  class: TreeSummarizedExperiment \n##  dim: 48 26 \n##  metadata(2): agglomerated_by_rank agglomerated_by_rank\n##  assays(3): counts another_assay relabundance\n##  rownames(48): ABY1_OD1 AD3 ... WS3 Other\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: a LinkDataFrame (48 rows)\n##  rowTree: 1 phylo tree(s) (48 leaves)\n##  colLinks: NULL\n##  colTree: NULL\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal is to learn how to agglomerate the data.\nExercise 1: Agglomerate data\n\nLoad any of the example datasets mentioned in Section 4.2.\nList the available taxonomic ranks in the data with taxonomyRanks().\nSelect a single taxonomy rank and list all unique values in this rank. How many unique values are there?\nAgglomerate data to the rank and save the agglomerated data to a new variable.\nHow many rows are there in the agglomerated data? Does this correspond to the number of unique values in step 2? If not, why do they not match?\nObserve rowData of agglomerated data. What has happened? Why are there so many NAs?\nAgglomerate data to all taxonomy ranks at once.\nPrint all available alternative experiments. What do these names correspond to?\nSelect a single alternative experiment, and retrieve the agglomerated data from the altExp slot. How many rows and columns are there?\nAgglomerate the data based on prevalence and save the agglomerated data to a new variable.\nHow does prevalence-agglomeration differ from prevalence-subsetting?\nAdd prevalence-agglomerated data to altExp slot of the original TreeSE object.\nExplore colData. Select some grouping variable and agglomerate the data on the groups. Save the agglomerated data to a new variable. How many rows and columns are there? Why can this data not be added to altExp()?\n\nUseful functions:\nutils::data(), mia::taxonomyRanks(), mia::getUnique(), mia::agglomerateByRank(), SummarizedExperiment::rowData(), mia::agglomerateByRanks(), SingleCellExperiment::altExpNames(), SingleCellExperiment::altExp(), base::dim(), mia::agglomerateByPrevalence(), mia::subsetByPrevalent(), SingleCellExperiment::altExp()&lt;-, SummarizedExperiment::colData(), mia::agglomerateByVariable()",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>10</span>  <span class='chapter-title'>Agglomeration</span>"
    ]
  },
  {
    "objectID": "pages/transformation.html",
    "href": "pages/transformation.html",
    "title": "11  Transformation",
    "section": "",
    "text": "11.1 Characteristics of microbiome data to inform data transformations\nData transformations are common in (microbial) ecology (Legendre and Gallagher 2001). They are used to mitigate technical biases in the data, to obtain more interpretable values, to enhance the comparability of samples/features or to make data compatible with the assumptions of certain statistical methods.\nExamples include transforming feature counts into relative abundances (i.e., “normalizing as proportions”), or with compositionality-aware transformations such as the centered log-ratio transformation (clr).\nTransformations are important in working with microbiome data due to various unique characteristics of sequencing data. For example, the above mentioned examples of feature transformations are commonly used with microbiome data following the inherently proportional nature of sequencing reads: Due to the nature of sequencing technology, read counts of taxa do not represent real counts of microbes in the original sample, and raw counts of taxa per sample are thus not comparable between samples.\nThis Compositionality means that a change in the absolute abundance of one taxon will lead to apparent variations in the relative abundances of other taxa in the same sample. If neglected, such properties may cause significant bias in the results of statistical tests. The above-mentioned transformation processes are one method developed to overcome these issues by making taxon abundances comparable across samples.\nIn addition to this compositionality, other special characteristics of microbiome sequencing data are high variability and zero-inflation. High variability means that abundance of taxa often varies by several orders of magnitude from sample to sample. Zero-inflation means that typically more than 70% of the taxa-per-sample values are zeros, which could be due to either physical absence (structural zeros) or insufficient sequencing coverage (sampling zeros).",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>11</span>  <span class='chapter-title'>Transformation</span>"
    ]
  },
  {
    "objectID": "pages/transformation.html#common-transformation-methods",
    "href": "pages/transformation.html#common-transformation-methods",
    "title": "11  Transformation",
    "section": "\n11.2 Common transformation methods",
    "text": "11.2 Common transformation methods\nLet us now summarize some commonly used transformations in microbiome data science; further details and benchmarkings are available in the references.\n\nalr: The additive log ratio transformation is part of a broader Aitchison family of transformations with ‘clr’ and ‘rclr’. Compared to them the biggest difference is that it selects a single feature or component as a reference and expresses all other features as log-ratios relative to it. Greenacre, Martínez-Álvaro, and Blasco (2021) provides guidance on choosing an appropriate reference feature.\nbinning: Zero-aware quantile binning (Medearis, Zhu, and Zomorrodi 2026). A useful transformation to discretize to control noise from raw abundance data, while still retaining some information. Selection of proper nbins should be tuned as a hyperparameter, when modeling.\nclr: Centered log ratio transformation (Aitchison 1986) is used to reduce data skewness and compositionality bias in relative abundances, while bringing the data onto a logarithmic scale. This transformation is frequently applied in microbial ecology as it enhances comparability of relative differences between samples (Gloor et al. 2017). However, the resulting transformed values are difficult to interpret directly, and it can only be applied to positive values, not zeros. A usual solution for for making values non-zero is to add pseudocount, which adds another type of bias in the data as true taxon absences are not taken into account. This is mitigated by the method of robust clr transformation (see rclr below).\nhellinger: Hellinger transformation is equal to the square root of relative abundances. This ecological transformation can be useful when the focus is on how species proportions vary across samples, rather than on absolute counts.\nlog, log2, log10: Logarithmic transformations, used e.g. to reduce data skewness. With compositional data, the clr (or rclr) transformation is often preferred.\npa: Presence/Absence transformation ignores abundances and only indicates whether the given feature is detected above the given threshold (default: 0). This simple transformation is relatively widely used in ecological research, whenever we have reasons to be interested in which taxa are present in which samples more so than their abundances. An example of such case is the process of inferring microbial ecological association networks from covariation of taxa across samples. Here, microbes that are rarely seen in the same samples are expected to have a negative ecological association (either competitive exclusion with each other or different ecological niche preferences). Conversely, looking for negative correlations in their relative abundances would not be a meaningful measure of ecological associations. Moreover, it has been used in machine learning classification models with a good performance (Giliberti 2022; Karwowska et al. 2024).\nrank: Rank transformation replaces each feature abundance value by its rank. It is similar to relative rank transformation (rrank) which uses relative ranks. This has use, for instance, in non-parametric statistics.\nrclr: The robust clr (rclr) is similar to regular clr (see above) but allows data with zeroes and avoids the need to add pseudocount (Keshavan, Montanari, and Oh 2010; Martino et al. 2019).\nrelabundance: Relative transformation, also known as normalizing as proportions, total sum scaling (TSS) and compositional transformation. This converts counts into proportions (at the scale [0, 1]) that sum up to 1. Much of the currently available taxonomic abundance data from high-throughput assays (16S, metagenomic sequencing) is compositional by nature, even if the data is provided as “counts” (Gloor et al. 2017).\nstandardize: Standardize (or z-score) transformation scales data to zero mean and unit variance. This is used to bring features (or samples) to more comparable levels in terms of mean and scale of the values. This can enhance visualization and interpretation of the data.\nOther available transformations include Chi square (chi.square), Frequency transformation (frequency), and make margin sum of squares equal to one (normalize).\n\n\nGreenacre, Michael, Marina Martínez-Álvaro, and Agustín Blasco. 2021. “Compositional Data Analysis of Microbiome and Any-Omics Datasets: A Validation of the Additive Logratio Transformation.” Frontiers in Microbiology 12 (October). https://doi.org/10.3389/fmicb.2021.727398.\n\nMedearis, Nicholas A., Siyao Zhu, and Ali R. Zomorrodi. 2026. “BiomeGPT: A Foundation Model for the Human Gut Microbiome,” January. https://doi.org/10.64898/2026.01.05.697599.\n\nAitchison, J. 1986. The Statistical Analysis of Compositional Data. London, UK: Chapman & Hall.\n\nGloor, GB, JM Macklaim, V Pawlowsky-Glahn, and JJ Egozcue. 2017. “Microbiome Datasets Are Compositional: And This Is Not Optional.” Frontiers in Microbiology 8. https://doi.org/10.3389/fmicb.2017.02224.\n\nGiliberti, Sara AND Mauriello, Renato AND Cavaliere. 2022. “Host Phenotype Classification from Human Microbiome Data Is Mainly Driven by the Presence of Microbial Taxa.” PLOS Computational Biology 18 (4): 1–22. https://doi.org/10.1371/journal.pcbi.1010066.\n\nKarwowska, Zuzanna, Oliver Aasmets, Estonian Biobank Research Team, Tomasz Kosciolek, and Elin Org. 2024. “Effects of Data Transformation and Model Selection on Feature Importance in Microbiome Classification Data.” bioRxiv. https://doi.org/10.1101/2023.09.19.558406v2.\n\nKeshavan, RH, A Montanari, and S Oh. 2010. “Matrix Completion from a Few Entries.” IEEE Transactions on Information Theory 56: 2980–98.\n\nMartino, C, J. T. Morton, C. A. Marotz, L. R. Thompson, A Tripathi, R Knight, and K Zengler. 2019. “A Novel Sparse Compositional Technique Reveals Microbial Perturbations.” mSystems 4.\nTransformations on abundance assays can be performed with the transformAssay() function from the mia package, keeping both the original and the transformed assay(s) in the data object. The function applies sample-wise or column-wise transformation when MARGIN = 'cols', feature-wise or row-wise transformation when MARGIN = 'rows'. A complete list of available transformations and parameters, is available in the function help.\n\n\n\n\n\n\nImportant\n\n\n\nPseudocount is a small non-negative value (e.g., 1) added to the normalized data to avoid taking the logarithm of zero. Its value can have a significant impact on the results when applying a logarithm transformation to normalized data, as the logarithm transformation is a nonlinear operation that can fundamentally change the data distribution (Costea et al. 2014).\nPseudocount should be chosen consistently across all normalization methods being compared, for example, by setting it to a value smaller than the minimum abundance value before transformation. Some tools, like ANCOMBC, take into account the effect of the pseudocount by performing sensitivity tests using multiple pseudocount values. See Chapter 16.\n\n\n\nCostea, Paul I., Georg Zeller, Shinichi Sunagawa, and Peer Bork. 2014. “A Fair Comparison.” Nature Methods 11: 359. https://doi.org/https://doi.org/10.1038/nmeth.2897.",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>11</span>  <span class='chapter-title'>Transformation</span>"
    ]
  },
  {
    "objectID": "pages/transformation.html#transformations-in-practice",
    "href": "pages/transformation.html#transformations-in-practice",
    "title": "11  Transformation",
    "section": "\n11.3 Transformations in practice",
    "text": "11.3 Transformations in practice\nBelow, we apply relative transformation to counts table.\n\n# Load example data\nlibrary(mia)\ndata(\"Tengeler2020\")\ntse &lt;- Tengeler2020\n\n# Transform counts assay to relative abundances\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"relabundance\")\n\nGet the values in the resulting assay, and view some of the first entries of it with the head command.\n\nassay(tse, \"relabundance\") |&gt; head()\n##                     A110     A12     A15     A19     A21     A23     A25\n##  Bacteroides     0.47393 0.28657 0.00000 0.22459 0.27397 0.32796 0.21594\n##  Bacteroides_1   0.32230 0.00000 0.16664 0.07080 0.08503 0.04193 0.00000\n##  Parabacteroides 0.00000 0.02390 0.00000 0.01400 0.02283 0.00000 0.00994\n##  Bacteroides_2   0.00000 0.04709 0.00000 0.14019 0.10376 0.00000 0.05362\n##  Akkermansia     0.03057 0.04659 0.07539 0.01489 0.01323 0.12818 0.04012\n##  Bacteroides_3   0.00000 0.16011 0.00000 0.11362 0.09605 0.00000 0.04760\n##                      A28     A29     A34     A36     A37     A39    A111\n##  Bacteroides     0.19379 0.14221 0.27229 0.37622 0.38072 0.00000 0.49423\n##  Bacteroides_1   0.00000 0.00000 0.30309 0.38768 0.00000 0.00000 0.39163\n##  Parabacteroides 0.01752 0.01749 0.00000 0.00000 0.10521 0.43546 0.00000\n##  Bacteroides_2   0.07981 0.07957 0.00000 0.02852 0.32992 0.00000 0.02786\n##  Akkermansia     0.03593 0.01411 0.07693 0.05196 0.02641 0.05413 0.01383\n##  Bacteroides_3   0.07525 0.19865 0.00000 0.00000 0.00000 0.00000 0.00000\n##                      A13     A14     A16     A17     A18    A210     A22\n##  Bacteroides     0.05534 0.22500 0.25188 0.21775 0.50314 0.22023 0.09614\n##  Bacteroides_1   0.00000 0.05667 0.00000 0.00000 0.29137 0.09577 0.00000\n##  Parabacteroides 0.33893 0.00000 0.10925 0.06554 0.00000 0.00000 0.28324\n##  Bacteroides_2   0.02042 0.00000 0.09913 0.10589 0.00000 0.00000 0.04164\n##  Akkermansia     0.05270 0.09199 0.09739 0.10253 0.03738 0.13349 0.05105\n##  Bacteroides_3   0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n##                       A24      A26     A27     A33     A35     A38\n##  Bacteroides     0.375716 0.076844 0.24740 0.34204 0.05687 0.20908\n##  Bacteroides_1   0.266715 0.000000 0.10112 0.04590 0.00000 0.16765\n##  Parabacteroides 0.000000 0.172826 0.00000 0.00000 0.27061 0.00000\n##  Bacteroides_2   0.010230 0.006608 0.02002 0.04444 0.02484 0.03583\n##  Akkermansia     0.038485 0.118447 0.07714 0.02582 0.07364 0.04671\n##  Bacteroides_3   0.008525 0.000000 0.02200 0.03333 0.00000 0.01621\n\nIn ‘pa’ transformation, abundance table is converted to a presence/absence table that ignores abundances and only indicates whether the given feature is detected in the sample.\n\ntse &lt;- transformAssay(tse, method = \"pa\")\nassay(tse, \"pa\") |&gt; head()\n##                  A110 A12 A15 A19 A21 A23 A25 A28 A29 A34 A36 A37 A39 A111\n##  Bacteroides        1   1   0   1   1   1   1   1   1   1   1   1   0    1\n##  Bacteroides_1      1   0   1   1   1   1   0   0   0   1   1   0   0    1\n##  Parabacteroides    0   1   0   1   1   0   1   1   1   0   0   1   1    0\n##  Bacteroides_2      0   1   0   1   1   0   1   1   1   0   1   1   0    1\n##  Akkermansia        1   1   1   1   1   1   1   1   1   1   1   1   1    1\n##  Bacteroides_3      0   1   0   1   1   0   1   1   1   0   0   0   0    0\n##                  A13 A14 A16 A17 A18 A210 A22 A24 A26 A27 A33 A35 A38\n##  Bacteroides       1   1   1   1   1    1   1   1   1   1   1   1   1\n##  Bacteroides_1     0   1   0   0   1    1   0   1   0   1   1   0   1\n##  Parabacteroides   1   0   1   1   0    0   1   0   1   0   0   1   0\n##  Bacteroides_2     1   0   1   1   0    0   1   1   1   1   1   1   1\n##  Akkermansia       1   1   1   1   1    1   1   1   1   1   1   1   1\n##  Bacteroides_3     0   0   0   0   0    0   0   1   0   1   1   0   1\n\nYou can now view the entire list of abundance assays in your data object with:\n\nassays(tse)\n##  List of length 3\n##  names(3): counts relabundance pa\n\nA common question is whether the centered log-ratio (clr) transformation should be applied directly to raw counts or if a prior transformation, such as conversion to relative abundances, is necessary.\nIn theory, the clr transformation is scale-invariant, meaning it does not matter whether it is applied to raw or relative abundances, as long as the relative scale of abundances remains the same. However, in practice, there are some differences due to the introduction of a pseudocount, which can introduce bias.\nThere is no single correct answer, but the following considerations may help:\n\nData imputation should typically be applied to raw abundances, regardless of the microbial profiling pipeline used or whether the obtained abundances are counts or relative abundances.\nOnce a pseudocount has been added, it makes no difference whether one first converts to relative abundances before applying clr or applies clr directly to the adjusted counts.\nSince applying clr directly to raw counts is the simpler approach, it is generally recommended.\nOne might also consider using robust clr instead.\n\n\ntse &lt;- transformAssay(\n    x = tse,\n    assay.type = \"counts\",\n    method = \"clr\",\n    pseudocount = TRUE,\n    name = \"clr\"\n)\n\nTo incorporate phylogenetic information, one can apply the phylogenetic isometric log-ratio (philr) transformation (Silverman et al. 2017). Unlike standard transformations, philr accounts for the genetic relationships between taxonomic features. This is important because closely related species often share similar properties, which traditional transformations fail to capture.\n\nSilverman, Justin D, Alex D Washburne, Sayan Mukherjee, and Lawrence A David. 2017. “A Phylogenetic Transform Enhances Analysis of Compositional Microbiota Data.” eLife 6. https://doi.org/10.7554/eLife.21887.\n\ntse &lt;- transformAssay(tse, method = \"philr\", MARGIN = 1L, pseudocount = TRUE)\n\nUnlike other transformations, philr outputs a table where rows represent nodes of phylogeny. These new features do not match with features of TreeSummarizedExperiment which is why this new dataset is stored into altExp.\n\naltExp(tse, \"philr\")\n##  class: TreeSummarizedExperiment \n##  dim: 149 27 \n##  metadata(0):\n##  assays(1): philr\n##  rownames(149): node_1 node_2 ... node_148 node_149\n##  rowData names(0):\n##  colnames(27): A110 A12 ... A35 A38\n##  colData names(4): patient_status cohort patient_status_vs_cohort\n##    sample_name\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\n\n\n\n\n\n\nTipSummary\n\n\n\nMicrobiome data is characterized by the following features:\n\nCompositionality\nHigh variability\nZero-inflation\n\nOSCA book provides additional information on normalization from the perspective of single-cell analysis.\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal is to learn how to apply different transformations.\nExercise 1: Transform data\n\nLoad any of the example datasets mentioned in Section 4.2.\nVisualize counts with a histogram. Describe the data distribution. Is there a lot of zeros?\nTransform the counts assay into relative abundances and store it into the TreeSE as an assay named relabund.\nSimilarly, perform a CLR transformation on the counts assay with a pseudocount of 1 and add it to the TreeSE as a new assay.\nList the available assays by name.\nVisualize the CLR-transformed data with a histogram. Compare the distribution with distribution of counts data.\nAccess the CLR-assay and store it to variable. Select a subset of its first 100 features and 10 samples, and print the abundance table. Explore the data.\nAgglomerate the data with agglomerateByRanks() then apply transformations to the stored alternative experiments created. Use the option altexp = altExpnames(tse).\nIf the data has a phylogenetic tree, agglomerate the data to the family level and perform the phILR transformation. Where was the transformed data stored? Compare the feature names with original data. Why do the names differ?\n\nUseful functions:\nutils::data(), miaViz::plotHistogram(), mia::transformAssay(), mia::assayNames(), SummarizedExperiment::assay(), mia::agglomerateByRanks(), mia::altExp(), BiocGenerics::rownames()",
    "crumbs": [
      "QC & preprocessing",
      "<span class='chapter-number'>11</span>  <span class='chapter-title'>Transformation</span>"
    ]
  },
  {
    "objectID": "pages/composition.html",
    "href": "pages/composition.html",
    "title": "12  Community composition",
    "section": "",
    "text": "12.1 Composition barplot\nA typical way to visualize microbiome composition is by using a composition barplot which shows the relative abundances of selected taxonomic features. In the following code chunk, relative abundance is calculated, and top taxonomic features are retrieved for the phylum rank. Then, the barplot is visualized ordering rank by abundance values and samples by “Bacteroidetes”:\nlibrary(miaViz)\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# Computing relative abundance\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"relabundance\")\n\n# Getting top taxa on a Phylum level\ntse &lt;- agglomerateByRank(tse, rank = \"Phylum\")\ntop_taxa &lt;- getTop(tse, top = 10, assay.type = \"relabundance\")\n\n# Renaming the \"Phylum\" rank to keep only top taxa and assign the rest to \"Other\"\nphylum_renamed &lt;- lapply(rowData(tse)$Phylum, function(x) {\n    if (x %in% top_taxa) {\n        x\n    } else {\n        \"Other\"\n    }\n})\nrowData(tse)$Phylum_sub &lt;- as.character(phylum_renamed)\n\n# Agglomerate the data based on specified taxa\ntse_sub &lt;- agglomerateByVariable(tse, by = \"rows\", f = \"Phylum_sub\")\n\n# Visualizing the composition barplot, with samples ordered by \"Bacteroidetes\"\nplotAbundance(\n    tse_sub,\n    assay.type = \"relabundance\",\n    order.row.by = \"abund\", order.col.by = \"Bacteroidetes\"\n)",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>12</span>  <span class='chapter-title'>Community composition</span>"
    ]
  },
  {
    "objectID": "pages/composition.html#sec-composition-heatmap",
    "href": "pages/composition.html#sec-composition-heatmap",
    "title": "12  Community composition",
    "section": "\n12.2 Composition heatmap",
    "text": "12.2 Composition heatmap\nCommunity composition can be visualized with a heatmap, where the horizontal axis represents samples and the vertical axis the taxonomic features. The color of each intersection point represents abundance of a taxon in a specific sample.\nHere, abundances are first transformed with CLR (centered log-ratio) to remove compositionality bias. Then standardization transformation is applied to the CLR-transformed data. This shifts all taxonomic features to zero mean and unit variance, allowing visual comparison between taxonomic features that have different absolute abundance levels. For more information on transformation methods, refer to Chapter 11.\n\ntse &lt;- GlobalPatterns\n\n# Agglomerate to phylum level\ntse &lt;- agglomerateByPrevalence(tse, rank = \"Phylum\")\n\n# Add clr-transformation on samples\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"counts\", method = \"relabundance\", pseudocount = 1\n)\ntse &lt;- transformAssay(tse, assay.type = \"relabundance\", method = \"clr\")\n\n# Add scale features (taxa)\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"clr\", MARGIN = \"rows\", method = \"standardize\",\n    name = \"clr_z\"\n)\n\nWe can visualize the heatmap with the sechm package. It is a wrapper for the ComplexHeatmap package (Gu 2022).\n\nlibrary(sechm)\n\n# Plot heatMap with sechm\nheatmap &lt;- sechm(\n    tse,\n    assayName = \"clr_z\", features = rownames(tse),\n    show_rownames = TRUE, show_colnames = TRUE,\n    row_names_gp = gpar(fontsize = 6), column_names_gp = gpar(fontsize = 8),\n    breaks = 1, hmcols = c(\"blue\", \"white\", \"red\")\n)\n\nheatmap\n\n\n\n\n\n\n\nAnother method to visualize community composition is by plotting a NeatMap, which employs radial theta sorting when plotting the heatmap (Rajaram and Oono 2010). The getNeatOrder() function in the miaViz package allows us to achieve this. This method sorts data points based on their angular position in a 2D space, typically after an ordination technique such as PCA or NMDS has been applied. The getNeatOrder() method calculates the angle (theta) for each point relative to the centroid and sorts data points based on these theta values in ascending order. This approach preserves the relationships between data points according to the ordination method’s spatial configuration, rather than relying on hierarchical clustering.\n\nRajaram, Satwik, and Yoshi Oono. 2010. “NeatMap - Non-Clustering Heat Map Alternatives in R.” BMC Bioinformatics 11: 45. https://doi.org/10.1186/1471-2105-11-45.\nNow, we’ll perform the aforementioned steps to create a NeatMap using the sechm package and the getNeatOrder() function.\n\nlibrary(scater)\nlibrary(sechm)\n\n# Perform PCA on the dataset\ntse &lt;- runPCA(tse, ncomponents = 10, assay.type = \"clr_z\")\n\n# Sort by radial theta using the first two principal components\nsorted_order &lt;- getNeatOrder(\n    reducedDim(tse, \"PCA\")[, c(1, 2)],\n    centering = \"mean\"\n)\ntse &lt;- tse[, sorted_order]\n\n# Plot NeatMap with sechm\nneatmap &lt;- sechm(\n    tse,\n    assayName = \"clr_z\", features = rownames(tse),\n    show_rownames = TRUE, show_colnames = TRUE,\n    do.scale = FALSE, cluster_rows = FALSE, sortRowsOn = NULL,\n    row_names_gp = gpar(fontsize = 6), column_names_gp = gpar(fontsize = 8),\n    breaks = 1, hmcols = c(\"blue\", \"white\", \"red\")\n)\n\nneatmap\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipAdditional heatmap visualization\n\n\n\nIn addition, there are also other packages that provide functions for more complex heatmaps, such as those provided by iheatmapr and ComplexHeatmap (Gu 2022). The utilization of ComplexHeatmap for clustered heatmaps is explained in Section 15.3.\n\n\n\nGu, Zuguang. 2022. “Complex Heatmap Visualization.” iMeta 1 (3): e43. https://doi.org/https://doi.org/10.1002/imt2.43.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After this exercise, you are able to visualize a summary of microbial composition.\nExercise 1: Community composition\n\nLoad any of the example datasets mentioned in Section 4.2.\nAgglomerate data to phylum level.\nTransform data to relative abundances.\nVisualize community composition with a relative abundance bar plot. Which taxonomic features are most prevalent?\nExplore colData. Select the sample metadata variable and visualize the composition with a bar plot in respect to sample grouping. Does the community composition associate with the grouping?\nNormalize abundances to a standardized scale, i.e., calculate Z-scores.\nPlot normalized abundances with a heatmap.\n\nUseful functions:\nutils::data(), mia::agglomerateByRank(), mia::transformAssay(), miaViz::plotAbundance(), SummarizedExperiment::colData(), sechm::sechm()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>12</span>  <span class='chapter-title'>Community composition</span>"
    ]
  },
  {
    "objectID": "pages/alpha_diversity.html",
    "href": "pages/alpha_diversity.html",
    "title": "13  Alpha diversity",
    "section": "",
    "text": "13.1 Background\nAlpha diversity, or within-sample diversity, is a central concept in microbiome research. In ecological literature, several distinct but related alpha diversity indices, often referring to richness and evenness - the number of taxonomic features and how they are distributed, respectively - are commonly used (Willis 2019; Whittaker 1960). The term diversity can be used to collectively refer to all these indices.",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>13</span>  <span class='chapter-title'>Alpha diversity</span>"
    ]
  },
  {
    "objectID": "pages/alpha_diversity.html#background",
    "href": "pages/alpha_diversity.html#background",
    "title": "13  Alpha diversity",
    "section": "",
    "text": "Willis, Amy D. 2019. “Rarefaction, Alpha Diversity, and Statistics.” Frontiers in Microbiology 10. https://doi.org/10.3389/fmicb.2019.02407.\n\nWhittaker, R. H. 1960. “Vegetation of the Siskiyou Mountains, Oregon and California.” Ecological Monographs 30 (3): 279–338. https://doi.org/https://doi.org/10.2307/1943563.\n\n13.1.1 Applications\nAlpha diversity is predominantly used to quantify complexity in the microbiome. In the general adult population, lower alpha diversity and lower bacterial load have been associated with worse overall physical and mental health (Valles-Colomer et al. 2019; Vandeputte et al. 2017). However, this principle may not generalize to other populations, most notably in early life and in patient cohorts (Ma, Li, and Gotelli 2019).\n\nValles-Colomer, Mireia, Gwen Falony, Youssef Darzi, Ettje F. Tigchelaar, Jun Wang, Raul Y. Tito, Carmen Schiweck, et al. 2019. “The Neuroactive Potential of the Human Gut Microbiota in Quality of Life and Depression.” Journal Article. Nature Microbiology. https://doi.org/10.1038/s41564-018-0337-x.\n\nVandeputte, Doris, Gunter Kathagen, Kevin D’hoe, Sara Vieira-Silva, Mireia Valles-Colomer, João Sabino, Jun Wang, et al. 2017. “Quantitative Microbiome Profiling Links Gut Community Variation to Microbial Load.” Nature 551 (7681): 507–11.\n\nMa, Zhanshan (Sam), Lianwei Li, and Nicholas J Gotelli. 2019. “Diversity-Disease Relationships and Shared Species Analyses for Human Microbiome-Associated Diseases.” The ISME Journal 13 (8): 1911–19. https://doi.org/10.1038/s41396-019-0395-y.\n\n13.1.2 Approaches\nThe majority of alpha diversity metrics are closely related, though this is not evident from their names. Bastiaanssen, Quinn, and Loughman (2023) lay out this relationship across two factors (See table below); First, alpha diversity metrics can be defined as special cases of a unifying equation of diversity, where the Hill number determines the specific index captured. Lower Hill numbers favor richness, the number of distinct taxonomic features, whereas higher numbers favor evenness, how the taxonomic features are distributed over the sample (Hill 1973). Second, some alpha diversity metrics are weighted based on phylogeny, like Faith’s PD (1992) and PhILR (Silverman et al. 2017).\n\nBastiaanssen, Thomaz FS, Thomas P Quinn, and Amy Loughman. 2023. “Bugs as Features (Part 1): Concepts and Foundations for the Compositional Data Analysis of the Microbiome–Gut–Brain Axis.” Nature Mental Health 1 (12): 930–38. https://doi.org/10.1038/s44220-023-00148-3.\n\nHill, M. O. 1973. “Diversity and Evenness: A Unifying Notation and Its Consequences.” Ecology 54 (2): 427–32. https://doi.org/10.2307/1934352.\n\nFaith, D. P. 1992. “Conservation Evaluation and Phylogenetic Diversity.” Biological Conservation 61 (1): 10. https://doi.org/10.1016/0006-3207(92)91201-3.\n\nSilverman, Justin D, Alex D Washburne, Sayan Mukherjee, and Lawrence A David. 2017. “A Phylogenetic Transform Enhances Analysis of Compositional Microbiota Data.” eLife 6. https://doi.org/10.7554/eLife.21887.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nHill number 0\n\n\nHill number 1\n\n\nHill number 2\n\n\n\nDependent on presence and absence of taxonomic features, not abundance\nDependent on how evenly taxonomic features are distributed in a sample\nThe probability of two randomly picked taxonomic feature not being the same\n\n\n\n\n\n\nNeutral Diversity\n\n\nWeighs each taxon equally, no assumptions about phylogeny\nRichness (Chao1)\nShannon Entropy\nSimpson’s Index\n\n\n\n\nPhylogenetic Diversity\n\n\nIndices are scaled based on taxonomic closeness with a phylogenetic tree\nFaith’s Phylogenetic Diversity\nPhylogenetic Entropy\nRao’s Quadratic Diversity\n\n\n\nThe equation for general diversity can be defined as follows: ${{}^qD = (_{i=1}{R}pq_i})^{}$, with q = Hill number, R = number of features, p = relative feature abundance.\n\n\n\n\n\nCassol, Ibañez, and Bustamante (2025) offer practical guidelines for selecting alpha diversity indices. They classify alpha diversity into four main categories and recommend calculating at least one metric from each category, if possible, to sufficiently capture within-sample diversity. Since indices within the same category tend to be correlated, they suggest using the simplest available metric. Below are the default choices for each category:\n\n\nRichness: The number of observed unique features\n\nDominance: Berger-Parker\n\nInformation: Shannon\n\nPhylogenetics: Faith\n\n\n\n\n\n\n\nNoteNote: Richness estimators and denoising\n\n\n\nSeveral estimators have been developed to address the confounding effect of limited sampling size on observed richness, most notably ACE (A and SM 1992) and Chao1 (A 1984). Notably, these approaches may yield misleading results for modern 16S data, which commonly features denoising and removal of singletons (Deng, Umbach, and Neufeld 2024).\n\n\n\nDeng, Yongcui, Alexander K Umbach, and Josh D Neufeld. 2024. “Nonparametric Richness Estimators Chao1 and ACE Must Not Be Used with Amplicon Sequence Variant Data.” The ISME Journal 18 (1): wrae106. https://doi.org/10.1093/ismejo/wrae106.\n\nA, Chao. 1984. “Non-Parametric Estimation of the Number of Classes in a Population.” Scandinavian Journal of Statistics 11 (4): 265–70. https://www.jstor.org/stable/4615964.\n\nA, Chao, and Lee SM. 1992. “Estimating the Number of Classes via Sample Coverage.” Journal of the American Statistical Association 87 (417): 210–17. https://doi.org/https://doi.org/10.1080/01621459.1992.10475194.",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>13</span>  <span class='chapter-title'>Alpha diversity</span>"
    ]
  },
  {
    "objectID": "pages/alpha_diversity.html#sec-rarefaction",
    "href": "pages/alpha_diversity.html#sec-rarefaction",
    "title": "13  Alpha diversity",
    "section": "\n13.2 Rarefaction",
    "text": "13.2 Rarefaction\nUneven sequencing read depth can bias diversity metrics. Rarefaction attempts to normalize read depth by repeatedly subsampling reads and computing an averaged metric(Schloss 2024a, 2024b). Rarefaction for alpha diversity metrics can be applied by specifying the optional arguments sample and niter in addAlpha(). Rarefaction is discussed in more detail in Section 14.4.2 where it is applied in the context of beta diversity.\n\nSchloss, Patrick D. 2024a. “Rarefaction Is Currently the Best Approach to Control for Uneven Sequencing Effort in Amplicon Sequence Analyses.” mSphere 9 (2): e00354–23. https://doi.org/10.1128/msphere.00354-23.\n\n———. 2024b. “Waste Not, Want Not: Revisiting the Analysis That Called into Question the Practice of Rarefaction.” mSphere 9 (1): e00355–23. https://doi.org/10.1128/msphere.00355-23.",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>13</span>  <span class='chapter-title'>Alpha diversity</span>"
    ]
  },
  {
    "objectID": "pages/alpha_diversity.html#examples",
    "href": "pages/alpha_diversity.html#examples",
    "title": "13  Alpha diversity",
    "section": "\n13.3 Examples",
    "text": "13.3 Examples\n\n13.3.1 Calculate alpha diversity measures\nAlpha diversity can be estimated with the addAlpha() function, which includes built-in methods for calculating some indices, while others are computed via integration with the vegan package (Oksanen et al. 2020). The method calculates the given indices, and add them to the colData slot of the SummarizedExperiment object with the given name.\n\nOksanen, Jari, F. Guillaume Blanchet, Michael Friendly, Roeland Kindt, Pierre Legendre, Dan McGlinn, Peter R. Minchin, et al. 2020. Vegan: Community Ecology Package. https://CRAN.R-project.org/package=vegan.\n\n# First, let's load some example data.\nlibrary(mia)\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# The 'index' parameter allows computing multiple diversity indices\n# simultaneously. Without specification, four standard indices are calculated:\n# dbp_dominance, faith_diversity, observed_richness, and shannon_diversity.\ntse &lt;- addAlpha(\n    tse,\n    assay.type = \"counts\",\n    detection = 10\n)\n\n# Check some of the first values in colData\ntse$observed_richness |&gt; head()\n##  [1] 3144 3791 2319  761  671 1004\ntse$shannon_diversity |&gt; head()\n##  [1] 6.577 6.777 6.498 3.828 3.288 4.289\n\nCertain indices have additional options, here observed the detection parameter that controls the detection threshold. Species above this threshold are considered detected. See full list of options from help(addAlpha).\n\n\n\n\n\n\nNoteNote: Phylogenetic distances require a tree\n\n\n\nBecause tse is a TreeSummarizedExperiment object, its phylogenetic tree is used by default. However, the optional argument tree must be provided if tse does not contain a rowTree.\n\n\n\n13.3.2 Visualize alpha diversity measures\nAs alpha diversity metrics typically summarize high-dimensional samples into singular values, many visualization approaches are available. Once calculated, these metrics can be analyzed directly from the colData, for example, by plotting them using plotColData() from the scater package (McCarthy et al. 2020). Here, we use the observed species as a measure of richness. Let’s visualize the results against selected colData variables (sample type and final barcode).\n\nMcCarthy, Davis, Kieran Campbell, Aaron Lun, and Quin Wills. 2020. Scater: Single-Cell Analysis Toolkit for Gene Expression Data in r. http://bioconductor.org/packages/scater/.\n\nlibrary(scater)\nplotColData(\n    tse,\n    \"observed_richness\",\n    \"SampleType\",\n    colour_by = \"Final_Barcode\"\n) +\n    theme(axis.text.x = element_text(angle = 45, hjust = 1)) +\n    labs(x = \"Sample types\", y = expression(Richness[observed_richness]))\n\n\n\nObserved richness plotted grouped by sample type with color-labeled barcode.\n\n\n\n\n13.3.2.1 Alpha diversity measures comparisons\nWe can compare alpha diversities for example by calculating the correlation between them. Below, a visual comparison between Shannon and Faith indices is shown with a scatter plot.\n\nplotColData(tse, x = \"shannon_diversity\", y = \"faith_diversity\") +\n    labs(x = \"Shannon index\", y = \"Faith (phylogenetic) index\") +\n    geom_smooth(method = \"lm\")\n\n\n\n\n\n\n\n\ncor.test(tse[[\"shannon_diversity\"]], tse[[\"faith_diversity\"]])\n##  \n##      Pearson's product-moment correlation\n##  \n##  data:  tse[[\"shannon_diversity\"]] and tse[[\"faith_diversity\"]]\n##  t = 2.2, df = 24, p-value = 0.04\n##  alternative hypothesis: true correlation is not equal to 0\n##  95 percent confidence interval:\n##   0.02719 0.68822\n##  sample estimates:\n##     cor \n##  0.4102\n\nLet us visualize results from multiple alpha diversity measures against a given sample grouping available in colData (here, sample type). These have been readily stored in the colData slot, and they are thus directly available for plotting.\n\nlibrary(patchwork)\n\n# Create the plots\nindices &lt;- c(\n    \"observed_richness\", \"dbp_dominance\", \"shannon_diversity\",\n    \"faith_diversity\"\n)\nplots &lt;- lapply(\n    indices,\n    plotColData,\n    object = tse,\n    x = \"SampleType\",\n    colour_by = \"SampleType\"\n)\n\n# Fine-tune visual appearance\nplots &lt;- lapply(\n    plots, \"+\",\n    theme(\n        axis.text.x = element_blank(),\n        axis.title.x = element_blank(),\n        axis.ticks.x = element_blank()\n    )\n)\n\n# Plot the figures\nwrap_plots(plots, ncol = 1) +\n    plot_layout(guides = \"collect\")\n\n\n\n\n\n\n\nAll these different metrics provide information from different aspects of alpha diversity, notably on richness, dominance, information, and phylogenetic diversity described in Cassol, Ibañez, and Bustamante (2025). It is recommended to interpret these aspects separately and together.\n\nCassol, Ignacio, Mauro Ibañez, and Juan Pablo Bustamante. 2025. “Key Features and Guidelines for the Application of Microbial Alpha Diversity Metrics.” Scientific Reports 15 (1). https://doi.org/10.1038/s41598-024-77864-y.\nFrom our example, we can observe that soil and freshwater (creek) have the highest number of different taxonomic features present while tongue microbiome has the lowest richness, suggesting greater biodiversity in soil and freshwater samples.\nBased on the dominance values, species abundances in the soil samples appeared to be relatively evenly distributed. In contrast, the freshwater microbiome — particularly in the freshwater creek samples — was dominated by a single species, despite showing high observed richness.\nThese observations are supported by the Shannon index, which accounts for both richness and dominance. Soil samples showed the highest Shannon diversity, reflecting their high number of observed species and relatively even species distribution.\nSoil and freshwater creek environments host a wide range of phylogenetically diverse organisms, indicating that the observed taxonomic features are not closely related but rather distinct from one another in terms of their evolutionary history.\nIn summary, soil samples exhibit the highest biodiversity, while human-derived samples show less variation in terms of species composition and evolutionary diversity.\n\n13.3.3 Statistical analysis of alpha diversity measures\nWe can then analyze the statistical significance. We use the non-parametric Wilcoxon or Mann-Whitney test, as it is more flexible than the commonly used Student’s t-Test, since it does not assume normality.\n\npairwise.wilcox.test(\n    tse[[\"observed_richness\"]], tse[[\"SampleType\"]],\n    p.adjust.method = \"fdr\"\n)\n##  \n##      Pairwise comparisons using Wilcoxon rank sum exact test \n##  \n##  data:  tse[[\"observed_richness\"]] and tse[[\"SampleType\"]] \n##  \n##                     Feces Freshwater Freshwater (creek) Mock Ocean\n##  Freshwater         0.4   -          -                  -    -    \n##  Freshwater (creek) 0.3   0.3        -                  -    -    \n##  Mock               0.3   0.3        0.3                -    -    \n##  Ocean              0.8   1.0        0.3                0.3  -    \n##  Sediment (estuary) 0.3   0.8        0.3                0.3  0.8  \n##  Skin               0.3   0.8        0.3                0.3  0.8  \n##  Soil               0.3   0.3        0.5                0.3  0.3  \n##  Tongue             0.3   0.5        0.3                0.8  0.5  \n##                     Sediment (estuary) Skin Soil\n##  Freshwater         -                  -    -   \n##  Freshwater (creek) -                  -    -   \n##  Mock               -                  -    -   \n##  Ocean              -                  -    -   \n##  Sediment (estuary) -                  -    -   \n##  Skin               1.0                -    -   \n##  Soil               0.3                0.3  -   \n##  Tongue             0.3                0.3  0.3 \n##  \n##  P value adjustment method: fdr\n\n\n13.3.3.1 Visualizing significance in group-wise comparisons\nNext, let’s compare the Shannon index between sample groups and visualize the statistical significance. Using the stat_compare_means function from the ggpubr package, we can add visually appealing p-values to our plots.\nTo add adjusted p-values, we first have to calculate them.\n\nlibrary(ggpubr)\nlibrary(tidyverse)\n\n\nindex &lt;- \"shannon_diversity\"\ngroup_var &lt;- \"SampleType\"\n\n# Subsets the data by selecting only samples from feces, skin, or tongue.\ntse_sub &lt;- tse[, tse[[group_var]] %in% c(\"Feces\", \"Skin\", \"Tongue\")]\n\n# Updates factor levels to reflect selected groups\ntse_sub$SampleType &lt;- factor(tse_sub$SampleType)\n\n# Calculate p-values\npvals &lt;- pairwise.wilcox.test(\n    tse_sub[[index]], tse_sub[[group_var]],\n    p.adjust.method = \"fdr\"\n)\n\n# Put them to data.frame format\npvals &lt;- pvals[[\"p.value\"]] |&gt;\n    as.data.frame()\nvarname &lt;- \"group1\"\npvals[[varname]] &lt;- rownames(pvals)\n\n# To long format\npvals &lt;- reshape(\n    pvals,\n    direction = \"long\",\n    varying = colnames(pvals)[!colnames(pvals) %in% varname],\n    times = colnames(pvals)[!colnames(pvals) %in% varname],\n    v.names = \"p\",\n    timevar = \"group2\",\n    idvar = \"group1\"\n) |&gt;\n    na.omit()\n\n# Add y-axis position\npvals[[\"y.position\"]] &lt;- apply(pvals, 1, function(x) {\n    temp1 &lt;- tse[[index]][tse[[group_var]] == x[[\"group1\"]]]\n    temp2 &lt;- tse[[index]][tse[[group_var]] == x[[\"group2\"]]]\n    temp &lt;- max(c(temp1, temp2))\n    return(temp)\n})\npvals[[\"y.position\"]] &lt;- max(pvals[[\"y.position\"]]) +\n    order(pvals[[\"y.position\"]]) * 0.2\n\n# Round values\npvals[[\"p\"]] &lt;- round(pvals[[\"p\"]], 3)\n\n# Create a boxplot\np &lt;- plotColData(\n    tse_sub,\n    x = group_var, y = index,\n    show_boxplot = TRUE, show_violin = FALSE\n) +\n    theme(text = element_text(size = 10)) +\n    stat_pvalue_manual(pvals)\np",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>13</span>  <span class='chapter-title'>Alpha diversity</span>"
    ]
  },
  {
    "objectID": "pages/alpha_diversity.html#further-reading",
    "href": "pages/alpha_diversity.html#further-reading",
    "title": "13  Alpha diversity",
    "section": "\n13.4 Further reading",
    "text": "13.4 Further reading\nAn article on ggpubr package provides further examples for estimating and highlighting significances.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal of this exercise is to learn to calculate alpha diversities and to compare them between sample groups.\nExercise 1: Alpha diversity\n\nLoad any of the example datasets mentioned in Section 4.2.\nCalculate the Shannon diversity index, and add the results to colData().\nObserve colData, particularly focusing on the column names.\nSummarize the distribution of Shannon diversity with a histogram. Is there variance in alpha diversities?\nCalculate the Shannon diversity index with rarefaction and store it to colData as column \"shannon_rarefaction\".\nCalculate correlation between Shannon indices, with and without rarefaction. Do they correlate? If the correlation is relatively weak, what might explain this? If they correlate very strongly, why is that? What does rarefaction do and what can it be used for?\nVisualize the correlation.\nCalculate all available indices.\nVisualize single diversity index in respect to some sample grouping that you can find from colData. Can you see a difference between groups?\nCalculate statistical significance of difference in selected alpha diversity index between the sample groups. Do the results confirm your observation in step 9?\n\nUseful functions:\nutils::data(), mia::addAlpha(), miaViz::plotHistogram(), mia::getCrossAssociation(), scater::plotColData(), geom_smooth(method = \"lm\"), stats::wilcox.test(), stats::pairwise.wilcox.test(), stats::kruskal.test()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>13</span>  <span class='chapter-title'>Alpha diversity</span>"
    ]
  },
  {
    "objectID": "pages/community_similarity.html",
    "href": "pages/community_similarity.html",
    "title": "14  Community similarity",
    "section": "",
    "text": "14.1 Dissimilarity\nBeta diversity quantifies the dissimilarity between communities (multiple samples), as opposed to alpha diversity, which focuses on variation within a community (one sample). In microbiome research, commonly used metrics of beta diversity include:\nNotably, only some of these measures are actual distances, as this is a mathematical concept whose definition is not satisfied by certain ecological measures, such as the Bray-Curtis index. Therefore, the terms dissimilarity and beta diversity are preferred.\nIn practice, beta diversity is usually represented as a dist object. Such an object is a triangular matrix where the distance between each pair of samples is encoded by a specific cell. This distance matrix can then undergo ordination, which is an important ecological tool to reduce the dimensionality of data for a more efficient analysis and visualization. Ordination techniques aim to capture as much essential information from the data as possible and turn it into a lower dimensional representation. While dimension reduction inevitably results in some information loss, commonly utilized ordination techniques aim to optimally preserve meaningful patterns of sample similarity, with the definition of “optimal” varying by method.\nBased on the type of algorithm, ordination methods in microbiome research can be generally divided in two categories:\nThe former includes Principal Coordinate Analysis (PCoA), Principal Component Analysis (PCA), and Uniform Manifold Approximation and Projection for Dimension Reduction (UMAP), whereas the latter is mainly represented by distance-based redundancy analysis (dbRDA). First, we will discuss unsupervised ordination methods and then proceed to supervised ones.\nLet us now prepare some demonstration data for the practical examples.\nPerhaps the simplest way to analyze dissimilarity is to calculate a dissimilarity matrix. In this matrix, each sample is compared against each other based on specified dissimilarity method. The result includes a single number for each sample-pair. This number is an indication of how similar or dissimilar the microbial communities are.\nOne can calculate dissimilarity matrix with *Dissimilarity() functions. Here we use addDissimilarity() that adds the matrix to metadata slot. We calculate Unifrac dissimilarity that takes into account phylogenetic distances.\ntse &lt;- addDissimilarity(tse, assay.type = \"counts\", method = \"unifrac\")\nThe dissimilarities can then be visualized with a heatmap. Here we also add sample information to the plot.\nlibrary(ComplexHeatmap)\n\n# Annotation for samples\nannotation &lt;- HeatmapAnnotation(sample_type = tse[[\"SampleType\"]])\n\n# Create a heatmap\nHeatmap(\n    metadata(tse)[[\"unifrac\"]],\n    heatmap_legend_param = list(title = \"Unifrac\"),\n    bottom_annotation = annotation\n)\nFrom the heatmap, we can observe that samples within the same sample type are the most similar to each other. The sample types follow the hierarchical clustering generated by the Heatmap() function.",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>14</span>  <span class='chapter-title'>Community similarity</span>"
    ]
  },
  {
    "objectID": "pages/community_similarity.html#divergence",
    "href": "pages/community_similarity.html#divergence",
    "title": "14  Community similarity",
    "section": "\n14.2 Divergence",
    "text": "14.2 Divergence\nThe divergence measure refers to a difference in community composition between the given sample(s) and a reference sample. This can be evaluated with addDivergence(). Reference and algorithm for the calculation of divergence can be specified as reference and FUN, respectively.\n\ntse &lt;- addDivergence(\n    tse,\n    assay.type = \"counts\",\n    reference = \"median\",\n    FUN = getDissimilarity\n)",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>14</span>  <span class='chapter-title'>Community similarity</span>"
    ]
  },
  {
    "objectID": "pages/community_similarity.html#sec-permanova",
    "href": "pages/community_similarity.html#sec-permanova",
    "title": "14  Community similarity",
    "section": "\n14.3 Permutational Multivariate Analysis of Variance",
    "text": "14.3 Permutational Multivariate Analysis of Variance\nPERMANOVA (Permutational Multivariate Analysis of Variance) (Anderson 2001) can be seen as a non-parametric, multivariate extension of ANOVA (Analysis of Variance). It is used to compare groups in multivariate data and to assess whether a variable explains differences in the data. PERMANOVA first calculates the dissimilarities between samples, then compares the centroids (multivariate means) of each group to determine if they differ significantly.\n\nAnderson, Marti J. 2001. “A New Method for Non-Parametric Multivariate Analysis of Variance.” Austral Ecology 26 (1): 32–46. https://doi.org/10.1111/j.1442-9993.2001.01070.pp.x.\nPERMANOVA determines statistical significance by permuting (randomly shuffling) group labels many times. By comparing the observed test statistic to those from the permutations, it assesses if the observed group differences are likely due to chance, without relying on parametric assumptions.\nSince PERMANOVA relies on comparing centroids, it assumes that the variation within groups is smaller than the variation between groups, meaning the groups are distinct. If this assumption isn’t met, it can affect the interpretation of the results, so it’s important to check this assumption before drawing conclusions.\n\nres &lt;- getPERMANOVA(\n    tse,\n    assay.type = \"relabundance\",\n    formula = x ~ SampleType\n)\nres\n##  $permanova\n##  Permutation test for adonis under reduced model\n##  Marginal effects of terms\n##  Permutation: free\n##  Number of permutations: 999\n##  \n##  adonis2(formula = formula, data = data, method = ..1, by = by, na.action = na.action)\n##             Df SumOfSqs    R2    F Pr(&gt;F)    \n##  SampleType  8     8.25 0.731 5.78  0.001 ***\n##  Residual   17     3.03 0.269                \n##  Total      25    11.28 1.000                \n##  ---\n##  Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n##  \n##  $homogeneity\n##             Df Sum Sq Mean Sq     F N.Perm Pr(&gt;F) Total variance\n##  SampleType  8 0.4997 0.06246 5.807    999  0.005         0.6825\n##             Explained variance\n##  SampleType             0.7321\n\nThe output includes both PERMANOVA and homogeneity results. When PERMANOVA results are significant, we check the homogeneity results to ensure reliability. The homogeneity test measures group dispersions which are the average distances between samples and their group centroids. A non-significant homogeneity result indicates that groups have similar within-group variability, i.e., the group dispersions are homogenous, which is desired in PERMANOVA.\nIn our case, PERMANOVA results are significant; however, the homogeneity test shows a significant difference in group dispersion. This suggests that the observed differences may be influenced by unequal variability among groups, and therefore, caution is needed when interpreting the PERMANOVA result. The effect of SampleType on microbial composition may be confounded by dispersion differences.\nPERMANOVA and distance-based redundancy analysis (dbRDA) are closely related, and they often give similar results. However, their assumptions are different; while PERMANOVA is non-parametric method, dbRDA assumes linear relationships in dissimilarity matrix. However, dbRDA can be used more broadly as the ordination can also be visualized.",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>14</span>  <span class='chapter-title'>Community similarity</span>"
    ]
  },
  {
    "objectID": "pages/community_similarity.html#sec-unsupervised-ordination",
    "href": "pages/community_similarity.html#sec-unsupervised-ordination",
    "title": "14  Community similarity",
    "section": "\n14.4 Unsupervised ordination",
    "text": "14.4 Unsupervised ordination\nUnsupervised ordination methods analyze variation in the data without additional information on covariates or other supervision of the model. Among the different approaches, Multi-Dimensional Scaling (MDS) and non-metric MDS (NMDS) can be regarded as the standard. They are jointly referred to as PCoA. For this demonstration, we will analyze beta diversity in GlobalPatterns, and observe the variation between stool samples and samples of differing origin.\n\n14.4.1 Comparing communities by beta diversity analysis\nA typical comparison of community compositions starts with a visual representation of the groups by a 2D ordination. Then we estimate relative abundances and MDS ordination based on Bray-Curtis index between the groups, and visualize the results.\nIn the following examples dissimilarity is calculated with the function supplied to the FUN argument. Several metrics of beta diversity are defined by the vegdist() function of the vegan package, which is often used in this context. However, custom functions created by the user also work, as long as they return a dist object. In either case, this function is then applied to calculate reduced dimensions via an ordination method, the results of which can be stored in the reducedDim slot of the TreeSE. This entire process is contained by the addMDS() and addNMDS() functions.\n\n# Load package to plot reducedDim\nlibrary(scater)\n\n# Run PCoA on relabundance assay with Bray-Curtis distances\ntse &lt;- addMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"bray\",\n    assay.type = \"relabundance\",\n    name = \"MDS_bray\"\n)\n\nSample dissimilarity can be visualized on a lower-dimensional display (typically 2D) using the plotReducedDim() function from the scater package. This also provides tools to incorporate additional information encoded by color, shape, size and other aesthetics. Can you find any difference between the groups?\n\n# Create ggplot object\np &lt;- plotReducedDim(tse, \"MDS_bray\", colour_by = \"Group\")\n\n# Calculate explained variance\ne &lt;- attr(reducedDim(tse, \"MDS_bray\"), \"eig\")\nrel_eig &lt;- e / sum(e[e &gt; 0])\n\n# Add explained variance for each axis\np &lt;- p + labs(\n    x = paste(\"PCoA 1 (\", round(100 * rel_eig[[1]], 1), \"%\", \")\", sep = \"\"),\n    y = paste(\"PCoA 2 (\", round(100 * rel_eig[[2]], 1), \"%\", \")\", sep = \"\")\n)\n\np\n\n\n\nMDS plot based on the Bray-Curtis distances on the GlobalPattern dataset.\n\n\n\nTo further visualize the differences between the groups, we can add boxplots that display the distribution of the scores with respect to each group.\n\nlibrary(ggExtra)\n\np &lt;- ggMarginal(p, type = \"boxplot\", groupFill = TRUE)\np\n\n\n\n\n\n\n\nA few combinations of beta diversity metrics and assay types are typically used. For instance, Bray-Curtis dissimilarity and Euclidean distance are often applied to the relative abundance and the clr assays, respectively. Besides beta diversity metric and assay type, the PCoA algorithm is also a variable that should be considered. Below, we show how the choice of these three factors can affect the resulting lower-dimensional data.\n\n# Run NMDS on relabundance assay with Bray-Curtis distances\ntse &lt;- addNMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"bray\",\n    assay.type = \"relabundance\",\n    name = \"NMDS_bray\"\n)\n\n# Run MDS on clr assay with Aitchison distances\ntse &lt;- addMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"euclidean\",\n    assay.type = \"clr\",\n    name = \"MDS_aitchison\"\n)\n\n# Run NMDS on clr assay with Euclidean distances\ntse &lt;- addNMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"euclidean\",\n    assay.type = \"clr\",\n    name = \"NMDS_aitchison\"\n)\n\nMultiple ordination plots are combined into a multi-panel plot with the patchwork package, so that different methods can be compared to find similarities between them or select the most suitable one to visualize beta diversity in the light of the research question.\n\n# Load package for multi-panel plotting\nlibrary(patchwork)\n\n# Generate plots for all 4 reducedDims\nplots &lt;- lapply(\n    c(\"MDS_bray\", \"MDS_aitchison\", \"NMDS_bray\", \"NMDS_aitchison\"),\n    plotReducedDim,\n    object = tse,\n    colour_by = \"Group\"\n)\n\n# Generate multi-panel plot\nwrap_plots(plots) +\n    plot_layout(guides = \"collect\")\n\n\n\nComparison of MDS and NMDS plots based on the Bray-Curtis or Aitchison distances on the GlobalPattern dataset.\n\n\n\nThe Unifrac method is a special case, as it requires data on the relationship of features in the form of a phylo tree. getDissimilarity() performs the calculation to return a dist object, which can again be used within addMDS().\n\ntse &lt;- addMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"unifrac\",\n    name = \"unifrac\",\n    tree = rowTree(tse),\n    ntop = nrow(tse),\n    assay.type = \"counts\"\n)\n\nplotReducedDim(tse, \"unifrac\", colour_by = \"Group\")\n\n\n\nUnifrac distances scaled by MDS of the GlobalPattern dataset.\n\n\n\n\n14.4.2 Rarefaction to mitigate impacts of uneven sequencing effort\nThe sequencing depth of a sample refers to the number of metagenomic reads obtained from the sequencing process. It is common to find significant variation in sequencing depth between samples. For instance, the samples of the TreeSummarizedExperiment dataset GlobalPatterns show up to a 40-fold difference in the number of metagenomic reads. Variation in sequencing depth across samples in a study can bias the calculation of alpha and beta diversity metrics (Patrick D. Schloss 2023).\n\n# Calculate the list of sequencing depths across samples\nsequencing_depths &lt;- colSums(assay(tse))\n\n# Calculate variation between highest and lowest sequencing depth\ndepth_variation &lt;- max(sequencing_depths) / min(sequencing_depths)\ndepth_variation\n##  [1] 40.16\n\nTo address uneven sequencing effort, rarefaction aims to normalize metagenomic reads counts using repeated subsampling. The user first chooses the rarefaction depth and a number of iterations N. All the samples with metagenomic read counts below the specified depth are removed and then metagenomic reads are randomly drawn for the samples left to get subsampled reads at equal read depth. Then a beta diversity metric is calculated with the subsampled data and the process is iterated N times. Finally, beta diversity is estimated taking the mean of all beta diversity values calculated on subsampled data.\nThere has been a long-lasting controversy surrounding the use of rarefaction in microbial ecology. The main concern is that subsampling would omit data (McMurdie and Holmes 2014; Patrick D. Schloss 2024). However, if the subsampling process is repeated a sufficient number of times, and if the rarefaction depth is set to the lowest metagenomic reads count found across all samples, no data will be omitted. Moreover, Patrick Schloss has demonstrated that rarefaction is “the only method that could control for variation in uneven sequencing effort when measuring commonly used alpha and beta diversity metrics” (Patrick D. Schloss 2023).\n\nMcMurdie, Paul J, and Susan Holmes. 2014. “Waste Not, Want Not: Why Rarefying Microbiome Data Is Inadmissible.” PLoS Computational Biology 10 (4): e1003531.\n\nSchloss, Patrick D. 2024. “Waste Not, Want Not: Revisiting the Analysis That Called into Question the Practice of Rarefaction.” mSphere 9 (1): e00355–23. https://doi.org/10.1128/msphere.00355-23.\n\nSchloss, Patrick D. 2023. “Rarefaction Is Currently the Best Approach to Control for Uneven Sequencing Effort in Amplicon Sequence Analyses.” bioRxiv, 2023–06. https://doi.org/10.1101/2023.06.23.546313.\nLet us first convert the count assay to centered log ratio (clr) assay and calculate MDS with Aitchison distance without rarefaction:\n\n# Centered log-ratio transformation to properly apply Aitchison distance\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"counts\",\n    method = \"clr\",\n    pseudocount = 1\n)\n\n# Run MDS on clr assay with Aitchison distance\ntse &lt;- addMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"euclidean\",\n    assay.type = \"clr\",\n    name = \"MDS_aitchison\"\n)\n\nThen let’s do the same with rarefaction:\n\n# Define custom transformation function..\nclr &lt;- function(x) {\n    vegan::decostand(x, method = \"clr\", pseudocount = 1)\n}\n\n# Run transformation after rarefactions before calculating the beta diversity\ntse &lt;- addMDS(\n    tse,\n    assay.type = \"counts\",\n    FUN = getDissimilarity,\n    method = \"euclidean\",\n    niter = 10, # Number of iterations\n    sample = min(colSums(assay(tse, \"counts\"))), # Rarefaction depth\n    transf = clr, # Applied transformation\n    replace = TRUE,\n    name = \"MDS_aitchison_rarefied\"\n)\n\nNow we are ready for plot non-rarefied and rarefied MDS plots side-by-side.\n\n# Generate plots for non-rarefied and rarefied Bray-Curtis distances scaled by MDS\nplots &lt;- lapply(\n    c(\"MDS_aitchison\", \"MDS_aitchison_rarefied\"),\n    plotReducedDim,\n    object = tse,\n    colour_by = \"SampleType\"\n)\n\n# Generate multi-panel plot\nwrap_plots(plots) +\n    plot_layout(guides = \"collect\")\n\n\n\n\n\n\n\nntop is an addMDS() option. Here it is set to total number of features in GlobalPatterns dataset so that they are not filtered. If ntop was not set to the total number of features, only the ntop features with highest variance would be used for dimensionality reduction and the other features would be filtered.\nWhen rarefaction is not done, the getDissimilarity() utilizes vegan::vegdist() function while in rafection vegan::avgdist() is applied. The argument sample is set to the smallest metagenomic reads count across all samples. This ensures that no sample will be removed during the rarefaction process.\nThe argument niter is by default set to 100 but 10 iterations is often sufficient for beta diversity calculations. To use transformations after the rarefaction of the samples and before the beta diversity calculation, we can use the argument transf. We can also plot the correlation between principal coordinates PCx and PCy for both the rarefied and non-rarefied distance calculations:\n\nlibrary(ggpubr)\n\np &lt;- lapply(1:2, function(i) {\n    # Principal axes are sign invariant;\n    # align the signs; if the correlation is negative then swap the other axis\n    original &lt;- reducedDim(tse, \"MDS_aitchison\")[, i]\n    rarefied &lt;- reducedDim(tse, \"MDS_aitchison_rarefied\")[, i]\n\n    temp &lt;- ggplot(\n        data = data.frame(original, rarefied),\n        aes(x = original, y = rarefied)\n    ) +\n        geom_point() +\n        geom_smooth(method = \"lm\") +\n        stat_cor(method = \"pearson\") +\n        labs(title = paste0(\"Principal coordinate \", i))\n    return(temp)\n})\nwrap_plots(p)\n\n\n\n\n\n\n\nThe mia package’s addAlpha() and getDissimilarity() functions support rarefaction in alpha and beta diversity calculations. Additionally, the rarefyAssay() function allows random subsampling of a given assay within a TreeSummarizedExperiment dataset.\n\n14.4.3 Other ordination methods\nOther dimension reduction methods, such as PCA and UMAP, are inherited from the scater package.\n\ntse &lt;- runPCA(\n    tse,\n    name = \"PCA\",\n    assay.type = \"counts\",\n    ncomponents = 10\n)\n\n# Visualize the result\nplotReducedDim(tse, \"PCA\", colour_by = \"Group\")\n\n\n\nPCA plot on the GlobalPatterns dataset containing samples from different sources.\n\n\n\nAs mentioned before, applicability of the different methods depends on your sample set and research question.\n\ntse &lt;- runUMAP(\n    tse,\n    name = \"UMAP\",\n    assay.type = \"counts\",\n    ncomponents = 3\n)\n\n# Visualize the result\nplotReducedDim(tse, \"UMAP\", colour_by = \"Group\", ncomponents = c(1:3))\n\n\n\nUMAP plot on the GlobalPatterns dataset containing sample from different sources.\n\n\n\n\n14.4.4 Explained variance\nThe percentage of explained variance is typically shown in PCA ordination plots. This quantifies the proportion of overall variance in the data that is captured by the PCA axes, or how well the ordination axes reflect the original distances.\nSometimes a similar measure is shown for MDS/PCoA. However, the interpretation is generally different, hence we do not recommend using it. PCA is a special case of PCoA with Euclidean distances. With non-Euclidean dissimilarities PCoA uses a trick where the pointwise dissimilarities are first cast into similarities in a Euclidean space (with some information loss i.e., stress) and then projected to the maximal variance axes. In this case, the maximal variance axes do not directly reflect the correspondence of the projected distances and original distances, as they do for PCA.\nIn typical use cases, we would like to know how well the ordination reflects the original similarity structures; then the quantity of interest is the so-called “stress” function, which measures the difference in pairwise similarities between the data points in the original (high-dimensional) vs. projected (low-dimensional) space.\nHence, we propose that for PCoA and other ordination methods, users would report relative stress, which varies within the unit interval and is better if smaller. This can be calculated as shown below.\n\n# Quantify dissimilarities in the original feature space\nd0 &lt;- as.matrix(getDissimilarity(t(assay(tse, \"relabundance\")), \"bray\"))\n\n# PCoA Ordination\ntse &lt;- addMDS(\n    tse,\n    FUN = getDissimilarity,\n    name = \"PCoA\",\n    method = \"bray\",\n    assay.type = \"relabundance\"\n)\n\n# Quantify dissimilarities in the ordination space\ndp &lt;- as.matrix(dist(reducedDim(tse, \"PCoA\")))\n\n# Calculate stress i.e. relative difference\n# in the original and projected dissimilarities\nstress &lt;- sum((dp - d0)^2) / sum(d0^2)\n\nA Shepard plot visualizes the original versus the ordinated dissimilarity between the observations.\n\nord &lt;- order(as.vector(d0))\ndf &lt;- data.frame(\n    d0 = as.vector(d0)[ord],\n    dmds = as.vector(dp)[ord]\n)\n\nggplot(df, aes(x = d0, y = dmds)) +\n    geom_smooth() +\n    geom_point() +\n    labs(\n        title = \"Shepard plot\",\n        x = \"Original distance\",\n        y = \"MDS distance\",\n        subtitle = paste(\"Stress:\", round(stress, 2))\n    ) +\n    theme_bw()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>14</span>  <span class='chapter-title'>Community similarity</span>"
    ]
  },
  {
    "objectID": "pages/community_similarity.html#supervised-constrained-ordination",
    "href": "pages/community_similarity.html#supervised-constrained-ordination",
    "title": "14  Community similarity",
    "section": "\n14.5 Supervised / constrained ordination",
    "text": "14.5 Supervised / constrained ordination\ndbRDA is a supervised counterpart of PCoA. It maximizes the variance with respect to the covariates provided by the user. This can be used to quantify associations between each covariate and community composition (beta diversity). The table below summarizes the relations between the supervised and unsupervised ordination methods.\n\n\n\n\n\n\n\n\nsupervised ordination\nunsupervised ordination\n\n\n\nEuclidean distance\nRDA\nPCA\n\n\nnon-Euclidean distance\ndbRDA\nPCoA/MDS, NMDS, UMAP\n\n\n\nIn summary, the “dbRDA” is the more general method that allows a wider variety of dissimilarity, or beta diversity, indices. This method is available via mia::getRDA(), which calls vegan::dbrda(). By default, this uses Euclidean distances, which is equivalent to the ordinary RDA. However, the dbRDA method (mia::getRDA()) allows the use of other dissimilarity indices as well.\nLet us next demonstrate dbRDA with the enterotype dataset. Here samples correspond to patients. The colData lists the clinical status of each patient and a few covariates such as gender and age.\n\n# Load data\ndata(\"enterotype\", package = \"mia\")\ntse2 &lt;- enterotype\n\n# Apply relative transform\ntse2 &lt;- transformAssay(tse2, method = \"relabundance\")\n\n\n14.5.1 Redundancy analysis\ndbRDA can be performed with the addRDA() function. In addition to the arguments previously defined for unsupervised ordination, this function takes a formula to control for variables and an action to treat missing values. Along with clinical status, which is the main outcome, we control for gender and age, and exclude observations where one of these variables is missing.\n\n# Perform RDA\ntse2 &lt;- addRDA(\n    tse2,\n    assay.type = \"relabundance\",\n    formula = assay ~ ClinicalStatus + Gender + Age,\n    distance = \"bray\",\n    na.action = na.exclude\n)\n\n# Store results of PERMANOVA test\nrda_info &lt;- attr(reducedDim(tse2, \"RDA\"), \"significance\")\n\nThe importance of each variable on the similarity between samples (i.e., loadings) can be assessed from the results of PERMANOVA, automatically provided by the addRDA() function. It first performs dbRDA and then applies permutational tests to its results.\nAs previously described, PERMANOVA is a widely used non-parametric multivariate method that aims to estimate the actual statistical significance of differences in the observed community composition between two groups of samples. Furthermore, PERMANOVA tests the hypothesis that the centroids and dispersion of the community are equivalent between the compared groups. A p-value smaller than the significance threshold indicates that the groups have a different community composition.\nThis method is implemented with the adonis2 function from the vegan package.\nFrom the results table below, we see that both clinical status and age explain more than 10% of the variance, however, only age has statistical significance.\n\nrda_info$permanova |&gt;\n    knitr::kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\nDf\nSumOfSqs\nF\nPr(&gt;F)\nTotal variance\nExplained variance\n\n\n\nModel\n6\n1.1157\n1.940\n0.031\n3.991\n0.2795\n\n\nClinicalStatus\n4\n0.5837\n1.522\n0.137\n3.991\n0.1463\n\n\nGender\n1\n0.1679\n1.751\n0.099\n3.991\n0.0421\n\n\nAge\n1\n0.5245\n5.471\n0.001\n3.991\n0.1314\n\n\nResidual\n30\n2.8757\nNA\nNA\n3.991\n0.7205\n\n\n\n\n\nNext, we proceed to visualize the weight and significance of each variable on the similarity between samples with an RDA plot, which can be generated with the plotRDA() function from the miaViz package.\n\n# Load packages for plotting function\nlibrary(miaViz)\n\n# Generate RDA plot colored by clinical status\nplotRDA(tse2, \"RDA\", colour.by = \"ClinicalStatus\")\n\n\n\n\n\n\n\nFrom above, we can see that only age significantly describes differences between the microbial profiles of different samples. Such visual approach complements the previous results obtained with PERMANOVA.\n\n\n\n\n\n\nTipSpeed up calculations\n\n\n\nCalculating dissimilarities between samples is a computationally demanding task, which can make methods like dbRDA or PCoA time-consuming with large datasets. To speed up calculations, consider using functions that support parallel processing instead of the default vegan package options. Packages like parallelDist can significantly improve performance on systems with multiple available cores.\nIn *Dissimilarity() functions, you can specify the utilized dissimilarity function with dis.fun argument.\ntse &lt;- addDissimilarity(\n    tse,\n    assay.type = \"relabundance\",\n    method = \"bray\",\n    dis.fun = parallelDist::parallelDist\n)\nThis same approach can also be used in PCoA.\ntse &lt;- addMDS(\n    tse,\n    assay.type = \"relabundance\",\n    method = \"bray\",\n    dis.fun = parallelDist::parallelDist\n)\nWith dbRDA, you can use precomputed dissimilarity matrices, allowing the method to bypass the dissimilarity estimation step. This enhances efficiency and speeds up the analysis.\ntse &lt;- addRDA(\n    tse,\n    dis.name = \"bray\",\n    formula = assay ~ ClinicalStatus + Gender + Age,\n    na.action = na.exclude\n)\n\n\n\n14.5.2 Visualize dbRDA loadings\nLet us visualize the model coefficients or loadings for species that exhibit the largest differences between the groups. This gives some insights into how the groups tend to differ from each other in terms of community composition.\n\nplotLoadings(tse2, \"RDA\", ncomponents = 2, n = 20)\n\n\n\n\n\n\n\nIn the example above, the largest differences between the two groups can be attributed to Bifidobacterium and -1.\n\n14.5.3 Checking the homogeneity condition\nIt is important to note that the application of PERMANOVA assumes homogeneous group dispersions (variances). This can be tested with the PERMDISP2 method (Anderson 2006) by using the same assay and distance method as in PERMANOVA.\n\n———. 2006. “Distance-Based Tests for Homogeneity of Multivariate Dispersions.” Biometrics 62: 245–53. https://doi.org/10.1111/j.1541-0420.2005.00440.x.\nTo ensure that the homogeneity assumption holds, we retrieve the corresponding information from the results of RDA. None of the p-values is lower than the significance threshold, and thus homogeneity is observed.\n\n\n\n\n\n\nNoteNote\n\n\n\nPERMANOVA assumes that the group dispersions are homogeneous. This means that the variation within groups is smaller than the variation between groups, making the groups distinct. If this assumption is not met, the results can be misleading.\naddRDA() performs homogeneity test automatically.\n\n\n\nrda_info$homogeneity |&gt;\n    knitr::kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDf\nSum Sq\nMean Sq\nF\nN.Perm\nPr(&gt;F)\nTotal variance\nExplained variance\n\n\n\nClinicalStatus\n4\n0.2511\n0.0628\n2.7440\n999\n0.113\n1.0288\n0.2440\n\n\nGender\n1\n0.0103\n0.0103\n0.4158\n999\n0.530\n0.9283\n0.0111\n\n\nAge\n29\n0.3272\n0.0113\n17.0255\n999\n0.392\n0.3319\n0.9860\n\n\n\n\n\nAs the group dispersion are homogeneous, PERMANOVA can be seen as an appropriate choice for comparing community compositions.",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>14</span>  <span class='chapter-title'>Community similarity</span>"
    ]
  },
  {
    "objectID": "pages/community_similarity.html#case-studies",
    "href": "pages/community_similarity.html#case-studies",
    "title": "14  Community similarity",
    "section": "\n14.6 Case studies",
    "text": "14.6 Case studies\n\n14.6.0.1 Visualizing the most dominant genus on PCoA\nIn this section, we visualize the most dominant genus with PCoA. A similar visualization was proposed by Salosensaari et al. (2021). First, let us agglomerate the data at the Genus level and identify the dominant taxonomic features for each sample.\n\nSalosensaari, Aaro, Ville Laitinen, Aki Havulinna, Guillaume Méric, Susan Cheng, Markus Perola, Liisa Valsta, et al. 2021. “Taxonomic Signatures of Cause-Specific Mortality Risk in Human Gut Microbiome.” Nature Communications 12: 1–8. https://www.nature.com/articles/s41467-021-22962-y.\n\n# Agglomerate to genus level\ntse_genus &lt;- agglomerateByRank(tse, rank = \"Genus\")\n\n# Convert to relative abundances\ntse_genus &lt;- transformAssay(\n    tse,\n    method = \"relabundance\", assay.type = \"counts\"\n)\n\n# Add info on dominant genus per sample\ntse_genus &lt;- addDominant(\n    tse_genus,\n    assay.type = \"relabundance\", name = \"dominant_taxa\"\n)\n\n# Overview\nsummarizeDominance(\n    tse_genus,\n    rank = \"Genus\", digits = 3, name = \"dominant_taxa\"\n)\n##  # A tibble: 16 × 3\n##    dominant_taxa                n rel_freq\n##    &lt;chr&gt;                    &lt;int&gt;    &lt;dbl&gt;\n##  1 Bacteroides                  5     0.2 \n##  2 Crenothrix                   3     0.12\n##  3 Faecalibacterium             2     0.08\n##  4 Prochlorococcus              2     0.08\n##  5 Streptococcus                2     0.08\n##  6 CandidatusNitrososphaera     1     0.04\n##  # ℹ 10 more rows\n\nNext, we perform PCoA with Bray-Curtis dissimilarity.\n\ntse_genus &lt;- addMDS(\n    tse_genus,\n    FUN = getDissimilarity,\n    name = \"PCoA_BC\",\n    method = \"bray\",\n    assay.type = \"relabundance\"\n)\n\nFinally, we get the top taxonomic features and visualize their abundances on PCoA.\n\n# Getting the top taxa\ntop_taxa &lt;- getTop(tse_genus, top = 6, assay.type = \"relabundance\")\n\n# Naming all the rest of non top-taxa \"Other\"\nmost_abundant &lt;- lapply(\n    colData(tse_genus)$dominant_taxa, function(x) {\n        if (x %in% top_taxa) {\n            x\n        } else {\n            \"Other\"\n        }\n    }\n)\n\n# Storing the previous results as a new column within colData\ncolData(tse_genus)$most_abundant &lt;- as.character(most_abundant)\n\n# Calculating percentage of the most abundant\nmost_abundant_freq &lt;- table(as.character(most_abundant))\nmost_abundant_percent &lt;- round(\n    most_abundant_freq / sum(most_abundant_freq) * 100,\n    1\n)\n\n# Retrieving the explained variance\ne &lt;- attr(reducedDim(tse_genus, \"PCoA_BC\"), \"eig\")\nvar_explained &lt;- e / sum(e[e &gt; 0]) * 100\n\n# Define colors for visualization\nmy_colors &lt;- c(\n    \"black\", \"blue\", \"lightblue\", \"darkgray\", \"magenta\", \"darkgreen\", \"red\"\n)\n\n# Visualization\np &lt;- plotReducedDim(tse_genus, \"PCoA_BC\", colour_by = \"most_abundant\") +\n    scale_colour_manual(\n        values = my_colors,\n        labels = paste0(\n            names(most_abundant_percent), \"(\", most_abundant_percent, \"%)\"\n        )\n    ) +\n    labs(\n        x = paste(\"PC 1 (\", round(var_explained[1], 1), \"%)\"),\n        y = paste(\"PC 2 (\", round(var_explained[2], 1), \"%)\"),\n        color = \"\"\n    )\n\np\n\n\n\n\n\n\n\nSimilarly, we visualize and compare the sub-population.\n\n# Calculating the frequencies and percentages for both categories\nfreq_TRUE &lt;- table(as.character(most_abundant[tse_genus$Group]))\nfreq_FALSE &lt;- table(as.character(most_abundant[!tse_genus$Group]))\npercent_TRUE &lt;- round(freq_TRUE / sum(freq_TRUE) * 100, 1)\npercent_FALSE &lt;- round(freq_FALSE / sum(freq_FALSE) * 100, 1)\n\n# Visualization with Group == TRUE\nplotReducedDim(\n    tse_genus[, colData(tse_genus)$Group == TRUE], \"PCoA_BC\",\n    colour_by = \"most_abundant\"\n) +\n\n    scale_colour_manual(\n        values = my_colors,\n        labels = paste0(names(percent_TRUE), \"(\", percent_TRUE, \"%)\")\n    ) +\n\n    labs(\n        x = paste(\"PC 1 (\", round(var_explained[1], 1), \"%)\"),\n        y = paste(\"PC 2 (\", round(var_explained[2], 1), \"%)\"),\n        title = \"Group = TRUE\", color = \"\"\n    )\n\n\n\n\n\n\n\n# Visualization with Group == FALSE\nplotReducedDim(\n    tse_genus[, colData(tse_genus)$Group == FALSE], \"PCoA_BC\",\n    colour_by = \"most_abundant\"\n) +\n\n    scale_colour_manual(\n        values = my_colors,\n        labels = paste0(names(percent_FALSE), \"(\", percent_FALSE, \"%)\")\n    ) +\n\n    labs(\n        x = paste(\"PC 1 (\", round(var_explained[1], 1), \"%)\"),\n        y = paste(\"PC 2 (\", round(var_explained[2], 1), \"%)\"),\n        title = \"Group = FALSE\", color = \"\"\n    )\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipSummary\n\n\n\nAs a final note, we provide a comprehensive list of functions for the evaluation of dissimilarity indices available in the mia and scater packages. The calculate methods return a reducedDim object as an output, whereas the run methods store the reducedDim object into the specified TreeSE.\n\nCanonical Correspondence Analysis (CCA): getCCA() and runCCA()\n\ndbRDA: getRDA() and runRDA(0); our recommended default method to assess differences in community composition (beta diversity)\nDouble Principal Coordinate Analysis (DPCoA): getDPCoA() and runDPCoA()\n\nJensen-Shannon Divergence (JSD): calculateJSD() and runJSD()\n\nMDS: getMDS() and addMDS()\n\nNMDS: getNMDS() and addNMDS()\n\nOverlap: calculateOverlap() and runOverlap()\n\nPERMANOVA: (e.g. from vegan::adonis2()) can be used to assess significance when comparing community composition between groups. However, retrieving the loadings and components is more tricky.\nt-distributed Stochastic Neighbor Embedding (t-SNE): calculateTSNE() and runTSNE()\n\nUMAP: calculateUMAP() and runUMAP()\n\n\nFor more information on sample clustering, you can refer to:\n\nHow to extract information from clusters\n\nChapter 15 on community typing\n\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: To get insight into differences in the microbial community between groups of samples.\nExercise 1: Principal Component Analysis (PCA)\n\nLoad any of the example datasets mentioned in Section 4.2.\nApply a CLR transformation.\nReduce dimensionality with Principal Component analysis (PCA).\nList all available reduced dimensionalities stored in a tse -object using the reducedDimNames() -function. Is the PCA reduced dimension available?\nRetrieve PCA results (using the reducedDim() -function), and explore them. Where are the principal components located? How about the feature loadings and eigenvalues?\nVisualize the first two principal components.\nExplore colData and visualize the first two principal components again, now with samples colored based on a variable from the sample metadata. Can you observe any patterns?\nVisualize the PCA loadings for the two first components. Which features have the strongest associations? Interpret these results in reflect to sample grouping. Is there association between abundance of certain features and sample variable?\n\nExercise 2: Principal Coordinate Analysis (PCoA)\n\nLoad any of the example datasets mentioned in Section 4.2.\nTransform counts to relative abundance.\nApply Principal Coordinate Analysis (PCoA) to relative abundances with Bray-Curtis dissimilarity.\nList all available reduced dimensionalities stored in a tse -object using the reducedDimNames() -function. Is the PCoA reduced dimension available?\nVisualize PCoA results with sample grouping.\nRun PCoA with rarefaction. Visualize the results and compare them to PCoA without rarefaction. Do the plots look similar? What does rarefaction do, and what is it used for?\n\nExercise 3: Distance-based Redundancy Analsis (db-RDA)\n\nLoad any of the example datasets mentioned in Section 4.2.\nExplore colData. Select sample metadata variables and run distance-based redundancy analysis (db-RDA) on relative abundances with Bray-Curtis dissimilarity.\nExplore the statistical significance of the results. Do the sample groups have homogenic variance? Is there a significant association between any variables and the microbial profile?\nVisualize the db-RDA results.\n\nUseful functions:\nutils::data(), mia::transformAssay(), scater::runPCA(), SingleCellExperiment::reducedDimNames(), SingleCellExperiment::reducedDim(), scater::plotReducedDim(), miaViz::plotLoadings(), mia::addMDS(), mia::addRDA(), mia::getReducedDimAttribute(), miaViz::plotRDA()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>14</span>  <span class='chapter-title'>Community similarity</span>"
    ]
  },
  {
    "objectID": "pages/clustering.html",
    "href": "pages/clustering.html",
    "title": "15  Community typing",
    "section": "",
    "text": "15.1 Clustering\nCommunity typing in microbial ecology involves identifying distinct microbial communities by recognizing patterns in the data. The community types are described based on taxonomic feature characteristics, representing each community. The samples are described by community type assignments, which are defined by the ecosystem features in the sample. Community typing techniques can typically be divided into unsupervised clustering and dimensionality reduction techniques, where clustering is more commonly in use.\nIn this chapter, we first walk you through some common clustering schemes in use for microbial community ecology, then focus on more detailed community typing techniques based on data dimensionality reduction.\nClustering techniques aim to find groups, called clusters, that share a pattern in the data. In the microbiome context, clustering techniques are included in microbiome community typing methods. For example, clustering allows samples to be distinguished from each other based on their microbiome community composition. Clustering scheme consists of two steps, the first is to compute the sample dissimilarities with a given distance metric, and the second is to form the clusters based on the dissimilarity matrix. The data can be clustered either based on features or on samples. The examples below are focused on sample clustering.\nThere are multiple clustering algorithms available. bluster is a Bioconductor package providing tools for clustering data in the SummarizedExperiment container. It offers multiple algorithms such as hierarchical clustering, DBSCAN, and K-means.\n# Load dependencies\nlibrary(bluster)\nIn the examples of this chapter we use the peerj13075 data for microbiota community typing. This chapter illustrates how different results can be obtained depending on the choice of the algorithm. To reduce calculation time we decided to agglomerate taxonomic features onto ‘Class’ level and filter out the least prevalent taxonomic features as well as less commonly detected within a sample resulting in 25 features in the data.\nlibrary(mia)\ndata(\"peerj13075\", package = \"mia\")\ntse &lt;- peerj13075\n\n# Filter out most taxa to ease the calculation\naltExp(tse, \"prevalent\") &lt;- agglomerateByPrevalence(\n    tse,\n    rank = \"class\", prevalence = 20 / 100, detection = 1 / 100\n)",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>15</span>  <span class='chapter-title'>Community typing</span>"
    ]
  },
  {
    "objectID": "pages/clustering.html#clustering",
    "href": "pages/clustering.html#clustering",
    "title": "15  Community typing",
    "section": "",
    "text": "15.1.1 Hierarchical clustering\nHierarchical clustering aims to find hierarchy between samples or features. There are two approaches: agglomerative (“bottom-up”) and divisive (“top-down”). In the agglomerative approach, each observation is first in a unique cluster, after which the algorithm continues to agglomerate similar data points into clusters. The divisive approach, instead, starts with one cluster that contains all observations. Clusters are split recursively into clusters that differ the most. The clustering can be continued until each cluster contains only one observation.\nIn this example we use the addCluster() function from mia to cluster the data. The addCluster() function allows to choose a clustering algorithm and offers multiple parameters to shape the result. The HclustParam() parameter is used for hierarchical clustering, and it accepts several sub-parameters, as further detailed in HclustParam documentation. Notably, the by argument specifies whether clustering is performed based on features or samples. Here, we cluster counts data, for which we compute the dissimilarities with the Bray-Curtis distance using the ward.d2 method. Statistical information can be optionally returned with the full parameter. Finally, the clust.col parameter allows us to choose the name of the column in the colData (default name is clusters).\n\nlibrary(vegan)\n\n# Set seed for reproducibility\nset.seed(174923)\n\n# Add cluster\naltExp(tse, \"prevalent\") &lt;- addCluster(\n    altExp(tse, \"prevalent\"),\n    assay.type = \"counts\",\n    by = \"cols\",\n    HclustParam(method = \"ward.D2\", dist.fun = getDissimilarity, metric = \"bray\"),\n    full = TRUE,\n    clust.col = \"hclust\"\n)\n\n# Print the result table\ntable(altExp(tse, \"prevalent\")$hclust)\n##  \n##   1  2  3  4  5  6 \n##  13  5  8 16 11  5\n\nFrom the table we can see that the hierarchical clustering suggests six clusters to describe the data.\nNow, we visualize the hierarchical structure of the clusters with a dendrogram tree. In dendrograms, the tree is split where the branch length is the largest. In each splitting point, the tree is divided into two clusters leading to the hierarchy. In this example, each sample is labeled by their dominant taxon to visualize ecological differences between the clusters.\n\nlibrary(dendextend)\n\n# Get hclust data from metadata\nhclust_data &lt;- metadata(altExp(tse, \"prevalent\"))$clustering$hclust\n\n# Get the dendrogram object\ndendro &lt;- as.dendrogram(hclust_data)\nk &lt;- length(unique(altExp(tse, \"prevalent\")$hclust))\n\n# Color the branches by clusters\ncols &lt;- scales::hue_pal()(k)\n\n# Order the colors to be equivalent to the factor levels\ncols &lt;- cols[c(1, 4, 5, 3, 2, 6)]\ndend &lt;- color_branches(dendro, k = k, col = unlist(cols))\n\n# Label the samples by their dominant taxon\naltExp(tse, \"prevalent\") &lt;- addDominant(altExp(tse, \"prevalent\"))\nlabels(dend) &lt;- altExp(tse, \"prevalent\")$dominant_taxa\ndend &lt;- color_labels(dend, k = k, col = unlist(cols))\n\n# Adjust frame for the figure\npar(mar = c(9, 3, 0.5, 0.5))\n\n# Plot dendrogram\ndend |&gt;\n    set(\"labels_cex\", 0.8) |&gt;\n    plot()\n\n\n\n\n\n\n\nWe can also visualize the clusters by projecting the data onto a two-dimensional surface that captures the most variability in the data. In this example, we use multi-dimensional scaling (MDS) (see Section 14.4).\n\nlibrary(scater)\n\n# Add the MDS dimensions for plotting\naltExp(tse, \"prevalent\") &lt;- addMDS(\n    altExp(tse, \"prevalent\"),\n    assay.type = \"counts\",\n    FUN = vegan::vegdist,\n    method = \"bray\"\n)\n\n\nplotReducedDim(\n    altExp(tse, \"prevalent\"), \"MDS\",\n    colour_by = \"hclust\",\n    theme_size = 13, point_size = 4\n) +\n    labs(color = \"HClust\", title = \"Hclust\") + theme_minimal()\n\n\n\n\n\n\n\n\n15.1.2 Agglomeration based on clusters\nAnother way to agglomerate the data is to perform it based on clusters of the taxonomic features. To do so, we usually start by doing a compositionality aware transformation such as CLR, followed by the application of a standard clustering method.\nBelow is an example of a CLR transformation followed by the hierarchical clustering algorithm. We will use the kendall dissimilarity.\n\n# The result of the CLR transform is stored in the assay clr\ntse &lt;- transformAssay(tse, method = \"clr\", pseudocount = 1)\n\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"clr\", method = \"standardize\", MARGIN = \"rows\"\n)\n\n# Declare the Kendall dissimilarity computation function\nkendall_dissimilarity &lt;- function(x) {\n    as.dist(1 - cor(t(x), method = \"kendall\"))\n}\n\n# Cluster (with Kendall dissimilarity) on the features of the `standardize` assay\ntse &lt;- addCluster(\n    tse,\n    assay.type = \"standardize\",\n    clust.col = \"hclustKendall\",\n    MARGIN = \"rows\",\n    HclustParam(dist.fun = kendall_dissimilarity, method = \"ward.D2\")\n)\n\nThe results are stored in the rowData column specified with the clust.col parameter. To better visualize the results and the distribution of the clusters, we can plot the histogram of the clusters.\n\nlibrary(miaViz)\n\nplotBarplot(tse, row.var = \"hclustKendall\")\n\n\n\n\n\n\n\nThen we can merge data to clusters.\n\n# Aggregate clusters as a sum of each cluster values\ntse_merged &lt;- agglomerateByVariable(tse, by = \"rows\", f = \"hclustKendall\")\ntse_merged\n##  class: TreeSummarizedExperiment \n##  dim: 4 58 \n##  metadata(0):\n##  assays(3): counts clr standardize\n##  rownames(4): 1 2 3 4\n##  rowData names(7): kingdom phylum ... genus hclustKendall\n##  colnames(58): ID1 ID2 ... ID57 ID58\n##  colData names(5): Sample Geographical_location Gender Age Diet\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(1): prevalent\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\nThis confirms that the operation succeeded, as the number of rows now matches the number of clusters. You can find more information on agglomeration from Chapter 10.\n\n15.1.3 Dirichlet Multinomial Mixtures (DMM)\nThis section focuses on Dirichlet Multinomial Mixture Model (DMM) analysis. It is a Bayesian clustering technique that allows searching for sample patterns that reflect sample similarity in the data using both prior information and the data.\nIn this example, we cluster the data with DMM clustering. In the example below, we calculate model fit using Laplace approximation to reduce the calculation time. The cluster information is added to the metadata with an optional name. In this example, we use a prior assumption that the optimal number of clusters to describe the data would be in the range from 1 to 6.\n\n# Runs the model and calculates the most likely number of clusters from 1 to 6\nset.seed(1495723)\n\naltExp(tse, \"prevalent\") &lt;- addCluster(\n    altExp(tse, \"prevalent\"),\n    assay.type = \"counts\",\n    name = \"DMM\",\n    DmmParam(k = 1:6, type = \"laplace\"),\n    MARGIN = \"samples\",\n    full = TRUE,\n    clust.col = \"dmmclust\"\n)\n\nThe plot below represents the Laplace approximation to the model evidence for each of the six models. We can see that the best number of clusters is two, as the minimum value of Laplace approximation determines the optimal k. The optimal k suggests to fit a model with k mixtures of Dirichlet distributions as a prior.\n\nlibrary(miaViz)\n\np &lt;- plotDMNFit(altExp(tse, \"prevalent\"), type = \"laplace\", name = \"DMM\")\np + theme_minimal(base_size = 11)\n\n\n\n\n\n\n\nThe plot above confirms our previous suggestion that two clusters describe the data the best. Now we can plot which taxonomic features define the key cluster features.\n\n# Get the estimates on how much each phylum contributes on each cluster\nbest_model &lt;- metadata(altExp(tse, \"prevalent\"))$DMM$dmm[2]\ndrivers &lt;- as.data.frame(best_model[[1]]@fit$Estimate)\n\n# Plot by utilizing miaViz's function plotLoadings\nplotLoadings(as.matrix(drivers), ncomponents = 2)\n\n\n\n\n\n\n\nAs well as in hierarchical clustering, we can also visualize the clusters by projecting the data onto a two-dimensional surface calculated using MDS. The plot rather clearly demonstrates the cluster division.\n\n# DMM clusters\nplotReducedDim(altExp(tse, \"prevalent\"), \"MDS\", theme_size = 13) +\n    geom_point(\n        size = 3, alpha = 0.6,\n        aes(color = altExp(tse, \"prevalent\")$dmmclust)\n    ) +\n    labs(color = \"DMMclust\", title = \"DMM\") + theme_minimal()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>15</span>  <span class='chapter-title'>Community typing</span>"
    ]
  },
  {
    "objectID": "pages/clustering.html#dimensionality-reduction",
    "href": "pages/clustering.html#dimensionality-reduction",
    "title": "15  Community typing",
    "section": "\n15.2 Dimensionality reduction",
    "text": "15.2 Dimensionality reduction\nDimensionality reduction can be considered a part of community typing, where the aim is to find underlying structure in the data. Dimensionality reduction relies on the idea that the data can be described as a lower rank representation, where latent features with different loads of the observed ones describe the sample set. This representation stores the information about sample dissimilarity with significantly reduced amount of data dimensions. Unlike clustering, where each sample is assigned into one cluster, dimensionality reduction allows continuous memberships of all samples across all community types. Dimensionality reduction techniques are explained in more detail in Chapter 14.\n\n15.2.1 Non-negative matrix factorization\nIn this section, we will particularly focus on Non-negative Matrix Factorization (NMF). NMF decomposes the original data X into two lower rank matrices: H representing key taxonomic feature characteristics of each community type and W representing continuous sample memberships across all community types. The NMF algorithm calculates the minimum distance between the original data and its approximation using Kullback-Leibler divergence.\nHere, we use the mia wrapper getNMF. To reduce calculation time, we set the number of components k to four instead of optimizing the number of components that describe the original data the best. The matrix returned by getNMF contains the sample scores, while the NMF output and NMF feature loadings are stored in the attributes NMF_output and loadings, respectively.\n\nlibrary(NMF)\n\n# Calculate NMF\nset.seed(3221)\nres &lt;- getNMF(altExp(tse, \"prevalent\"), k = 4)\n\n# Obtain the relative abundance of ES in each sample\nwrel &lt;- t(apply(res, 1, function(x) {\n    x / sum(x)\n}))\n\n# Define the community type of a sample with the highest relative abundance\naltExp(tse, \"prevalent\")$NMFcomponent &lt;- as.factor(apply(wrel, 1, which.max))\ntable(altExp(tse, \"prevalent\")$NMFcomponent)\n##  \n##   1  2  3  4 \n##  11 14 28  5\n\nNow, we can plot the NMF community types calculated based on maximum membership for each sample onto a two-dimensional surface.\n\n# NMF community types\nplotReducedDim(\n    altExp(tse, \"prevalent\"), \"MDS\",\n    colour_by = \"NMFcomponent\",\n    point_size = 3, theme_size = 13\n) +\n\n    labs(color = \"NMFcomponent\", title = \"NMF\") + theme_minimal()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>15</span>  <span class='chapter-title'>Community typing</span>"
    ]
  },
  {
    "objectID": "pages/clustering.html#sec-clustered-heatmap",
    "href": "pages/clustering.html#sec-clustered-heatmap",
    "title": "15  Community typing",
    "section": "\n15.3 Heatmaps with clusters",
    "text": "15.3 Heatmaps with clusters\nIn Section 12.2, we visualized community composition with heatmaps. We can visualize the data similarly but add additional information on clusters.\n\nlibrary(ComplexHeatmap)\n\n# Agglomerate to Genus level\ntse &lt;- agglomerateByPrevalence(tse, rank = \"genus\")\n\n# Apply clr and scale data\ntse &lt;- transformAssay(tse, method = \"clr\", pseudocount = TRUE)\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"clr\", method = \"standardize\", MARGIN = \"rows\"\n)\n\n# Gets the assay table\nmat &lt;- assay(tse, \"standardize\")\n\nNow we can cluster rows.\n\nlibrary(ape)\nlibrary(ggtree)\n\n# Hierarchical clustering\ntse &lt;- addCluster(\n    tse,\n    assay.type = \"standardize\", HclustParam(method = \"complete\"),\n    full = TRUE\n)\ntaxa_hclust &lt;- metadata(tse)[[\"clustering\"]][[\"hclust\"]]\n\n# Creates a tree\ntaxa_tree &lt;- as.phylo(taxa_hclust)\nggtree(taxa_tree)\n\n\n\n\n\n\n\nBased on the phylo tree, we decide to create eight clusters.\n\n# Hierarchical clustering with k = 8\ntse &lt;- addCluster(\n    tse,\n    assay.type = \"standardize\",\n    HclustParam(method = \"complete\", cut.fun = cutree, k = 8)\n)\n\nFor the columns, we can utilize k-means clustering. First we have to specify the number of clusters.\n\nlibrary(factoextra)\nlibrary(NbClust)\nlibrary(patchwork)\n\n# Elbow method\np1 &lt;- fviz_nbclust(assay(tse, \"standardize\"), kmeans, method = \"wss\")\n# Silhouette method\np2 &lt;- fviz_nbclust(assay(tse, \"standardize\"), kmeans, method = \"silhouette\")\n\np1 + p2\n\n\n\n\n\n\n\nBased on the results, we split the columns into six clusters.\n\n# Hierarchical clustering with k = 4\ntse &lt;- addCluster(\n    tse,\n    assay.type = \"standardize\", by = \"cols\",\n    KmeansParam(centers = 6)\n)\n\n# Prints samples and their clusters\ncolData(tse)[[\"clusters\"]]\n##  NULL\n\nNow we can create a heatmap with additional annotations.\n\n# Order the data based on clusters\ntse &lt;- tse[\n    order(rowData(tse)[[\"cluster\"]]),\n    order(colData(tse)[[\"cluster\"]])\n]\n\n# Get data for plotting\nmat &lt;- assay(tse, \"standardize\")\ntaxa_clusters &lt;- rowData(tse)[, \"cluster\", drop = FALSE] |&gt;\n    as.data.frame()\nsample_data &lt;- colData(tse)[, c(\"cluster\", \"Gender\"), drop = FALSE] |&gt;\n    as.data.frame()\ncolnames(sample_data) &lt;- c(\"clusters_col\", \"gender\")\n\n# Determine the scaling of colors\n# Scale colors\nbreaks &lt;- seq(\n    -ceiling(max(abs(mat))), ceiling(max(abs(mat))),\n    length.out = ifelse(max(abs(mat)) &gt; 5, 2 * ceiling(max(abs(mat))), 10)\n)\ncolors &lt;- colorRampPalette(c(\"darkblue\", \"blue\", \"white\", \"red\", \"darkred\"))(length(breaks) - 1)\n\npheatmap(\n    mat,\n    annotation_row = taxa_clusters,\n    annotation_col = sample_data,\n    cluster_cols = FALSE, cluster_rows = FALSE,\n    breaks = breaks,\n    color = colors\n)\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipAdditional Community Typing\n\n\n\nFor more community typing techniques applied to the SprockettTHData data set, see the attached .Rmd file.\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After completing this exercise, you should be able to find clusters from the data.\nExercise 1: Community typing\n\nLoad any of the example datasets mentioned in Section 4.2.\nComplete the exercises in Chapter 14 and perform Principal Coordinate Analysis (PCoA) with Bray-Curtis dissimilarity.\nPerform clustering for samples with Dirichlet Multinomial Mixtures. Add calculated clusters to colData.\nVisualize the distribution of clusters with a bar plot.\nVisualize PCoA results with points colored based on clusters.\nDo the clusters correspond to the same variable or grouping found in the sample metadata? You can, for instance, visualize the variables with a box plot.\n\nUseful functions:\nutils::data(), mia::transformAssay(), mia::addMDS(), SingleCellExperiment::reducedDimNames(), SingleCellExperiment::reducedDim(), mia::addCluster(), miaViz::plotBarplot(), scater::plotReducedDim(), SummarizedExperiment::colData(), scater::plotColData()",
    "crumbs": [
      "Diversity & similarity",
      "<span class='chapter-number'>15</span>  <span class='chapter-title'>Community typing</span>"
    ]
  },
  {
    "objectID": "pages/differential_abundance.html",
    "href": "pages/differential_abundance.html",
    "title": "16  Differential abundance",
    "section": "",
    "text": "16.1 Challenges in differential abundance analysis\nAn important component of many microbiome studies is differential abundance analysis (DAA). It is mainly used to identify differences in the abundances of individual taxa (at any taxonomic level) between two or more groups, such as treatment versus control groups.\nThe goal of DAA is thus to identify biomarkers of a certain phenotype or condition, and gain understanding of a complex system by looking at its isolated components. For example, the identification of a bacterial taxon that is more abundant in healthy patients compared to diseased patients can lead to important insights into the underlying mechanisms of the disease. In other words, differentially abundant taxa can be involved in the dynamics of the disease, which in turn helps to understand the system as a whole.\nAs discussed in Section 11.1, microbiome data display unique properties, such as compositionality and skewed/zero-inflated distributions. Evidently, these properties need to be addressed properly also in DAA. Unfortunately, there is currently no consensus on how that should be done. Instead, there exist dozens of methods employing varying techniques and, consequently, providing highly discordant results.\nThe discordancy of results provided by different DAA methods was recently well illustrated by Nearing et al. (2022). In this study, multiple DAA methods were applied to 38 different datasets and their results were compared to one another. Similar findings were also made by Yang and Chen (2022) who evaluated DAA methods 106 real datasets (along with simulated data). They found especially that on many datasets almost any taxon was detected by at least one DAA method (see Figure 7 in their article). They thus raised concerns of potential cherry-picking, that is, a researcher would be likely to find the taxa in favor of their hypothesis by just trying out several different DAA methods.",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>16</span>  <span class='chapter-title'>Differential abundance</span>"
    ]
  },
  {
    "objectID": "pages/differential_abundance.html#sec-daa-recommendations",
    "href": "pages/differential_abundance.html#sec-daa-recommendations",
    "title": "16  Differential abundance",
    "section": "\n16.2 Recommendations based on recent literature",
    "text": "16.2 Recommendations based on recent literature\nUsually, when a new DAA method is introduced, the authors demonstrate it to perform better compared to some of the existing alternatives. That is often achieved by employing simulated data and possibly one or more real datasets. The authors may have, however, selected their simulation models, example datasets, evaluation metrics, compared methods, etc. specifically to show the introduced method in a favorable light. Assessing the performance of different methods based solely on the studies where they were originally introduced may therefore not be advisable.\nA more neutral evaluation of the performance of different DAA methods can be found from several independent benchmarking studies (e.g. Weiss et al. (2017), Hawinkel et al. (2019), Calgaro et al. (2020), Wallen (2021), Nearing et al. (2022), Yang and Chen (2022), Cappellato, Baruzzo, and Camillo (2022), Roche and Mukherjee (2022), Swift et al. (2023), Wirbel et al. (2024), Pelto et al. (2025), Gamboa-Tuz et al. (2025)). Unfortunately, these studies have ended up with very discordant conclusions on the methods. However, if we look specifically at some benchmarking studies that have used only real datasets (instead of simulated data), we can see that analysis of relative abundances (TSS normalized counts) with a simple non-parametric method or linear regression has performed well.\n\nHawinkel, Stijn, Federico Mattiello, Luc Bijnens, and Olivier Thas. 2019. “A Broken Promise: Microbiome Differential Abundance Methods Do Not Control the False Discovery Rate.” Briefings in Bioinformatics 20 (January): 210–21. https://doi.org/10.1093/BIB/BBX104.\n\nWallen, Zachary D. 2021. “Comparison Study of Differential Abundance Testing Methods Using Two Large Parkinson Disease Gut Microbiome Datasets Derived from 16S Amplicon Sequencing.” BMC Bioinformatics 22 (December): 1–29. https://doi.org/10.1186/S12859-021-04193-6/FIGURES/4.\n\nCappellato, Marco, Giacomo Baruzzo, and Barbara Di Camillo. 2022. “Investigating Differential Abundance Methods in Microbiome Data: A Benchmark Study.” PLOS Computational Biology 18 (September): e1010467. https://doi.org/10.1371/JOURNAL.PCBI.1010467.\n\nSwift, Dionne, Kellen Cresswell, Robert Johnson, Spiro Stilianoudakis, and Xingtao Wei. 2023. “A Review of Normalization and Differential Abundance Methods for Microbiome Counts Data.” Wiley Interdisciplinary Reviews: Computational Statistics 15 (January): e1586. https://doi.org/10.1002/WICS.1586.\n\nWirbel, Jakob, Morgan Essex, Sofia Kirke Forslund, and Georg Zeller. 2024. “A Realistic Benchmark for Differential Abundance Testing and Confounder Adjustment in Human Microbiome Studies.” Genome Biology 2024 25:1 25 (September): 1–26. https://doi.org/10.1186/S13059-024-03390-9.\n\nNearing et al. (2022) studied the performance of DAA methods using 38 datasets. They evaluated the number of detected taxa (ASVs), consistency of the detected taxa between methods, replication of results between studies and error rate on datasets with randomly assigned groups. They emphasized conservatism (low error rate) in their recommendations and ended up recommending ALDEx2 (Fernandes et al. 2014) and ANCOMBC (Mandal et al. 2015). Additionally, they recommended Maaslin2 (Mallick, Rahnavard, and McIver 2020) (i.e. analyzing arcsine square root transformed relative abundances with linear regression) as a more powerful option.\nIn addition to simulations, Yang and Chen (2022) estimated the FDR of different DAA methods on 106 real datasets with randomly created groups. They found that, the observed FDR was at the nominal level when, for instance, analyzing relative abundances either with the Wilcoxon test or with linear regression (Maaslin2).\nPelto et al. (2025) studied how the results from different DAA methods replicate between random partitions of datasets and between datasets from independent studies. They found that when considering consistency along with sensitivity, the best performance was obtained by analyzing relative abundances with a non-parametric method or (after log transformation) with linear regression/t-test (Maaslin2) or analyzing presence/absence of taxa with logistic regression.\nGamboa-Tuz et al. (2025) employed three real datasets to benchmark different DAA methods against biological ground truth. They found that methods employing the TSS normalization (with e.g. the Wilcoxon test) and RNA-seq-derived methods performed best.\n\n\nNearing, Jacob T., Gavin M. Douglas, Molly G. Hayes, Jocelyn MacDonald, Dhwani K. Desai, Nicole Allward, Casey M. A. Jones, et al. 2022. “Microbiome Differential Abundance Methods Produce Different Results Across 38 Datasets.” Nature Communications 13 (1): 342. https://doi.org/10.1038/s41467-022-28034-z.\n\nFernandes, Andrew D, Jennifer NS Reid, Jean M Macklaim, Thomas A McMurrough, David R Edgell, and Gregory B Gloor. 2014. “Unifying the Analysis of High-Throughput Sequencing Datasets: Characterizing RNA-Seq, 16S rRNA Gene Sequencing and Selective Growth Experiments by Compositional Data Analysis.” Microbiome 2 (December): 15. https://doi.org/10.1186/2049-2618-2-15.\n\nMandal, Siddhartha, Will Van Treuren, Richard A. White, Merete Eggesbø, Rob Knight, and Shyamal D. Peddada. 2015. “Analysis of Composition of Microbiomes: A Novel Method for Studying Microbial Composition.” Microbial Ecology in Health & Disease 26 (0). https://doi.org/10.3402/mehd.v26.27663.\nWe therefore recommend performing DAA by analyzing relative (TSS normalized) abundances by a non-parametric method (e.g., the Wilcoxon test or ordinal regression model) or, after a log transformation, with t-test/linear regression. In addition to their good performance on real data they have the benefit of being intuitive and easy to understand.\nWe note, however, that the performance of DAA methods likely depends on the characteristics of the analyzed data (Weiss et al. (2017), Calgaro et al. (2020)). Consequently, while the methods recommended above seem to be good general default methods, they may not necessarily be the optimal methods in many cases. If one wants to evaluate which method may perform best specifically on their data, one option to use the benchdamic package by Calgaro et al. (2022) (see vignette here).\n\nWeiss, Sophie, Zhenjiang Zech Xu, Shyamal Peddada, Amnon Amir, Kyle Bittinger, Antonio Gonzalez, Catherine Lozupone, et al. 2017. “Normalization and Microbial Differential Abundance Strategies Depend Upon Data Characteristics.” Microbiome 5 (March): 1–18. https://doi.org/10.1186/S40168-017-0237-Y/FIGURES/8.\n\nCalgaro, Matteo, Chiara Romualdi, Levi Waldron, Davide Risso, and Nicola Vitulo. 2020. “Assessment of Statistical Methods from Single Cell, Bulk RNA-Seq, and Metagenomics Applied to Microbiome Data.” Genome Biology 21 (1): 191. https://doi.org/10.1186/s13059-020-02104-1.\n\nCalgaro, Matteo, Chiara Romualdi, Davide Risso, and Nicola Vitulo. 2022. “Benchdamic: Benchmarking of Differential Abundance Methods for Microbiome Data.” Bioinformatics 39 (1). https://doi.org/10.1093/bioinformatics/btac778.\n\nGiliberti, Sara AND Mauriello, Renato AND Cavaliere. 2022. “Host Phenotype Classification from Human Microbiome Data Is Mainly Driven by the Presence of Microbial Taxa.” PLOS Computational Biology 18 (4): 1–22. https://doi.org/10.1371/journal.pcbi.1010066.\n\nKarwowska, Zuzanna, Oliver Aasmets, Mait Metspalu, Andres Metspalu, Lili Milani, Tõnu Esko, Tomasz Kosciolek, and Elin Org. 2025. “Effects of Data Transformation and Model Selection on Feature Importance in Microbiome Classification Data.” Microbiome 13 (1). https://doi.org/10.1186/s40168-024-01996-6.\nLastly, based on recent studies on classification accuracy of healthy vs. non-healthy patients, it seems that a high proportion of information in microbiome data is included in the mere presence/absence of taxa (Giliberti (2022) Karwowska et al. (2025)). A viable, and even simpler, alternative to DAA is thus differential prevalence analysis (see also Pelto et al. (2025)).",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>16</span>  <span class='chapter-title'>Differential abundance</span>"
    ]
  },
  {
    "objectID": "pages/differential_abundance.html#sec-daa",
    "href": "pages/differential_abundance.html#sec-daa",
    "title": "16  Differential abundance",
    "section": "\n16.3 Performing differential abundance analysis",
    "text": "16.3 Performing differential abundance analysis\nFollowing the recommendations above, we show in this section how to perform DAA by analyzing (log transformed) relative abundances with linear regression models. We first illustrate the analysis in the simplest case where two groups are compared, and no other covariates are included in the analysis. After that we illustrate more complex analyses, namely, the analysis with additional covariate(s) included and the analysis with interaction of two variables. Furthermore, we illustrate how to perform differential prevalence analysis and the differential analysis of positive (non-zero) abundances.\n\n16.3.1 Preparing the data\nWe use the Tengeler2020 dataset from mia package. The dataset includes samples from people with ADHD (N = 13) and without ADHD (Control group, N = 14). The people are from three different cohorts.\n\n# Load the needed packages\nlibrary(mia)\nlibrary(knitr)\nlibrary(dplyr)\n\n# Import dataset\ndata(\"Tengeler2020\", package = \"mia\")\ntse &lt;- Tengeler2020\n\n# Show patient status by cohort\ntable(tse$patient_status, tse$cohort) |&gt;\n    kable()\n\n\n\n\nCohort_1\nCohort_2\nCohort_3\n\n\n\nADHD\n4\n5\n4\n\n\nControl\n6\n5\n3\n\n\n\n\n\nBefore starting the analysis, we agglomerate the features by genus and filter them by a prevalence threshold of 10%. Furthermore, we create assays for relative abundances and presence/absence of taxa. Lastly, we transform variable patient_status to a factor with Control as the reference level. (It is a standard practice to use the control group as the reference group in many statistical analyses.)\n\n# Agglomerate by genus and subset by prevalence\ntse &lt;- subsetByPrevalent(tse, rank = \"Genus\", prevalence = 0.10)\n\n# Transform count data and create assay of relative abundances\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"relabundance\")\n\n# Transform count data and create assay of presence/absence of taxa\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"pa\")\n\n# Transform patient_status to a factor and set \"Control\" as the reference level\ntse$patient_status &lt;- factor(tse$patient_status, levels = c(\"Control\", \"ADHD\"))\n\n# We also transform cohort as a factor\ntse$cohort &lt;- factor(tse$cohort, levels = c(\"Cohort_1\", \"Cohort_2\", \"Cohort_3\"))\n\n\n16.3.2 Simple two-group comparison\nHere we perform the simplest version of DAA, namely, the comparison of two groups without any other covariates included in the analysis. In our case this means comparing the relative abundances of genera between the people with and without ADHD.\nWe employ the Maaslin2 function from the Maaslin2 package (Mallick, Rahnavard, and McIver 2020). The function\n\nMallick, Himel, Ali Rahnavard, and Lauren J. McIver. 2020. MaAsLin 2: Multivariable Association in Population-Scale Meta-Omics Studies. http://huttenhower.sph.harvard.edu/maaslin2.\n\ntransforms counts to relative abundances,\nreplaces zeros by half of the smallest non-zero relative abundance, (separately for each taxon),\napplies log2 transformation to the relative abundances, and\nruns a linear regression model for each taxon using the transformed relative abundances as the response variable.\n\nTo run the function we need to provide it with the count matrix and metadata as inputs. We also need to provide it with the variable indicating the compared groups, i.e. patient_status in our case. Furthermore, we need to specify the folder for some output files. Lastly, we prevent Maaslin2() to create certain plots. (Note that Maaslin2() prints a lot of some output which is suppressed here for convenience.)\n\nlibrary(Maaslin2)\n\nobj_daa_basic &lt;- Maaslin2(\n    input_data = assay(tse), # The count matrix\n    input_metadata = colData(tse) |&gt; as.data.frame(), # The metadata\n    fixed_effects = \"patient_status\", # The predictor variable\n\n    output = \"output\", # The name of the folder for output files.\n    plot_heatmap = FALSE,\n    plot_scatter = FALSE\n)\n\nNext, we extract the data.frame of results from the list object returned by Maaslin2(). We also calculate the 95% confidence intervals and transform the results to a slightly more convenient format. (The sample size N is used as an approximation for the residual degrees of freedom (df) in the calculation of confidence intervals.)\n\n# Extract the results from the list object and calculate the 95% CIs\nres_daa_basic &lt;- obj_daa_basic$results |&gt;\n    mutate(\n        ci_lwr = coef - qt(.975, df = N) * stderr,\n        ci_upr = coef + qt(.975, df = N) * stderr\n    ) |&gt;\n    select(feature, name, coef, pval, qval, ci_lwr, ci_upr)\n\n# Print the results for taxa with the smallest p-values\nres_daa_basic |&gt;\n    arrange(pval) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\n\n\n\nX.Ruminococcus._gauvreauii_group\npatient_statusADHD\n-2.561\n0.0000\n0.0004\n-3.500\n-1.6209\n\n\nFaecalibacterium\npatient_statusADHD\n3.727\n0.0009\n0.0215\n1.702\n5.7512\n\n\nCatabacter\npatient_statusADHD\n2.612\n0.0026\n0.0429\n1.008\n4.2161\n\n\nErysipelatoclostridium\npatient_statusADHD\n-3.533\n0.0041\n0.0436\n-5.829\n-1.2366\n\n\nX.Clostridium._innocuum_group\npatient_statusADHD\n-2.125\n0.0044\n0.0436\n-3.520\n-0.7305\n\n\nuncultured_1\npatient_statusADHD\n-1.855\n0.0102\n0.0836\n-3.225\n-0.4846\n\n\n\n\n\nThe columns of res_daa_basic are as follows:\n\n\nfeature indicates the name of a taxon (here genus).\n\nname indicates the predictor variable. As patient_status is a categorical variable, it also tells the group used as the non-reference level (here ADHD as Control was set as the reference level).\n\ncoef is the log2-fold change estimate, a standard way to express effect size in DAA. Most importantly, positive values indicate abundance being higher in the non-reference group (here ADHD). More precisely, 2 ^ coef would be interpreted as the ratio of geometric means of the relative abundances between the ADHD and Control groups.\n\npval is the unadjusted p-value.\n\nqval (q-value) is the FDR adjusted p-value. This is generally used to define statistical significance. Typically, q-values &lt; .05 are considered (statistically) significant.\n\nci_lwr and ci_upr are the lower and upper bounds of the 95% confidence intervals for the log2-fold change.\n\nNow, if we use the standard criterion for statistical significance, namely, q-value &lt; 0.05, we can see that the DAA result is statistically significant for the genera named as [Ruminococcus] gauvreauii group, Faecalibacterium, Catabacter, [Clostridium] innocuum group and Erysipelatoclostridium. (Maaslin2 has some problems with special characters such as [ or ].) Moreover, for instance, the positive log2-fold change estimate of Faecalibacterium tells that the average relative abundance of Faecalibacterium is higher in the ADHD group.\n\n16.3.2.1 Visualizing the results\nWhile the numbers above provide summarized information about the group differences for each taxon, it is often useful to further examine these associations in more detail. That can be done, for instance, using strip plots with boxplots. We show here how such plots can be created for the significant taxa by using plotBoxplot function from the miaViz package.\n\nlibrary(miaViz)\n\n# Create strip plots with boxplots (and prevalence bars)\nplotBoxplot(\n    tse,\n    features = c(\n        \"[Ruminococcus]_gauvreauii_group\",\n        \"Faecalibacterium\",\n        \"Catabacter\",\n        \"Erysipelatoclostridium\",\n        \"[Clostridium]_innocuum_group\"\n    ),\n    assay.type = \"relabundance\", # To plot relative abundances\n    x = \"patient_status\", # The variable on the x (horizontal) axis\n    facet.by = \"rownames\", # To create a separate facet for each feature\n    scales = \"free_y\", # To allow different y-axis scales\n    add.proportion = TRUE, # Add bars indicating prevalence\n    point.offset = \"quasirandom\", # To plot points nicely\n    point.size = 2, # The size of the points\n    point.color = \"black\", # The color of the edges of the points\n    point.alpha = 1, # The transparency of the edges of the points\n    box.alpha = .20\n) + # The transparency of the boxplots\n    theme(strip.text = element_text(size = 7)) # The size of the facet labels\n\n\n\n\n\n\n\nIn each facet,\n\nthe thicker horizontal line in each boxplot indicates the median,\neach box indicates the interquartile range (IQR), namely, the range between the 25th (Q1) and 75th percentile (Q3),\nthe lower whisker indicates the smallest value above \\(Q1 - 1.5 \\times IQR\\), and\nthe lower whisker indicates the largest value below \\(Q3 + 1.5 \\times IQR\\).\nThe horizontal bars at the bottom indicate the prevalence of each genus in each group.\n\nThe strip plots and boxplots clearly show, for instance, how the relative abundance of Faecalibacterium is higher in the ADHD group, as was indicated by the positive the log2-fold estimate (coef) in the results table above. Moreover, for instance, the prevalence bars of Erysipelatoclostridium show how Erysipelatoclostridium is more prevalent in the control group.\nLastly, we show how the results for all genera can be summarized visually by plotting the log2-fold estimates and their 95% confidence intervals.\n\n# First arrange the genera by log2-fold estimate\ntop_features &lt;- res_daa_basic[order(res_daa_basic[[\"coef\"]], decreasing = TRUE), \"feature\"]\nres_daa_basic[[\"genus_ord\"]] &lt;- factor(res_daa_basic[[\"feature\"]], levels = top_features)\n\n# Plot the log2-fold changes and the 95% confidence intervals\nggplot(res_daa_basic, aes(x = coef, y = genus_ord)) +\n    geom_vline(xintercept = 0, linetype = \"dashed\") +\n    geom_point() +\n    geom_errorbarh(aes(xmin = ci_lwr, xmax = ci_upr), height = 0.2) +\n    labs(x = \"Log2-fold change (95% CI)\") +\n    theme_light() +\n    theme(\n        axis.title.y = element_blank(),\n        axis.text.y = element_text(size = 7),\n        plot.title = element_text(hjust = 0.5)\n    )\n\n\n\n\n\n\n\n\n16.3.3 DAA with additional covariates\nHere we show how to perform DAA with an additional covariate included in the analysis. One usually wants to include a variable as a covariate if they suspect that it may act as a confounding variable, namely, a variable that causes a spurious association between the variable of main interest and the abundances.\nWe use here cohort as a covariate. We proceed as above except that we now set fixed_effects = c(\"patient_status\", \"cohort\"). Furthermore, we now calculate the q-values manually so that they are calculated separately for each variable in the model (indicated by the variable metadata in obj_daa_cov$results). This is because Maaslin2() calculates the q-values over all variables in the model which is not what here as we are only interested in the variable patient_status.\n\n# Run Maaslin2 with patient_status and cohort as predictor variables\nobj_daa_cov &lt;- Maaslin2(\n    input_data = assay(tse),\n    input_metadata = colData(tse) |&gt; as.data.frame(),\n    fixed_effects = c(\"patient_status\", \"cohort\"),\n    output = \"output\",\n    plot_heatmap = FALSE,\n    plot_scatter = FALSE\n)\n\n# Extract the results and calculate the 95% CIs and q-values\nres_daa_cov &lt;- obj_daa_cov$results |&gt;\n    mutate(\n        ci_lwr = coef - qt(.975, df = N) * stderr,\n        ci_upr = coef + qt(.975, df = N) * stderr\n    ) |&gt;\n    group_by(metadata) |&gt;\n    mutate(qval = p.adjust(pval, method = \"fdr\")) |&gt;\n    ungroup() |&gt;\n    select(feature, name, coef, pval, qval, ci_lwr, ci_upr)\n\n\n# Print a sample of the results\nres_daa_cov |&gt;\n    arrange(feature, name) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\n\n\n\nAkkermansia\ncohortCohort_2\n0.1857\n0.6879\n0.9768\n-0.7509\n1.1223\n\n\nAkkermansia\ncohortCohort_3\n0.1382\n0.7871\n0.9768\n-0.8994\n1.1758\n\n\nAkkermansia\npatient_statusADHD\n-0.6566\n0.1104\n0.3181\n-1.4679\n0.1547\n\n\nAlistipes\ncohortCohort_2\n-0.3522\n0.4158\n0.9430\n-1.2244\n0.5199\n\n\nAlistipes\ncohortCohort_3\n-0.2450\n0.6078\n0.9768\n-1.2112\n0.7211\n\n\nAlistipes\npatient_statusADHD\n-0.3709\n0.3242\n0.5939\n-1.1263\n0.3845\n\n\n\n\n\nNote that there now appear results also for the variable cohort. As cohort consists of three groups, namely, Cohort_1 (the reference group), Cohort_2 and Cohort_3, there are results separately for the comparison between Cohort_2 vs. Cohort_1 (cohortCohort_2) and for the comparison between Cohort_3 vs. Cohort_1 (cohortCohort_3).\nWe can now examine how the inclusion of cohort as a covariate affects the results for patient_status.\n\n# Print the results for taxa with the smallest p-values for patient_status\nres_daa_cov |&gt;\n    filter(name == \"patient_statusADHD\") |&gt;\n    arrange(pval) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\n\n\n\nX.Ruminococcus._gauvreauii_group\npatient_statusADHD\n-2.699\n0.0000\n0.0001\n-3.545\n-1.8528\n\n\nFaecalibacterium\npatient_statusADHD\n3.995\n0.0003\n0.0069\n2.080\n5.9107\n\n\nCatabacter\npatient_statusADHD\n2.696\n0.0008\n0.0130\n1.263\n4.1283\n\n\nErysipelatoclostridium\npatient_statusADHD\n-3.747\n0.0017\n0.0210\n-5.914\n-1.5808\n\n\nX.Clostridium._innocuum_group\npatient_statusADHD\n-2.159\n0.0059\n0.0574\n-3.618\n-0.7007\n\n\nuncultured_1\npatient_statusADHD\n-1.886\n0.0121\n0.0930\n-3.308\n-0.4645\n\n\n\n\n\nWhen comparing these results to the results in Section 16.3.2, we can see that, for instance, the q-values of Faecalibacterium and Catabacter are now somewhat smaller. Nevertheless, the results look overall rather similar to the results without the covariate included. Therefore, cohort does not seem to be a confounder causing spurious associations between patient status and the abundances of any taxa.\n\n16.3.4 DAA with an interaction\nHere we show a more complex version of DAA, namely, a case where the interaction effect of two variables is analyzed. We give this example here for illustration purposes but note that such complex analysis may not be advisable in a small dataset such as our example dataset.\nWe analyze the interaction between patient_status and cohort. We proceed as in Section 16.3.3 above except that we now add also the interaction term into the formula. As Maaslin2() does not directly support the analysis with interactions we must first create the interaction dummy variables in to the tse object. The main effects patient_status and cohort as well as the interaction dummy variables are then included in the Maaslin2() function.\n\n# Create dummy variables for the interaction term\ntse$patient_statusADHD_cohortCohort_2 &lt;-\n    ifelse(tse$patient_status == \"ADHD\" & tse$cohort == \"Cohort_2\", 1, 0)\ntse$patient_statusADHD_cohortCohort_3 &lt;-\n    ifelse(tse$patient_status == \"ADHD\" & tse$cohort == \"Cohort_3\", 1, 0)\n\n# Run Maaslin2 with patient_status, cohort and their interaction terms\nobj_daa_ia &lt;- Maaslin2(\n    input_data = assay(tse),\n    input_metadata = colData(tse) |&gt; as.data.frame(),\n    fixed_effects = c(\n        \"patient_status\",\n        \"cohort\",\n        \"patient_statusADHD_cohortCohort_2\",\n        \"patient_statusADHD_cohortCohort_3\"\n    ),\n    output = \"output\",\n    plot_heatmap = FALSE,\n    plot_scatter = FALSE\n)\n\n# Extract the results and calculate the 95% CIs and q-values\nres_daa_ia &lt;- obj_daa_ia$results |&gt;\n    mutate(\n        ci_lwr = coef - qt(.975, df = N) * stderr,\n        ci_upr = coef + qt(.975, df = N) * stderr,\n        metadata = ifelse(\n            metadata %in% c(\n                \"patient_statusADHD_cohortCohort_2\",\n                \"patient_statusADHD_cohortCohort_3\"\n            ),\n            \"patient_satus:cohort\",\n            metadata\n        )\n    ) |&gt;\n    group_by(metadata) |&gt;\n    mutate(qval = p.adjust(pval, method = \"fdr\")) |&gt;\n    ungroup() |&gt;\n    select(feature, name, coef, pval, qval, ci_lwr, ci_upr)\n\n\n# Print a sample of the results\nres_daa_ia |&gt;\n    arrange(feature, name) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\n\n\n\nAkkermansia\ncohortCohort_2\n0.4883\n0.4387\n0.9926\n-0.7810\n1.7575\n\n\nAkkermansia\ncohortCohort_3\n-0.2913\n0.6908\n0.9926\n-1.7735\n1.1908\n\n\nAkkermansia\npatient_statusADHD\n-0.6165\n0.3604\n0.6541\n-1.9696\n0.7365\n\n\nAkkermansia\npatient_statusADHD_cohortCohort_2\n-0.2427\n0.5138\n0.8977\n-0.9925\n0.5071\n\n\nAkkermansia\npatient_statusADHD_cohortCohort_3\n0.2677\n0.4771\n0.8977\n-0.4911\n1.0266\n\n\nAlistipes\ncohortCohort_2\n-0.2940\n0.6291\n0.9926\n-1.5244\n0.9365\n\n\n\n\n\nThe results object res_daa_ia now also includes the interaction terms patient_statusADHD_cohortCohort_2 and patient_statusADHD_cohortCohort_3.\nWe examine the term patient_status_cohortCohort_3. It indicates how the differences between the ADHD and Control groups vary between cohorts 1 and 3.\n\n# Print the results for the interaction term patient_statusADHD_cohortCohort_3\nres_daa_ia |&gt;\n    filter(name == \"patient_statusADHD_cohortCohort_3\") |&gt;\n    arrange(pval) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\n\n\n\nCoprobacter\npatient_statusADHD_cohortCohort_3\n-1.8037\n0.0010\n0.0920\n-2.7694\n-0.8380\n\n\nOdoribacter\npatient_statusADHD_cohortCohort_3\n-1.5602\n0.0019\n0.0920\n-2.4610\n-0.6594\n\n\nFaecalibacterium\npatient_statusADHD_cohortCohort_3\n-2.3159\n0.0059\n0.1931\n-3.8675\n-0.7643\n\n\nBarnesiella\npatient_statusADHD_cohortCohort_3\n-2.2322\n0.0086\n0.2096\n-3.8113\n-0.6531\n\n\nParaprevotella\npatient_statusADHD_cohortCohort_3\n-0.5621\n0.0299\n0.4093\n-1.0574\n-0.0669\n\n\nX.Clostridium._innocuum_group\npatient_statusADHD_cohortCohort_3\n1.3973\n0.0315\n0.4093\n0.1536\n2.6410\n\n\n\n\n\nThe smallest p-value is observed for Coprobacter. As the corresponding log2-fold change estimate is negative it means that the difference in the relative abundance of Coprobacter between the ADHD and Control groups is higher in Cohort 1 than in Cohort 3.\nThis interaction can be better illustrated by plotting the relative abundances of Coprobacter by patient_status and cohort.\n\n# Plot the abundances of Coprobacter by patient_status and cohort\nplotBoxplot(\n    tse,\n    features = c(\"Coprobacter\"),\n    assay.type = \"relabundance\", # To plot relative abundances\n    x = \"patient_status\", # The variable on the x (horizontal) axis\n    facet.by = \"cohort\", # To create a separate plot for each cohort\n    scales = \"fixed\", # To have the same y-axis scale in each facet\n    add.proportion = TRUE, # Add bars indicating prevalence\n    point.offset = \"quasirandom\", # To plot points nicely\n    point.size = 2, # The size of the points\n    point.color = \"black\", # The color of the edges of the points\n    point.alpha = 1, # The transparency of the edges of the points\n    box.alpha = .20\n) # The transparency of the boxplots\n\n\n\n\n\n\n\nHere we can clearly see how the relative abundances of Coprobacter are higher in the ADHD group in Cohort 1 but they are higher in the Control group in Cohort 3. As the association is positive in Cohort 1 (the baseline cohort) and negative in Cohort 3, sign of interaction estimate is negative (the association becomes more negative when we move from the baseline cohort to a non-baseline cohort).\nNote that a similar plot could also be used to illustrate a possible confounding effect.\n\n16.3.5 Differential prevalence analysis (DPA)\nWe show here how to perform DPA with logistic regression. We show the case where we compare subjects with and without ADHD while controlling for cohort. Due to the convenient implementation of logistic regression for DPA, we employ here the maaslin3() function from the maaslin3 package (Nickols et al. 2026).\n\nNickols, William A., Thomas Kuntz, Jiaxian Shen, Sagun Maharjan, Himel Mallick, Eric A. Franzosa, Kelsey N. Thompson, Jacob T. Nearing, and Curtis Huttenhower. 2026. “MaAsLin 3: Refining and Extending Generalized Multivariable Linear Models for Meta-Omic Association Discovery.” Nature Methods, January, 1–11. https://doi.org/10.1038/s41592-025-02923-9.\nTo run the maaslin3() function, we need to provide it with\n\na tse object,\na model formula, in this case ~ patient_status + cohort + total, and\na folder for output files\n\nNote that we also control for the sequencing depth/library size/total read count (total) in the analysis. This is because the detection (observed presence) of taxa may depend on the sequencing depth.\n\nlibrary(scater)\nlibrary(maaslin3)\n\n# Calculate the sequencing depth (the total number of reads/counts) for each\n# sample\ntse &lt;- addPerCellQC(tse)\n\n# Run maaslin3 with patient_status, cohort and reads as the predictor variables\nobj_DPA_cov &lt;- maaslin3(\n    tse,\n    formula = ~ patient_status + cohort + total, # Model formula\n    output = \"output\", # The name of the folder for some output files\n    plot_associations = FALSE, # To prevent some unnecessary plots\n    plot_summary_plot = FALSE,\n    verbosity = \"ERROR\"\n) # To prevent some unnecessary output\n\nNext, we extract the data.frame of results from the list object returned by maaslin3(). We remove the variable total from the output as it is merely a technical covariate that we are not interested in. We also calculate the 95% confidence intervals. Furthermore, as with Maaslin2, we calculate the q-values separately for patient_status and cohort. Lastly, we transform the results to a slightly more convenient format.\n\n# Extract the results and calculate the 95% CIs and q-values\nres_DPA_cov &lt;- obj_DPA_cov$fit_data_prevalence$results |&gt;\n    filter(name != \"total\") |&gt;\n    mutate(\n        ci_lwr = coef - qnorm(.975) * stderr,\n        ci_upr = coef + qnorm(.975) * stderr\n    ) |&gt;\n    group_by(metadata) |&gt;\n    mutate(qval = p.adjust(pval_individual, method = \"fdr\")) |&gt;\n    ungroup() |&gt;\n    select(feature, name, coef, pval = pval_individual, qval, ci_lwr, ci_upr)\n\n# Print the results for taxa with the smallest p-values for patient_status\nres_DPA_cov |&gt;\n    filter(name == \"patient_statusADHD\") |&gt;\n    arrange(pval) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\n\n\n\nErysipelatoclostridium\npatient_statusADHD\n-2.893\n0.0047\n0.2107\n-4.8980\n-0.8881\n\n\n[Ruminococcus]_gauvreauii_group\npatient_statusADHD\n-2.999\n0.0168\n0.3058\n-5.4574\n-0.5404\n\n\nBarnesiella\npatient_statusADHD\n2.026\n0.0251\n0.3058\n0.2529\n3.7998\n\n\nRuminococcaceae_UCG-014\npatient_statusADHD\n2.635\n0.0345\n0.3058\n0.1927\n5.0778\n\n\nCatabacter\npatient_statusADHD\n1.915\n0.0455\n0.3058\n0.0384\n3.7923\n\n\nuncultured_1\npatient_statusADHD\n-2.261\n0.0538\n0.3058\n-4.5586\n0.0373\n\n\n\n\n\nThe results are now in the same format as the DAA results in Section 16.3.3. The only difference is coef now indicates the log-odds ratio for the difference in prevalences. The odds ratios (OR) would thus be calculated as or = exp(coef). Note also that the results are not provided for taxa that were present in all samples (as it is not sensible to analyze presence/absence differences for such taxa).\nBy examining the results we see that the smallest p-value was observed for genus Erysipelatoclostridium. As the sign of the estimate is negative is means that the genus is more prevalent in the control group. (This is can be seen from the prevalence bars of Erysipelatoclostridium in the strip plots in Section 16.3.2.1.)\n\n16.3.5.1 DPA with an interaction\nContrary to Maaslin2(), the maaslin3() function supports also the analysis with interaction terms. Therefore, in the analysis with interaction(s), one can just add the interaction term(s) in to the model formula by using the standard R syntax, e.g., formula = ~ patient_status + cohort + patient_status:cohort + reads or alternatively formula = ~ patient_status * cohort + reads\n\n16.3.6 Analysis of positive (non-zero) abundances\nIt may sometimes be biologically relevant to analyze only the positive (non-zero) relative abundances of taxa. We thus briefly show here how to perform such analysis using the maaslin3() function. Purely for illustration purposes, we show here the analysis with an interaction term.\nWe proceed as in the previous sections. The difference compared to DPA (Section 16.3.5) is that we now have to extract fit_data_abundance (and not fit_data_prevalence) from the list object returned by maaslin3(). We also need to set median_comparison_abundance = FALSE in the function call as we want to estimate the differences of (positive) relative abundances and not make any compositional adjustments.\n\n# Run maaslin3 function.\nobj_daa_pos_ia &lt;- maaslin3(\n    tse,\n    output = \"output\",\n    formula = ~ patient_status * cohort,\n    median_comparison_abundance = FALSE,\n    verbosity = \"ERROR\",\n    plot_associations = FALSE,\n    plot_summary_plot = FALSE\n)\n\n# Extract the results and calculate the 95% confidence intervals and q-values\nres_daa_pos_ia &lt;- obj_daa_pos_ia$fit_data_abundance$results |&gt;\n    filter(!is.na(pval_individual) & N_not_zero &gt; 6) |&gt;\n    mutate(\n        ci_lwr = coef - qt(.975, df = N_not_zero - 6) * stderr,\n        ci_upr = coef + qt(.975, df = N_not_zero - 6) * stderr\n    ) |&gt;\n    group_by(metadata) |&gt;\n    mutate(qval = p.adjust(pval_individual, method = \"fdr\")) |&gt;\n    ungroup() |&gt;\n    select(feature, name, coef,\n        pval = pval_individual, qval, ci_lwr, ci_upr,\n        N_not_zero\n    )\n\n# The results for the interaction between patient_status and cohort (when\n# comparing Cohort_3 to Cohort_1) for the taxa with the smallest p-values\nres_daa_pos_ia |&gt;\n    filter(name == \"patient_statusADHD:cohortCohort_3\") |&gt;\n    arrange(pval) |&gt;\n    head() |&gt;\n    kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\nfeature\nname\ncoef\npval\nqval\nci_lwr\nci_upr\nN_not_zero\n\n\n\nuncultured\npatient_statusADHD:cohortCohort_3\n2.740\n0.0522\n0.5498\n-0.0289\n5.5083\n24\n\n\n[Clostridium]_innocuum_group\npatient_statusADHD:cohortCohort_3\n2.896\n0.0587\n0.5498\n-0.1181\n5.9103\n25\n\n\nBlautia\npatient_statusADHD:cohortCohort_3\n-3.614\n0.1016\n0.7819\n-8.0387\n0.8104\n20\n\n\nSubdoligranulum\npatient_statusADHD:cohortCohort_3\n2.295\n0.1865\n0.8039\n-1.2294\n5.8188\n22\n\n\nEisenbergiella\npatient_statusADHD:cohortCohort_3\n2.613\n0.2077\n0.8309\n-1.7418\n6.9678\n15\n\n\nParabacteroides\npatient_statusADHD:cohortCohort_3\n2.106\n0.3314\n0.8760\n-2.3381\n6.5506\n23\n\n\n\n\n\nThe output is similar to the outputs in the previous sections. It, however, now includes also N_not_zero indicating the number of samples with positive (non-zero) relative abundances, that is, the sample size used in the analysis for each taxon.\nThe results are interpreted in a similar manner as in normal DAA (Section 16.3.4). For instance, the estimates (coef) indicate the log2-fold changes of positive relative abundances (as maaslin3() performs log2 transformation to the positive relative abundances).\n\n16.3.7 Alternative options\n\n16.3.7.1 Advanced compositionality adjustments\nWe have shown above (sections 16.3.2, 16.3.3, 16.3.4 and 16.3.6) how to perform DAA by analyzing relative abundances (TSS normalized counts) without any advanced adjustments for compositionality. As explained in Section 16.2, this choice was motivated by some recent benchmark studies that have employed only real data, especially the study by Gamboa-Tuz et al. (2025).\n\nGamboa-Tuz, Samuel D., Marcel Ramos, Eric Franzosa, Curtis Huttenhower, Nicola Segata, Sehyun Oh, and Levi Waldron. 2025. “Commonly Used Compositional Data Analysis Implementations Are Not Advantageous in Microbial Differential Abundance Analyses Benchmarked Against Biological Ground Truth.” bioRxiv, February, 2025.02.13.638109. https://doi.org/10.1101/2025.02.13.638109.\n\nRoche, Kimberly E, and Sayan Mukherjee. 2022. “The Accuracy of Absolute Differential Abundance Analysis from Relative Count Data.” https://doi.org/10.1371/journal.pcbi.1010284.\nWe note, however, that in some benchmark studies such simple versions of DAA have performed worse to some more advanced methods when compared on simulated data with strong compositional effects (e.g. Roche and Mukherjee (2022), Yang and Chen (2022)). We therefore give below some options for incorporating more advanced compositionality adjustments in DAA.\n\nIn Maaslin2, the default normalization method (TSS) can be replaced by TMM normalization (Robinson and Oshlack 2010) by including NORM = \"TMM\" in the Maaslin2() function.\nIn the analysis of positive abundances with maaslin3, the adjustment for compositional bias can be enabled by setting median_comparison_abundance = TRUE in maaslin3() function.\nOne can use DAA methods that are specifically designed to account for the compositionality of microbiome data. Such methods include, for instance,\n\n\nANCOMBC (Lin and Peddada 2020), vignette. Note that we refer here to the older version of ANCOM-BC. There is also a newer version (ANCOM-BC2) available, but some problems have been observed in its performance (e.g., Pelto et al. (2025)).\n\nLinDA (Zhou et al. 2022) from the MicrobiomeStat package, reference manual.\n\nZicoSeq (Yang and Chen 2022) from the GUniFrac package, vignette.\n\n\n\nRobinson, Mark D., and Alicia Oshlack. 2010. “A Scaling Normalization Method for Differential Expression Analysis of RNA-Seq Data.” Genome Biology 11 (March): 1–9. https://doi.org/10.1186/GB-2010-11-3-R25/FIGURES/3.\n\nLin, Huang, and Shyamal Das Peddada. 2020. “Analysis of Compositions of Microbiomes with Bias Correction.” Nature Communications 11 (1): 1–11. https://doi.org/https://doi.org/10.1038/s41467-020-17041-7.\n\nZhou, Huijuan, Kejun He, Jun Chen, and Xianyang Zhang. 2022. “LinDA: Linear Models for Differential Abundance Analysis of Microbiome Compositional Data.” Genome Biology 23 (1): 95. https://doi.org/10.1186/s13059-022-02655-5.\n\nYang, Lu, and Jun Chen. 2022. “A Comprehensive Evaluation of Microbial Differential Abundance Analysis Methods: Current Status and Potential Solutions.” Microbiome 10 (130): 2049–2618. https://doi.org/10.1186/s40168-022-01320-0.\n\n16.3.7.2 A non-parametic alternative to MaAsLin2\nAs MaAsLin2 analyzes log transformed relative abundances, it needs to replace the zeros by some positive numbers before the transformation. If one wants to avoid this somewhat arbitrary imputation, we suggest performing DAA by using non/semi-parametric ordinal regression models (ORM). ORM can be seen as an extension of the familiar Wilcoxon test in the sense that it provides p-values similar to those of the Wilcoxon test in the simple two group comparison, but it can also incorporate covariates (and interaction terms) (Harrell (2001), Liu et al. (2017)). ORM has also performed well in one benchmark study (Pelto et al. 2025).\n\nHarrell, Frank E. 2001. Regression Modeling Strategies. Springer New York. https://doi.org/10.1007/978-1-4757-3462-1.\n\nLiu, Qi, Bryan E. Shepherd, Chun Li, and Frank E. Harrell. 2017. “Modeling Continuous Response Variables Using Ordinal Regression.” Statistics in Medicine 36 (November): 4316. https://doi.org/10.1002/SIM.7433.\n\nPelto, Juho, Kari Auranen, Janne V Kujala, and Leo Lahti. 2025. “Elementary Methods Provide More Replicable Results in Microbial Differential Abundance Analysis.” Briefings in Bioinformatics 26 (March): 130. https://doi.org/10.1093/BIB/BBAF130.\nAs there does not currently exist a good implementation of ORM for DAA one must use a custom function. Such custom function with application examples is given in ?sec-extra_daa. We also note that, in contrast to Maaslin2() function, the custom function provides confidence intervals and q-values (calculated for the variable of interest) automatically in its output.\n\n16.3.7.3 A more powerful alternative to MaAsLin3 in DPA\nWhile the maaslin3 package provides a convenient implementation of logistic regression for microbial DPA, we note, that it may provide somewhat conservative results, that is, it rarely provides false positive results but it may fail to detect some true effects. To obtain higher statistical power, we recommend using a version of logistic regression introduced by Firth (1993). As there currently exists no convenient implementation of Firth logistic regression for DPA, one needs to use a custom function. Such custom function with application examples is given in the ?sec-extra_daa.\n\nFirth, David. 1993. “Bias Reduction of Maximum Likelihood Estimates.” Biometrika 80 (March): 27. https://doi.org/10.2307/2336755.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: The goal of these exercises it to learn how to perform differential abundance analysis and how to visualize the results.\nExercises: Differential abundance analysis (DAA)\n\nLoad any of the example data sets mentioned in Section 4.2.\nObserve colData. Ensure that the data includes a meaningful way to group samples (e.g., Region, Treatment, Diagnosis). If it does not, choose another dataset.\nAgglomerate the data to the genus level and filter by a prevalence of 10%.\nRun the basic two-group DAA.\nExplore the results tables. Are there any taxa with significant abundance differences?\nVisualize the results (for significant taxa) with strip plots and boxplots. Can you “see” how the abundances of (possible) significant taxa differ between the groups?\nRun the same analysis now with an additional covariate(s). Do the results differ? Why?\nYou can try also more complex analysis, e.g. with several covariates and/or with interactions.\nBonus 1: Try also differential prevalence analysis (DPA) and/or the analysis of positive abundances with your data.\nBonus 2: Try to run DAA and DPA with ordinal regression model and Firth logistic regression with the custom functions provided in the extra materials. See how the results differ from the results obtained with Maaslin2() and maaslin3().\n\nUseful functions:\nSummarizedExperiment::colData(), mia::subsetByPrevalent(), Maaslin2::Maaslin2(), maaslin3::maaslin3()",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>16</span>  <span class='chapter-title'>Differential abundance</span>"
    ]
  },
  {
    "objectID": "pages/correlation.html",
    "href": "pages/correlation.html",
    "title": "17  Correlation",
    "section": "",
    "text": "17.1 Association between taxonomic features\nIn correlation — or association analysis more generally — we can evaluate the relationships between numeric variables. These variables can be taxonomic features or patient metadata. For instance, we might be interested in which taxonomic features are present simultaneously with others, or whether body weight is associated with the abundance of certain features. In this chapter, we will demonstrate how to perform correlation analysis with mia’s getCrossAssociation() method.\nHere we demonstrate how to analyze which bacteria co-exists in the dataset.\nlibrary(mia)\n\ndata(\"peerj13075\")\ntse &lt;- peerj13075\n\n# Agglomerate to certain taxonomy level\ntse &lt;- agglomerateByPrevalence(tse, rank = \"class\")\n\n# Apply clr-transform and scale\ntse &lt;- transformAssay(tse, method = \"clr\", pseudocount = TRUE)\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"clr\", method = \"standardize\", MARGIN = \"rows\"\n)\n\n# Get correlation results\nres &lt;- getCrossAssociation(\n    tse, tse,\n    assay.type1 = \"clr\", assay.type2 = \"clr\",\n    test.signif = TRUE, mode = \"matrix\"\n)\nWe can visualize the result with a heatmap as we do later in this chapter, or we can visualize the results with a correlation network plot as done below.\nlibrary(qgraph)\n\n# Create correlation network plot\nqgraph(\n    res$cor,\n    layout = \"spring\", labels = colnames(res$cor),\n    label.cex = 1.2, theme = \"colorblind\",\n    node.width = 1.5, node.height = 2\n)\nYou can find more on networks from ?sec-network-learning.",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>17</span>  <span class='chapter-title'>Correlation</span>"
    ]
  },
  {
    "objectID": "pages/correlation.html#association-between-taxonomic-features-and-sample-metadata",
    "href": "pages/correlation.html#association-between-taxonomic-features-and-sample-metadata",
    "title": "17  Correlation",
    "section": "\n17.2 Association between taxonomic features and sample metadata",
    "text": "17.2 Association between taxonomic features and sample metadata\nNow, we can calculate alpha diversity indices, and evaluate if they have significant association with taxonomic features.\n\n# Calculate diversity measures\nindex &lt;- c(\n    \"shannon\", \"log_modulo_skewness\", \"coverage\", \"inverse_simpson\", \"gini\"\n)\ntse &lt;- addAlpha(tse, index = index)\n\n# Get correlation results\nres &lt;- getCrossAssociation(\n    tse, tse,\n    assay.type1 = \"clr\", col.var2 = index,\n    test.signif = TRUE, mode = \"matrix\"\n)\n\nBelow, we present the results using a heatmap visualization with the help of the ComplexHeatmap and shadowtext R packages.\n\nlibrary(ComplexHeatmap)\nlibrary(shadowtext)\n\n# Function for marking significant correlations with \"X\"\nadd_signif &lt;- function(j, i, x, y, width, height, fill) {\n    # If the p-value is under threshold\n    if (!is.na(res$p_adj[i, j]) & res$p_adj[i, j] &lt; 0.05) {\n        # Print \"X\"\n        grid.shadowtext(\n            sprintf(\"%s\", \"X\"), x, y,\n            gp = gpar(fontsize = 8, col = \"#f5f5f5\")\n        )\n    }\n}\n\n# Create a heatmap\np &lt;- Heatmap(res$cor,\n    # Print values to cells\n    cell_fun = add_signif,\n    heatmap_legend_param = list(\n        title = \"correlation\", legend_height = unit(5, \"cm\")\n    ),\n    column_names_rot = 45\n)\np",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>17</span>  <span class='chapter-title'>Correlation</span>"
    ]
  },
  {
    "objectID": "pages/correlation.html#sec-alpha-correlation",
    "href": "pages/correlation.html#sec-alpha-correlation",
    "title": "17  Correlation",
    "section": "\n17.3 Association between sample metadata variables",
    "text": "17.3 Association between sample metadata variables\nFinally, we demonstrate how to calculate correlation between sample metadata variables. Here we estimate correlation between alpha diversity measures.\nCompared to the solution in Section 13.3.2.1, getCrossAssociation() allows us to calculate correlations in bulk easily, without the need for looping.\n\n# Get correlation results\nres &lt;- getCrossAssociation(\n    tse, tse,\n    col.var1 = index, col.var2 = index,\n    test.signif = TRUE, mode = \"matrix\"\n)\n\n# Create a heatmap and store it\np &lt;- Heatmap(res$cor,\n    # Print values to cells\n    cell_fun = add_signif,\n    heatmap_legend_param = list(\n        title = \"correlation\", legend_height = unit(5, \"cm\")\n    ),\n    column_names_rot = 45\n)\np\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipCross-association\n\n\n\nSee Chapter 19 for further information on correlation and association analyses.\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After completing these exercises, you should be able to calculate associations between taxonomic features and diversity.\nExercise 1: Correlation\n\nLoad any of the example datasets mentioned in Section 4.2.\nAgglomerate the data to phylum level.\nApply the CLR transformation.\nCalculate correlations of taxa abundances.\nVisualize the correlation network. Are there taxonomic features whose abundances are correlated?\nCalculate all available alpha diversity indices with the un-agglomerated data.\nCalculate correlation between phyla and alpha diversity indices.\nVisualize the correlation results with a heatmap. Are there taxonomic features whose abundances associate with diversity? How would you interpret this?\n\nUseful functions:\nutils::data(), mia::agglomerateByRank, mia::transformAssay(), mia::getCrossAssociation(), qgraph::qgraph(), mia::addAlpha(), ComplexHeatmap::Heatmap()",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>17</span>  <span class='chapter-title'>Correlation</span>"
    ]
  },
  {
    "objectID": "pages/mediation.html",
    "href": "pages/mediation.html",
    "title": "18  Mediation",
    "section": "",
    "text": "18.1 Alpha diversity as mediator\nMediation analysis is used to study the effect of an exposure variable (X) on the outcome (Y) through a third factor, known as mediator (M). In statistics, this relationship can be described as follows:\n\\[\nY \\thicksim X * M\n\\]\nThe contribution of a mediator is typically quantified in terms of Average Causal Mediated Effect (ACME), that is, the portion of the association between X and Y that is explained by M. In practice, this corresponds to the difference between the Total Effect (TE) and the Average Direct Effect (ADE):\n\\[\nACME = TE - ADE\n\\]\nThe microbiome can mediate the effects of multiple environmental stimuli on human health. However, the importance of its role as a mediator depends on the nature of the stimulus. For example, the effect of dietary fiber intake on host behavior is largely mediated by the gut microbiome (Logan and Jacka 2014). In contrast, the indirect impact of antibiotic use on mental health through an altered microbiome represents a more subtle process (Dinan and Dinan 2022).\nIn general, the wide range of mediation effects can be divided into two classes:\nMediation analysis is based on the assumption that the exposure variable, the mediator and the outcome follow one another in this temporal sequence. Therefore, investigating mediation is a suitable analytical choice in longitudinal studies, whereas it is discouraged in cross-sectional ones (Fairchild and McDaniel 2017).\nWe demonstrate a standard mediation analysis with the hitchip1006 dataset from the miaTime package, which contains a genus-level assay for 1006 Western adults of 6 different nationalities.\nIn our analyses, nationality and BMI group will represent the exposure (X) and outcome (Y) variables, respectively. We make the broad assumption that nationality reflects differences in the living environment between subjects.\nIn the following examples, the effect of living environment on BMI mediated by the microbiome is investigated in three different steps:\nFirst, we ask whether alpha diversity mediates the effect of living environment on BMI. Using the getMediation function, the variables X, Y and M are specified with the arguments treatment, outcome and mediator, respectively. We control for sex and age and limit comparisons to two nationality groups, Central Europeans (control) vs. Scandinavians (treatment).\n# Analyse mediated effect of nationality on BMI via alpha diversity\n# 100 permutations were done to speed up execution, but ~1000 are recommended\nmed_df &lt;- getMediation(\n    tse,\n    treatment = \"nationality\",\n    outcome = \"bmi_group\",\n    mediator = \"diversity\",\n    covariates = c(\"sex\", \"age\"),\n    treat.value = \"Scandinavia\",\n    control.value = \"CentralEurope\",\n    boot = TRUE, sims = 100\n)\n\n# Plot results as a forest plot\nplotMediation(med_df, layout = \"forest\")\nThe forest plot above shows significance for both ACME and ADE, which suggests that alpha diversity is a partial mediator of living environment on BMI. In contrast, if ACME but not ADE were significant, complete mediation would be inferred. The negative sign of the effect means that a lower BMI and alpha diversity are associated with the control group (Scandinavians).",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>18</span>  <span class='chapter-title'>Mediation</span>"
    ]
  },
  {
    "objectID": "pages/mediation.html#assay-features-as-mediators",
    "href": "pages/mediation.html#assay-features-as-mediators",
    "title": "18  Mediation",
    "section": "\n18.2 Assay features as mediators",
    "text": "18.2 Assay features as mediators\nIf we suspect that only certain features of the microbiome act as mediators, we can estimate their individual contributions by fitting one model for each feature in a selected assay. As multiple tests are performed, it is good practice to correct the significance of the findings with a method of choice to adjust p-values.\n\n# Analyse mediated effect of nationality on BMI via clr-transformed features\n# 100 permutations were done to speed up execution, but ~1000 are recommended\ntse &lt;- addMediation(\n    tse,\n    name = \"assay_mediation\",\n    treatment = \"nationality\",\n    outcome = \"bmi_group\",\n    assay.type = \"clr\",\n    covariates = c(\"sex\", \"age\"),\n    treat.value = \"Scandinavia\",\n    control.value = \"CentralEurope\",\n    boot = TRUE, sims = 100,\n    p.adj.method = \"fdr\"\n)\n\n# View results\nkable(metadata(tse)$assay_mediation)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nmediator\nacme\nacme_pval\nacme_lower\nacme_upper\nade\nade_pval\nade_lower\nade_upper\ntotal\ntotal_lower\ntotal_upper\ntotal_pval\nacme_padj\nade_padj\ntotal_padj\n\n\n\n2\nBacteroidetes\n-0.1130\n0.00\n-0.1673\n-0.0547\n-0.2417\n0\n-0.3886\n-0.0911\n-0.3547\n-0.4747\n-0.2164\n0\n0.000\n0\n0\n\n\n6\nProteobacteria\n-0.0411\n0.00\n-0.0942\n-0.0113\n-0.3136\n0\n-0.4479\n-0.1578\n-0.3547\n-0.4863\n-0.2106\n0\n0.000\n0\n0\n\n\n8\nVerrucomicrobia\n-0.0345\n0.00\n-0.0714\n-0.0096\n-0.3201\n0\n-0.4437\n-0.1762\n-0.3547\n-0.4832\n-0.2239\n0\n0.000\n0\n0\n\n\n4\nFirmicutes\n-0.0378\n0.02\n-0.0716\n-0.0143\n-0.3168\n0\n-0.4543\n-0.1569\n-0.3547\n-0.4845\n-0.2046\n0\n0.040\n0\n0\n\n\n1\nActinobacteria\n-0.0458\n0.06\n-0.1109\n0.0015\n-0.3088\n0\n-0.4101\n-0.1947\n-0.3547\n-0.4636\n-0.2282\n0\n0.096\n0\n0\n\n\n3\nCyanobacteria\n-0.0037\n0.78\n-0.0252\n0.0189\n-0.3510\n0\n-0.5106\n-0.1936\n-0.3547\n-0.5077\n-0.1937\n0\n0.880\n0\n0\n\n\n5\nFusobacteria\n0.0001\n0.88\n-0.0199\n0.0198\n-0.3547\n0\n-0.5230\n-0.2235\n-0.3547\n-0.5259\n-0.2273\n0\n0.880\n0\n0\n\n\n7\nSpirochaetes\n0.0034\n0.76\n-0.0180\n0.0207\n-0.3581\n0\n-0.4884\n-0.2179\n-0.3547\n-0.4873\n-0.2127\n0\n0.880\n0\n0\n\n\n\n\n\nFor convenience, results can be visualized with a heatmap, where rows represent features and columns correspond to the coefficients for TE, ADE and ACME. Significant findings can be marked with p-values or stars.\n\n# Plot results as a heatmap\nplotMediation(\n    tse, \"assay_mediation\",\n    layout = \"heatmap\",\n    add.significance = \"symbol\"\n)\n\n\n\n\n\n\n\nResults suggest that only four out of eight features (Bacteroidetes, Firmicutes, Proteobacteria and Verrucomicrobia) partially mediate the effect of living environment on BMI. As the sign is negative, a smaller abundance of these mediators is found in Scandinavians compared to Central Europeans, which matches the negative trend of alpha diversity.\nWhile analyses were conducted at the phylum level to simplify results, using original assays without agglomeration also represents a valid option. However, the increase in phylogenetic resolution also implies a higher probability of spurious findings, which in turn necessitates a stronger correction for multiple comparisons. A solution to this issue is proposed in the following section.",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>18</span>  <span class='chapter-title'>Mediation</span>"
    ]
  },
  {
    "objectID": "pages/mediation.html#reduced-dimensions-as-mediators",
    "href": "pages/mediation.html#reduced-dimensions-as-mediators",
    "title": "18  Mediation",
    "section": "\n18.3 Reduced dimensions as mediators",
    "text": "18.3 Reduced dimensions as mediators\nPerforming mediation analysis for each feature provides insight into individual contributions. However, this approach greatly increases the number of multiple tests to correct for and thus it reduces statistical power. To overcome this issue, it is possible to assess the joint contributions of groups of features by means of dimensionality reduction.\n\n# Reduce dimensions with PCA\ntse &lt;- runPCA(\n    tse,\n    name = \"PCA\",\n    assay.type = \"clr\",\n    ncomponents = 3\n)\n\n# Analyse mediated effect of nationality on BMI via principal components\n# 100 permutations were done to speed up execution, but ~1000 are recommended\ntse &lt;- addMediation(\n    tse,\n    name = \"reddim_mediation\",\n    treatment = \"nationality\",\n    outcome = \"bmi_group\",\n    dimred = \"PCA\",\n    covariates = c(\"sex\", \"age\"),\n    treat.value = \"Scandinavia\",\n    control.value = \"CentralEurope\",\n    boot = TRUE, sims = 100,\n    p.adj.method = \"fdr\"\n)\n\n# View results\nkable(metadata(tse)$reddim_mediation)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nmediator\nacme\nacme_pval\nacme_lower\nacme_upper\nade\nade_pval\nade_lower\nade_upper\ntotal\ntotal_lower\ntotal_upper\ntotal_pval\nacme_padj\nade_padj\ntotal_padj\n\n\n\nPCA1\n-0.1317\n0.00\n-0.1821\n-0.0637\n-0.2230\n0\n-0.3566\n-0.0881\n-0.3547\n-0.4866\n-0.2102\n0\n0.00\n0\n0\n\n\nPCA2\n0.0104\n0.38\n-0.0068\n0.0298\n-0.3651\n0\n-0.4849\n-0.2412\n-0.3547\n-0.4762\n-0.2352\n0\n0.44\n0\n0\n\n\nPCA3\n-0.0033\n0.44\n-0.0149\n0.0069\n-0.3514\n0\n-0.4756\n-0.2227\n-0.3547\n-0.4783\n-0.2231\n0\n0.44\n0\n0\n\n\n\n\n\nResults can be displayed as one forest plot for each reduced dimension. When combined with a heatmap of the feature loadings by dimension, it helps deduce whether certain groups of features act as mediators.\n\n# Plot results as multiple forest plots\np1 &lt;- plotMediation(\n    tse, \"reddim_mediation\",\n    layout = \"forest\"\n)\n\n# Plot loadings by principal component\np2 &lt;- plotLoadings(\n    tse, \"PCA\",\n    ncomponents = 3, n = 8,\n    layout = \"heatmap\"\n)\n\n# Combine plots\np1 / p2\n\n\n\n\n\n\n\nThe plot above suggests that only PC1 partially mediates the effect of living environment on BMI. Within this dimension, Bacteroidetes and Actinobacteria are the largest contributors in opposite directions. Interestingly, in the previous section the former but not the latter appeared significant individually, which implies that mediation might emerge from their joint contribution.",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>18</span>  <span class='chapter-title'>Mediation</span>"
    ]
  },
  {
    "objectID": "pages/mediation.html#final-remarks",
    "href": "pages/mediation.html#final-remarks",
    "title": "18  Mediation",
    "section": "\n18.4 Final remarks",
    "text": "18.4 Final remarks\nThis chapter introduced the concept of mediation and demonstrated a standard analysis of the microbiome as mediator at three different levels (global, individual and joint contributions). Importantly, the provided method is based on the mediation package and is limited to univariate comparisons and binary conditions for the exposure variable (Tingley et al. 2014). Therefore, it is recommended to reduce the number of mediators under study by means of a knowledge-based strategy to preserve statistical power.\n\nTingley, Dustin, Teppei Yamamoto, Kentaro Hirose, Luke Keele, and Kosuke Imai. 2014. “mediation: R Package for Causal Mediation Analysis.” Journal of Statistical Software 59 (5): 1–38. http://www.jstatsoft.org/v59/i05/.\n\nXia, Yinglin. 2021. “Mediation Analysis of Microbiome Data and Detection of Causality in Microbiome Studies.” Inflammation, Infection, and Microbiome in Cancers: Evidence, Mechanisms, and Implications, 457–509.\nA few methods for multivariate mediation analysis of high-dimensional omic data also exist (Xia 2021). However, no one solution has emerged yet to become the golden standard in microbiome data analysis, mainly because the available approaches can only partially accommodate for the specific properties of microbiome data, such as compositionality, sparsity and its hierarchical structure. While this chapter proposed a standard approach to mediation analysis, in the future fine-tuned solutions for the microbiome may also become common.\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After completing these exercises, you should be able to calculate associations between taxonomic feature and diversity.\nExercise 1: Mediation\n\nLoad any of the example datasets mentioned in Section 4.2.\nObserve colData. Ensure that the data includes meaningful outcome (variable that you expect to be affected by treatment through mediator) and treatment (variable that you expect is causing the change) variables. If it does not, choose another dataset.\nCheck the available taxonomy ranks in the dataset.\nAgglomerate data to most prevalent genera or any other taxonomy rank.\nApply CLR transformation.\nPerform mediation analysis. Analyse genera as a mediators of treatment effect to the outcome.\nObserve the results. Is there any taxonomic features that have significant causal effect (ACME)?\nVisualize the results. Do the treatment have direct effect that is not associated with the taxonomic features (ADE)?\n\nUseful functions:\nutils::data(), mia::taxonomyRanks(), mia::agglomerateByPrevalence, mia::transformAssay(), mia::addMediation(), miaViz::plotMediation()",
    "crumbs": [
      "Association",
      "<span class='chapter-number'>18</span>  <span class='chapter-title'>Mediation</span>"
    ]
  },
  {
    "objectID": "pages/multiomics.html",
    "href": "pages/multiomics.html",
    "title": "Multi-omics",
    "section": "",
    "text": "Multi-omics approaches integrate data from multiple sources. For example, we can integrate taxonomic abundance profiles with metabolomic or other biomolecular profiling data to observe associations, make predictions, or aim at causal inferences. Integrating evidence across multiple sources can lead to enhanced predictions, more holistic understanding, or facilitate the discovery of novel biomarkers.\nIn the following chapters, we explore common approaches for multi-assay data integration. These methods can be broadly categorized into association-based techniques, ordination models that leverage latent shared factors, and machine learning models for classification and regression. For more details, see the following chapters:\n\n19  Cross-association\n20  Ordination-based multiassay analysis\n?sec-multi-omics-integration\n\n\n\n\n Back to top",
    "crumbs": [
      "Multi-omics"
    ]
  },
  {
    "objectID": "pages/cross_correlation.html",
    "href": "pages/cross_correlation.html",
    "title": "19  Cross-association",
    "section": "",
    "text": "library(mia)\n\nCross-association analysis is a straightforward approach that can reveal strength and type of associations between data sets. For instance, we can analyze if higher presence of a specific taxon relates to higher levels of a biomolecule. Correlation analyses within dataset were already discussed in Chapter 17.\nAs an example dataset, we use the data from the Hintikka et al. (2021) publication: Xylo-Oligosaccharides in prevention of hepatic steatosis and adipose tissue inflammation: associating taxonomic and metabolomic patterns in fecal microbiota with biclustering. In this study, mice were fed either with a high-fat or a low-fat diet, and with or without prebiotics, for the purpose of studying whether prebiotics attenuate the negative impact of a high-fat diet on health.\n\nHintikka, Jukka, Sanna Lensu, Elina Mäkinen, Sira Karvinen, Marjaana Honkanen, Jere Lindén, Tim Garrels, Satu Pekkala, and Leo Lahti. 2021. “Xylo-Oligosaccharides in Prevention of Hepatic Steatosis and Adipose Tissue Inflammation: Associating Taxonomic and Metabolomic Patterns in Fecal Microbiomes with Biclustering.” International Journal of Environmental Research and Public Health 18 (8): 4049.\nThis example data can be loaded from the mia package. The data is already in MAE format which is tailored for multi-assay analyses (see Chapter 3). The dataset includes three different experiments: microbial abundance data, metabolite concentrations, and data about different biomarkers. If you like to construct the same data object from the original files instead, here you can find help for importing data into an SE object.\n\n# Load the data\ndata(HintikkaXOData, package = \"mia\")\nmae &lt;- HintikkaXOData\n\n\n# Available alternative experiments\nexperiments(mae)\n##  ExperimentList class object of length 3:\n##   [1] microbiota: TreeSummarizedExperiment with 12706 rows and 40 columns\n##   [2] metabolites: TreeSummarizedExperiment with 38 rows and 40 columns\n##   [3] biomarkers: TreeSummarizedExperiment with 39 rows and 40 columns\n\n\n# Microbiome data\ngetWithColData(mae, \"microbiota\")\n##  class: TreeSummarizedExperiment \n##  dim: 12706 40 \n##  metadata(0):\n##  assays(1): counts\n##  rownames(12706): GAYR01026362.62.2014 CVJT01000011.50.2173 ...\n##    JRJTB:03787:02429 JRJTB:03787:02478\n##  rowData names(7): Phylum Class ... Species OTU\n##  colnames(40): C1 C2 ... C39 C40\n##  colData names(6): Sample Rat ... Fat XOS\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\n\n# Metabolite data\ngetWithColData(mae, \"metabolites\")\n##  class: TreeSummarizedExperiment \n##  dim: 38 40 \n##  metadata(0):\n##  assays(1): nmr\n##  rownames(38): Butyrate Acetate ... Malonate 1,3-dihydroxyacetone\n##  rowData names(0):\n##  colnames(40): C1 C2 ... C39 C40\n##  colData names(6): Sample Rat ... Fat XOS\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\n\n# Biomarker data\ngetWithColData(mae, \"biomarkers\")\n##  class: TreeSummarizedExperiment \n##  dim: 39 40 \n##  metadata(0):\n##  assays(1): signals\n##  rownames(39): Triglycerides_liver CLSs_epi ... NPY_serum\n##    Glycogen_liver\n##  rowData names(0):\n##  colnames(40): C1 C2 ... C39 C40\n##  colData names(6): Sample Rat ... Fat XOS\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL\n\nNext we can perform a cross-association analysis. Let us analyze if individual bacteria genera are correlated with concentrations of individual metabolites. This helps to answer the following question: “If bacterium X is present, is the concentration of metabolite Y lower or higher”?\n\n# Agglomerate microbiome data at family level\nmae[[1]] &lt;- agglomerateByPrevalence(mae[[1]], rank = \"Family\", na.rm = TRUE)\n# Does log10 transform for microbiome data\nmae[[1]] &lt;- transformAssay(mae[[1]], method = \"log10\", pseudocount = TRUE)\n\n# Cross correlates data sets\nres &lt;- getCrossAssociation(\n    mae,\n    experiment1 = 1,\n    experiment2 = 2,\n    assay.type1 = \"log10\",\n    assay.type2 = \"nmr\",\n    method = \"spearman\",\n    test.signif = TRUE,\n    p.adj.threshold = NULL,\n    cor.threshold = NULL,\n    # Remove when mia is fixed\n    mode = \"matrix\",\n    sort = TRUE,\n    show.warnings = FALSE\n)\n\nNext, we create a heatmap depicting all cross-correlations between bacterial genera and metabolite concentrations.\n\nlibrary(ComplexHeatmap)\nlibrary(shadowtext)\n\n# Function for marking significant correlations with \"X\"\nadd_signif &lt;- function(j, i, x, y, width, height, fill) {\n    # If the p-value is under threshold\n    if (!is.na(res$p_adj[i, j]) & res$p_adj[i, j] &lt; 0.05) {\n        # Print \"X\"\n        grid.shadowtext(\n            sprintf(\"%s\", \"X\"), x, y,\n            gp = gpar(fontsize = 8, col = \"#f5f5f5\")\n        )\n    }\n}\n\n# Create a heatmap\np &lt;- Heatmap(res$cor,\n    # Print values to cells\n    cell_fun = add_signif,\n    heatmap_legend_param = list(\n        title = \"correlation\", legend_height = unit(5, \"cm\")\n    ),\n    column_names_rot = 45\n)\np\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After completing these exercises, you should be able to calculate associations between two omics.\nExercise 1: Cross-association\n\nLoad any of the example datasets in MultiAssayExperiment format mentioned in Section 4.2.\nAgglomerate microbiota data to prevalent phyla.\nApply the CLR transformation to microbiota data.\nApply the relative and log10 transformations to the other omic data.\nCalculate correlations between the different omics data.\nVisualize the results with a heatmap.\nAre there taxonomic features that associate with the features of the other omic? Do a literature search for the function of the features that show associations. Do the associations make sense in light of the literature?\n\nUseful functions:\nutils::data(), mia::agglomerateByPrevalence, mia::transformAssay(), mia::getCrossAssociation(), ComplexHeatmap::Heatmap()\n\n\n\n\n\n\n Back to top",
    "crumbs": [
      "Multi-omics",
      "<span class='chapter-number'>19</span>  <span class='chapter-title'>Cross-association</span>"
    ]
  },
  {
    "objectID": "pages/multiassay_ordination.html",
    "href": "pages/multiassay_ordination.html",
    "title": "20  Ordination-based multiassay analysis",
    "section": "",
    "text": "20.1 Multi-Omics Factor Analysis\nIn this chapter, we continue from where we left off in the previous section (referenced as Chapter 19). Specifically, we introduce an analytical method called Multi-Omics Factor Analysis. This method is described as “ordination-based”, meaning it involves techniques that reduce the dimensionality of the data while preserving as much variability as possible. Ordination methods are often used in multivariate analysis to visualize patterns, trends, and relationships in complex data sets, making them particularly useful for multi-omics data where multiple types of biological data are integrated and analyzed together.\nSee Chapter 14 for more information on ordination methods.\nMulti-Omics Factor Analysis (MOFA) is an unsupervised method for integrating multi-omic data sets in a downstream analysis (Argelaguet 2018). It could be seen as a generalization of principal component analysis. Yet, with the ability to infer a latent (low-dimensional) representation, shared among the multiple (-omics) data sets in hand.\nWe use the MOFA2 package for analysis.\nlibrary(mia)\n# Load the data\ndata(HintikkaXOData, package = \"mia\")\nmae &lt;- HintikkaXOData\nThe mae object could be used straight to create the MOFA model. Yet, we transform our assays since the model assumes normality per default, and Gaussian model is recommended (see MOFA2 FAQ). However, Poisson and Bernoulli distribution models are also offered.\nNote that duplicates, such as “uncultured”, might appear when aggregating the microbiome data by a taxonomic rank. To check for duplicates, run any(duplicated(rownames(mae[[1]]))). If it returns TRUE, then the duplicates are present. We can add rownames(mae[[1]]) &lt;- getTaxonomyLabels(mae[[1]], make.unique=TRUE) to remove them.\nlibrary(MOFA2)\n# For simplicity, classify all high-fat diets as high-fat, and all the low-fat\n# diets as low-fat diets\ncolData(mae)$Diet &lt;- ifelse(\n    colData(mae)$Diet == \"High-fat\" | colData(mae)$Diet == \"High-fat + XOS\",\n    \"High-fat\", \"Low-fat\"\n)\n\n# Agglomerate microbiome data\nmae[[1]] &lt;- agglomerateByPrevalence(mae[[1]], rank = \"Genus\")\n# Transforming microbiome data with clr and by scaling\nmae[[1]] &lt;- transformAssay(mae[[1]], method = \"clr\", pseudocount = TRUE)\nmae[[1]] &lt;- transformAssay(\n    mae[[1]],\n    assay.type = \"clr\", method = \"standardize\", MARGIN = \"rows\"\n)\n\n# Transforming metabolomic data with log10 and by scaling\nmae[[2]] &lt;- transformAssay(mae[[2]], assay.type = \"nmr\", method = \"log10\")\nmae[[2]] &lt;- transformAssay(\n    mae[[2]],\n    assay.type = \"log10\", method = \"standardize\"\n)\n\n# Transforming biomarker data by scaling\nmae[[3]] &lt;- transformAssay(\n    mae[[3]],\n    assay.type = \"signals\", method = \"standardize\", MARGIN = \"rows\"\n)\n\n# Removing the assays no longer needed\nassays(mae[[1]]) &lt;- assays(mae[[1]])[\"standardize\"]\nassays(mae[[2]]) &lt;- assays(mae[[2]])[\"standardize\"]\nassays(mae[[3]]) &lt;- assays(mae[[3]])[\"standardize\"]\n\n# Building our mofa model\nmodel &lt;- create_mofa_from_MultiAssayExperiment(\n    mae,\n    groups = \"Diet\",\n    extract_metadata = TRUE\n)\nmodel\n##  Untrained MOFA model with the following characteristics: \n##   Number of views: 3 \n##   Views names: microbiota metabolites biomarkers \n##   Number of features (per view): 112 38 39 \n##   Number of groups: 2 \n##   Groups names: High-fat Low-fat \n##   Number of samples (per group): 20 20 \n##\nModel options can be defined as follows:\nmodel_opts &lt;- get_default_model_options(model)\nmodel_opts$num_factors &lt;- 5\nmodel_opts |&gt; head()\n##  $likelihoods\n##   microbiota metabolites  biomarkers \n##   \"gaussian\"  \"gaussian\"  \"gaussian\" \n##  \n##  $num_factors\n##  [1] 5\n##  \n##  $spikeslab_factors\n##  [1] FALSE\n##  \n##  $spikeslab_weights\n##  [1] FALSE\n##  \n##  $ard_factors\n##  [1] TRUE\n##  \n##  $ard_weights\n##  [1] TRUE\nTraining options for the model are defined in the following way:\ntrain_opts &lt;- get_default_training_options(model)\ntrain_opts |&gt; head()\n##  $maxiter\n##  [1] 1000\n##  \n##  $convergence_mode\n##  [1] \"fast\"\n##  \n##  $drop_factor_threshold\n##  [1] -1\n##  \n##  $verbose\n##  [1] FALSE\n##  \n##  $startELBO\n##  [1] 1\n##  \n##  $freqELBO\n##  [1] 5\nThe model is then prepared with prepare_mofa() and trained with run_mofa():\nmodel &lt;- prepare_mofa(\n    object = model,\n    model_options = model_opts\n)\n\n# Some systems may require the specification `use_basilisk = TRUE`\n# so it has been added to the following code\nmodel &lt;- run_mofa(model, use_basilisk = TRUE)\nThe explained variance is visualized with the plot_variance_explained() function.\nlibrary(patchwork)\nlibrary(ggplot2)\n\nplot_list &lt;- plot_variance_explained(\n    model,\n    x = \"view\", y = \"factor\",\n    plot_total = TRUE\n)\n\nwrap_plots(plot_list, nrow = 2) +\n    plot_annotation(\n        title = \"Variance Explained per factor and assay\",\n        theme = theme(plot.title = element_text(hjust = 0.5))\n    )\nFrom the plot, we can observe that the microbiota accounts for most of the variability in the data. Biomarkers do not significantly explain the variability. The variability in the microbiota is primarily captured in factors 1 and 2, while metabolites are primarily represented in factor 2.\nWe can then visualize the top weights for microbiota and metabolites for the first two factors to analyze co-varying features.\nplot_list &lt;- lapply(\n    c(\"microbiota\", \"metabolites\"),\n    plot_top_weights,\n    object = model,\n    factors = c(1, 2),\n    nfeatures = 10\n)\n\nwrap_plots(plot_list, ncol = 1) & theme(text = element_text(size = 8))\nFrom the visualization, we can see that glycerol, lactate, and choline are positively associated with factor 2, while acetate is negatively associated among the metabolites. In terms of microbiota, Ruminococcaceae and Ruminodostridium, for instance, are positively associated with the same factor. This indicates that these features co-vary in the data, suggesting a positive association with glycerol, lactate, and choline, and a negative association with acetate and these microbes.\nMore tutorials and examples of using the package are found at MOFA2 tutorials.",
    "crumbs": [
      "Multi-omics",
      "<span class='chapter-number'>20</span>  <span class='chapter-title'>Ordination-based multiassay analysis</span>"
    ]
  },
  {
    "objectID": "pages/multiassay_ordination.html#sec-mofa",
    "href": "pages/multiassay_ordination.html#sec-mofa",
    "title": "20  Ordination-based multiassay analysis",
    "section": "",
    "text": "Argelaguet, Ricard et al. 2018. “Multi-Omics Factor Analysis—a Framework for Unsupervised Integration of Multi-Omics Data Sets.” Molecular Systems Biology 14 (6): e8124. https://doi.org/10.15252/msb.20178124.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After completing these exercises, you should be able to run and interpret MOFA results.\nExercise 1: MOFA\n\nLoad any of the example datasets in MultiAssayExperiment format mentioned in Section 4.2.\nAgglomerate microbiota data to prevalent phyla.\nApply CLR transformation to microbiota data.\nApply relative transformation and log10 transformation to other metabolite or other omic.\nStandardize each feature (within each dataset) by centering to mean 0 and scaling to unit variance so that all variables are on a comparable scale.\nCreate a MOFA2 object from the MultiAssayExperiment.\nRun MOFA.\nVisualize the explained variance. How much variance is explained in total, and which omic accounts the most variance?\nFor each omic, visualize the features with the largest weights. Can you identify features that are co-varying?\nIf you completed exercises in Chapter 19, did you get similar results? Do the co-varying features also exhibited correlation?\n\nUseful functions:\nutils::data(), mia::agglomerateByPrevalence, mia::transformAssay(), MOFA2::create_mofa_from_MultiAssayExperiment(), MOFA2::run_mofa(), MOFA2::plot_variance_explained(), MOFA2::plot_top_weights(), mia::getCrossAssociation(), ComplexHeatmap::Heatmap()",
    "crumbs": [
      "Multi-omics",
      "<span class='chapter-number'>20</span>  <span class='chapter-title'>Ordination-based multiassay analysis</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html",
    "href": "pages/machine_learning.html",
    "title": "21  Machine learning",
    "section": "",
    "text": "21.1 Background\nMachine learning (ML) is a branch of artificial intelligence. While there are several definitions of machine learning, they generally involve using computational methods (i.e., machines) to identify patterns in data (i.e., learning).\nMachine learning can be divided into supervised and unsupervised learning. Supervised ML is used to predict outcomes based on labeled data, whereas unsupervised ML is used to discover unknown patterns and structures within the data.",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#background",
    "href": "pages/machine_learning.html#background",
    "title": "21  Machine learning",
    "section": "",
    "text": "21.1.1 Unsupervised machine learning\n“Unsupervised” means that the outcomes (e.g., patient status) are not known by the model during its training, and patterns are learned based solely on the data, such as an abundance table.\nCommon tasks in unsupervised machine learning include dimension reduction and clustering, tasks discussed in Chapter 14 and Chapter 15, respectively.\n\n21.1.2 Supervised machine learning\n“Supervised” means that a model is trained on observations paired with a known output (e.g., patient status: healthy or diseased). During training, the model learns patterns from a portion of the data and it is then evaluated on its ability to generalize to new data. This process involves splitting the collected data into a training and testing sets, commonly in 80/20 ratio, although other proportions can be used depending on the size and applications of the dataset.\nTraining is usually enhanced with cross-validation to improve the model’s robustness. However, when the dataset is small, splitting it into training and test sets might not be feasible. In such cases, cross-validation alone can be used to provide a rough estimate of the model’s performance. This strategy involves dividing the data into K folds (or subsets) of similar size. The model is then trained on K-1 folds, and tested on the remaining fold. This process is repeated K times, allowing each fold to serve as the test set once. While this approach is not as reliable as having a separate test set, it can still give valuable insights into how well the model might perform on new data.\nCommon tasks for supervised machine learning includes classification (e.g., predict categorical variables) and regression (e.g., predicting continuous variables). This chapter discusses two supervised ML algorithms that can be applied to classification and regression tasks.\n\n\n\n\n\n\nNoteNote: ML in multi-omics data analysis\n\n\n\nML applications for the integration of multi-omic datasets are covered in Chapter 20 and ?sec-multi-omics-integration",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#setup",
    "href": "pages/machine_learning.html#setup",
    "title": "21  Machine learning",
    "section": "\n21.2 Setup",
    "text": "21.2 Setup\nPublished fecal microbiome data (Qin et al. 2012) will be used to illustrate how to deploy supervised machine learning algorithms to address classification and regression problems. For classification, two ML models will be used to classify subjects in two groups: Type II diabetes patients or Healthy individuals (encoded as T2D and healthy in the metadata). For regression, models will be use to predict the body mass index (BMI) of each subject. In both tasks the models will be trained with participants gut microbiome data.\n\nRidaura, Vanessa K., Jeremiah J. Faith, Federico E. Rey, Jiye Cheng, Alexis E. Duncan, Andrew L. Kau, Nicholas W. Griffin, et al. 2013. “Gut Microbiota from Twins Discordant for Obesity Modulate Metabolism in Mice.” Science 341 (6150): 1241214. https://doi.org/10.1126/science.1241214.\nMounting evidence show associations between gut microbiome and the onset of type II diabetes. Thus, it has been suggested that microbiome data could be used to discriminate between patients and healthy individuals. Indeed, that hypothesis was explored in the research article where the dataset we will work with was released (Qin et al. 2012). On the other hand, experiments conducted with twins have shown that while the transplantation of gut microbiome from the obese twin induces obesity in mice, the gut microbiome of the lean twin doesn’t (Ridaura et al. 2013). Thus, predicting the health status of a person or their BMI from their gut microbiome seems a plausible task, and an interesting opportunity to learn about supervised ML algorithms using real-world data.\nTo do so, the R package mikropml (Topçuoğlu et al. 2020, 2021) will be used throughout this chapter. This package was developed to offer a user-friendly interface to supervised ML algorithms implemented in the caret package. Here is a list of models supported by mikropml.\n\nTopçuoğlu, Begüm D., Nicholas A. Lesniak, Mack T. Ruffin, Jenna Wiens, and Patrick D. Schloss. 2020. “A Framework for Effective Application of Machine Learning to Microbiome-Based Classification Problems.” mBio 11 (3): 10.1128/mbio.00434–20. https://doi.org/10.1128/mbio.00434-20.\n\nTopçuoğlu, Begüm D., Zena Lapp, Kelly L. Sovacool, Evan Snitkin, Jenna Wiens, and Patrick D. Schloss. 2021. “mikropml: User-Friendly r Package for Supervised Machine Learning Pipelines.” Journal of Open Source Software 6 (61): 3073. https://doi.org/10.21105/joss.03073.\nThe code below will retrieve the data and show the number of participants on each category.\n\nlibrary(curatedMetagenomicData)\n\nsamples &lt;- sampleMetadata[sampleMetadata[[\"study_name\"]] == \"QinJ_2012\", ]\n\ntse &lt;- returnSamples(\n    samples,\n    dataType = \"relative_abundance\",\n    counts = TRUE, # use counts instead of rel abundances\n    rownames = \"short\"\n)\n\n# Change assay's name to reflect its content\nassayNames(tse) &lt;- \"counts\"\n\ntable(tse[[\"disease\"]]) |&gt;\n    t() |&gt;\n    knitr::kable()\n\n\n\nT2D\nhealthy\n\n\n170\n193",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#data-preprocessing",
    "href": "pages/machine_learning.html#data-preprocessing",
    "title": "21  Machine learning",
    "section": "\n21.3 Data preprocessing",
    "text": "21.3 Data preprocessing\nBefore applying any ML algorithm, the data must be preprocessed. This speeds up the training of the models by reducing the amount of features analyzed, a desirable outcome when working with high-dimensional microbiome data. In addition to faster performance, common pre-processing steps have biological justifications. For instance:\n\nCollapse highly correlated features: In a microbial community, it’s common for the abundance of two or more taxonomic features to be highly correlated due to ecological interactions. Thus, removing or collapsing correlated features allows the model to analyze them as one group.\nRemove features with near-zero variance: Features that don’t vary enough across groups can hardly help in discerning between them, as they don’t hold any biologically relevant information. Additionally, under certain data splits, these variables can show zero variance.\nRemove features with low prevalence: Microbiome data is sparse, and taxonomic features present in just a few samples of each group hardly provide useful biological information for their classification.\n\n\n\n\n\n\n\nImportantImportant: Data leakage is a common pitfall.\n\n\n\nData leakage occurs when information from the test set influences the model training process, leading to overly optimistic performance estimates. This can happen, for example, if preprocessing steps like scaling are applied to both the training and test data together, allowing the model to indirectly “see” the test data during training. Fortunately, there are questions we can ask ourselves to void data leakage (Bernett et al. 2024)\n\n\n\nBernett, Judith, David B. Blumenthal, Dominik G. Grimm, Florian Haselbeck, Roman Joeres, Olga V. Kalinina, and Markus List. 2024. “Guiding Questions to Avoid Data Leakage in Biological Machine Learning Applications.” Nature Methods 21 (8): 1444–53. https://doi.org/10.1038/s41592-024-02362-y.\nThe code below shows how to obtain the relative abundances of each taxonomic feature with different alpha diversity indices that provide ecosystem-level information. See Chapter 13 for a discussion on alpha diversity.\n\nlibrary(mia)\n\n# Keep taxa present in more than 10% of samples\ntse &lt;- subsetByPrevalent(\n    x = tse,\n    assay.type = \"counts\",\n    prevalence = 10 / 100\n)\n\n# Transform to relative abundances\ntse &lt;- transformAssay(\n    x = tse,\n    assay.type = \"counts\",\n    method = \"relabundance\",\n    MARGIN = \"cols\",\n    pseudocount = TRUE\n)\n\n# Alpha diversity indices to be calculated\nalpha_divs &lt;- c(\n    \"dbp_dominance\",\n    \"faith_diversity\",\n    \"observed_richness\",\n    \"shannon_diversity\"\n)\n\n# Add alpha diversity indices to the metadata for latter use in our ML tasks\ntse &lt;- addAlpha(\n    tse,\n    assay.type = \"counts\",\n    index = alpha_divs\n)\n\n\n21.3.1 Preprocess for classification task\nNext, we join the outcome of interest (i.e, diagnosis status or BMI) of each participant with the microbiome abundances and alpha diversities. The resulting dataset will be preprocessed for its later use to train and test our model in the following section.\nThe code below shows how to preprocess our data for a classification task.\n\nlibrary(mikropml)\n\n# Preprocess data for classification\ntse &lt;- preprocess_data(\n    dataset = tse,\n    outcome_colname = \"disease\",\n    assay.type = \"relabundance\",\n    name = \"prep_classification\",\n    col.var = alpha_divs, # preprocess these metadata variables too\n    remove_var = \"zv\",\n    collapse_corr_feats = TRUE,\n    group_neg_corr = FALSE\n)\n\n# Identify the discarded features (that won't be used as predictors)\nprep_classification &lt;- altExp(tse, \"prep_classification\")\nremoved_feats &lt;- metadata(prep_classification)[[\"removed_feats\"]]\n\n# If any alpha diversity index was removed, it will be discarded\n# from the predictors\nalpha_divs_classification &lt;- setdiff(alpha_divs, removed_feats)\n\n\n21.3.2 Preprocess for regression task\nSimilar to the code shown above, the following code shows how to preprocess our dataset. This time, however, we are interested in a regression task.\n\n# Preprocess data for regression task\ntse &lt;- preprocess_data(\n    dataset = tse,\n    outcome_colname = \"BMI\",\n    assay.type = \"relabundance\",\n    name = \"prep_regression\",\n    col.var = alpha_divs, # preprocess these metadata variables too\n    remove_var = \"zv\",\n    collapse_corr_feats = TRUE,\n    group_neg_corr = FALSE\n)\n\n# Identify the discarded features (that won't be used as predictors)\nprep_regression &lt;- altExp(tse, \"prep_regression\")\nremoved_feats &lt;- metadata(prep_regression)[[\"removed_feats\"]]\n\n# If any alpha diversity index was removed, it will be discarded\n# from the predictors\nalpha_divs_regression &lt;- setdiff(alpha_divs, removed_feats)\n\nNote that the preprocessed dataset for the classification and regression tasks are stored within the ‘tse’ object, under the ‘altExp’ called ‘prep_classification’ and ‘prep_regression’, respectively.\n\n\n\n\n\n\nNoteNote: Preprocessing strategies impact the performance of ML models.\n\n\n\nAlthough microbiome data is compositional, proportion-based transformations —such as relative abundance or Hellinger— or even simpler approaches often outperform compositional transformations like CLR when building supervised ML models (Yerke, Fry Brumit, and Fodor 2024). The authors note that the impact of the chosen transformations decreases as the signal-to-noise ratio increases. In other words, the more distinct the conditions we aim to classify, the less influence preprocessing transformations will have on model performance.\nThe aforementioned paper described the effect in both regression and classification tasks. A similar observations have also been done in other papers where they extensively compared different transformations in microbiome classification data (Karwowska et al. 2025; Giliberti 2022). These papers suggest presence/absence being the preferred approach in supervised ML applications. Even though the papers benchmarked transformations only in classification, their findings are likely applicable to regression as well.\nThese studies were conducted with stool samples which contain many sources of biases as they serve as proxy for our main interest: the gut microbiome. This can explain why the simpler approaches are more robust and reproducible. Moreover, in addition to improving model performance, proportion or presence/absence-based transformations are more intuitive and therefore easier to interpret.\nGiven this, it is worth exploring different preprocessing approaches. The preprocess_data function from the mikropml package supports a variety of strategies described here. For a discussion in transformations methods, see Chapter 11.\n\n\n\nGiliberti, Sara AND Mauriello, Renato AND Cavaliere. 2022. “Host Phenotype Classification from Human Microbiome Data Is Mainly Driven by the Presence of Microbial Taxa.” PLOS Computational Biology 18 (4): 1–22. https://doi.org/10.1371/journal.pcbi.1010066.\n\nKarwowska, Zuzanna, Oliver Aasmets, Mait Metspalu, Andres Metspalu, Lili Milani, Tõnu Esko, Tomasz Kosciolek, and Elin Org. 2025. “Effects of Data Transformation and Model Selection on Feature Importance in Microbiome Classification Data.” Microbiome 13 (1). https://doi.org/10.1186/s40168-024-01996-6.\n\nYerke, Aaron, Daisy Fry Brumit, and Anthony A. Fodor. 2024. “Proportion-Based Normalizations Outperform Compositional Data Transformations in Machine Learning Applications.” Microbiome 12 (1): 45. https://doi.org/10.1186/s40168-023-01747-z.",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#model-training",
    "href": "pages/machine_learning.html#model-training",
    "title": "21  Machine learning",
    "section": "\n21.4 Model training",
    "text": "21.4 Model training\nNow we can deploy supervised ML models on the preprocessed data. In this section, two algorithms will be covered:\n\nRandom Forest\nXGBoost\n\nThese are within the most used supervised ML methods in the microbiome field. Possible reasons are that they can be used for classification and regression tasks, and that they show a good balance between performance and interpretability. Since the focus of this book is the implementation and interpretation of these models, other resources are suggested for an introduction to the mathematical underpinnings of these —and other— models (Gareth James 2013).\n\nGareth James, Robert Tibshirani, Trevor Hastie. 2013. An Introduction to Statistical Learning: With Applications in R. New York : Springer, [2013] ©2013. https://search.library.wisc.edu/catalog/9910207152902121.\n\n21.4.1 Random forest\nRandom Forests (RF) is an ensemble algorithm. That means that RF deploys and combines the outputs of multiple decision trees through majority voting or averaging the predicted numerical outcome. Since each tree is trained on a random subset of the data and features, RF reduces overfitting and enhance generalization to new data.\nWhen applied to classification problems, each tree predicts the class of an observation (e.g., healthy or T2D) based on the values of the features (e.g., taxonomic). Each tree finds the best split of the data by reducing how mixed the classes are, often using metrics like entropy or Gini impurity.\nBelow, the RF algorithm is used for a classification task:\n\n# Train random forest for classification\nrf_classification &lt;- run_ml(\n    dataset = tse,\n    method = \"rf\",\n    outcome_colname = \"disease\",\n    altexp = \"prep_classification\",\n    assay.type = \"prep_classification\",\n    col.var = alpha_divs_classification, # use these variables as predictors too\n    seed = 1,\n    kfold = 2,\n    cv_times = 2,\n    training_frac = .8,\n    find_feature_importance = FALSE\n)\n\nFor regression tasks, each tree predicts a numerical outcome (e.g., BMI) based on the values of the features (e.g., taxonomic). Each tree split the data to minimize the difference between predicted and real (observed) values, often using metrics like mean squared error (MSE). One strength of RF is that it can learn non-linear patterns in the data that simpler regression algorithms might not capture.\nRegarding its implementation, note that just by changing the outcome from a categorical to a continuous variable, RF models can now be used in regression tasks:\n\n# Train random forest for regression\nrf_regression &lt;- run_ml(\n    dataset = tse,\n    method = \"rf\",\n    outcome_colname = \"BMI\",\n    altexp = \"prep_regression\",\n    assay.type = \"prep_regression\",\n    col.var = alpha_divs_regression, # use these variables as predictors too\n    seed = 1,\n    kfold = 2,\n    cv_times = 2,\n    training_frac = .8,\n    find_feature_importance = FALSE\n)\n\n\n21.4.2 XGBoost\nExtreme Gradient Boosting (XGBoost) is another ensemble algorithm where decision trees are sequentially built. In this strategy, each new tree improves the performance of the previous.\nWhen applied to classification, each tree predicts the class of an observation (e.g., healthy or T2D) based on feature values (e.g., taxonomic). However, instead of ‘voting’ like in Random Forest, XGBoost improves the performance by assigning higher weights (or penalties) to missclassified observations.\nIt must be noted that XGBoost is a more complex model usually described as one of the best performing models for tabular data (Shwartz-Ziv and Armon 2022), such as the count tables used in microbiome data analysis.\n\nShwartz-Ziv, Ravid, and Amitai Armon. 2022. “Tabular Data: Deep Learning Is Not All You Need.” Information Fusion 81: 84–90. https://doi.org/https://doi.org/10.1016/j.inffus.2021.11.011.\n\n# Train XGBoost for classification\nxgb &lt;- run_ml(\n    dataset = tse,\n    method = \"xgbTree\",\n    outcome_colname = \"disease\",\n    altexp = \"prep_classification\",\n    assay.type = \"prep_classification\",\n    col.var = alpha_divs_classification, # use these variables as predictors too\n    seed = 1,\n    kfold = 2,\n    cv_times = 2,\n    training_frac = .8,\n    find_feature_importance = FALSE\n)\n\nAlthough not demonstrated in this chapter, XGBoost can be used in regressions tasks using similar code to the one shown above. The only difference will be the outcome variable selected. See the RF example as a reference.",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#model-performance-metrics",
    "href": "pages/machine_learning.html#model-performance-metrics",
    "title": "21  Machine learning",
    "section": "\n21.5 Model performance metrics",
    "text": "21.5 Model performance metrics\nUnder the hood, the function run_ml from the mikropml package generates a default 80/20 split of the data to train and test a model of interest. That means that after the model is trained (i.e., learns patterns) in 80% of the data, the remaining 20% of data (not seen by our model in the training) is used to assess how well our model can generalize the patterns it learned to new data.\nTherefore, the goals of this section are: to discuss different metrics used to assess the performance of the model, to compare metrics from two models used in the classification of the same observations, and to contrasts the results of these models with previous analyses in the published literature.\n\n\n\n\n\n\nTipTip: Assess model performance with multiple data splits\n\n\n\nNotice that the function run_ml performs only one 80/20 split. Thus, the output metrics represent the performance of the model in one of multiple splitting scenarios. However, researchers are often interested in generating multiple splits, calculate the performance of the models trained on each split, and then look at the variability across iterations. This gives a more accurate assessment of the model’s performance. That approach is discussed in the documentation of mikropml.\n\n\n\n21.5.1 Classification metrics\nTwo models (RF and XGBoost) were used to perform a classification task in the same microbiome dataset. Since both were used in classification, the type of performance metrics are the same:\nMetrics of the RF model:\n\n# RF performance in classification tasks\nrf_classification[[\"performance\"]] |&gt; knitr::kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ncv_metric_AUC\nlogLoss\nAUC\nprAUC\nAccuracy\nKappa\nF1\nSensitivity\nSpecificity\nPos_Pred_Value\nNeg_Pred_Value\nPrecision\nRecall\nDetection_Rate\nBalanced_Accuracy\nmethod\nseed\n\n\n0.7532\n0.6497\n0.6661\n0.6383\n0.6176\n0.2353\n0.6061\n0.5882\n0.6471\n0.625\n0.6111\n0.625\n0.5882\n0.2941\n0.6176\nrf\n1\n\n\n\n\nMetrics of the XGBoost model:\n\n# XGBoost performance in classification tasks\nxgb[[\"performance\"]] |&gt; knitr::kable()\n\nA common metric to quickly assess model performance in binary classification tasks is the area under the receiver operator characteristic curve ‘AUC’. Notice that the result tables include two types of AUC metrics: cv_metric_AUC, which represents AUC for the 80% of data used in training, and AUC, which is the AUC for the 20% used in testing. Thus, results where the performance of the model in the train set highly exceeds its performance in the test set suggest overfiting, meaning that the model fails to generalize to new data. Notice, however, that small drops of model’s performance in the test compared to the train data are expected and thus shouldn’t be a concern.\nNow let’s take a look at the results. First, notice that AUC values suggest a relatively good performance considering that predicting outcomes based on complex microbiome data is typically a challenging task. In addition, notice that the performance of RF and XGBoost are similar (RF AUC = 0.6661 and XGBoost AUC = {r}# round(xgb[[\"performance\"]][[\"AUC\"]], 4)). This illustrates an important point in ML: sometimes simpler models can perform as good as more complex ones. Thus, it is often a good idea to deploy different models and compare their performance on the same task.\nNow let’s interpret our results at the light of previous research. In the largest multi-cohort analysis of gut microbiome associations with T2D published to date (Mei et al. 2024), authors report similar AUC values to ours when training RF models to discriminate healthy participants and T2D patients using microbiome and anthropometric variables like age, sex and BMI. Interestingly, they included the study we are working with in their analysis. Notice their reported AUC of 0.74, which is very close to ours. This further validates the potential of the gut microbiome to discriminate between healthy individuals and T2D patients.\nAlthough the tasks we addressed required binomial classification (i.e., classify sampples either as patients or controls), some research questions will require the classification of observations in more than just two groups, a task known as multiclass classification. For instance, we may have been interested in classifying patients as (1) healthy individuals, (2) T2D patients with obesity, and (3) T2D patients without obesity by integrating BMI information. In such cases, metrics like AUC (developed for binary classification) can be generalized. This metric is known as multiclass AUC, or One-vs-Rest AUC. This approach evaluates how well each class is distinguished from the others, enabling the assessment of model performance in multiclass problems. Multiclass classification can be implemented with run_ml too, as described here.\n\n\n\n\n\n\nTipTip: Always use multiple performance metrics\n\n\n\nRegardless of the type of classification task performed, it is often desirable to look at different metrics to accurately assess the model’s performance. This is particularly relevant in cases where classes are imbalanced. Suppose a dataset consists of 95% healthy individuals, and only 5% T2D patients. In such a case, a model can easily achieve 95% accuracy by just predicting (labelling) all samples as healthy, despite being useless for the classification of T2D patients.\nThis is an extreme case and hopefully we won’t encounter such situations. However, it highlights that class imbalance can lead to misleading interpretations of performance metrics like accuracy and AUC. Thus, when dealing with imbalanced classes, other metrics like F1-score and the area under the precision recall curve (prAUC), might be more appropriate.\nIn addition to relying in other performance metrics, different strategies for handling class imbalance datasets have been discussed (Papoutsoglou et al. 2023) and applied (Diez Lopez et al. 2022) in microbiome data analysis before.\n\n\n\nDiez Lopez, Celia, Diego Montiel Gonzalez, Athina Vidaki, and Manfred Kayser. 2022. “Prediction of Smoking Habits from Class-Imbalanced Saliva Microbiome Data Using Data Augmentation and Machine Learning.” Frontiers in Microbiology 13. https://doi.org/10.3389/fmicb.2022.886201.\n\nPapoutsoglou, Georgios, Sonia Tarazona, Marta B. Lopes, Thomas Klammsteiner, Eliana Ibrahimi, Julia Eckenberger, Pierfrancesco Novielli, et al. 2023. “Machine Learning Approaches in Microbiome Research: Challenges and Best Practices.” Frontiers in Microbiology 14. https://doi.org/10.3389/fmicb.2023.1261889.\n\n21.5.2 Regression metrics\nWhen RF are used in regression tasks, the performance metrics are different to what was discussed for classifications.\n\n# RF performance in regression tasks\nrf_regression[[\"performance\"]] |&gt; knitr::kable()\n\n\n\ncv_metric_RMSE\nRMSE\nRsquared\nMAE\nmethod\nseed\n\n\n3.382\n3.886\n0.0231\n3.043\nrf\n1\n\n\n\n\nA commonly used metric to quickly assess model performance in regression tasks is the root mean square error (RMSE). As its name suggests, this metric is just the root of the mean squared difference between the observed and predicted values of the outcome variable (patient’s BMI in this example).\nSimilarly to AUC in classification, the results table include two types of RMSE metrics: cv_metric_RMSE, which represents RMSE for the 80% of data used in training, and RMSE, which is the metric for the 20% used in testing. Notice, the small drop of model’s performance in the test (3.886) compared to the train (3.382) tests. As discussed in the classification results, big drops of model’s performance in the test compared to the train data are indicative of overfitting. However, in this case the drop in performance is small and thus it shouldn’t be a concern.",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#visualizing-models-performance",
    "href": "pages/machine_learning.html#visualizing-models-performance",
    "title": "21  Machine learning",
    "section": "\n21.6 Visualizing model’s performance",
    "text": "21.6 Visualizing model’s performance\nWe explored the different performance metrics used in classification and regression tasks. However, researchers are often interested in generating visual representations of the performance of their models. Thus, the goal of this section is to show code to create those visualizations, as well as providing insights in their interpretations.\n\n21.6.1 Classification\nThe area under the receiver-operator characteristic (ROC) curve, also called ‘AUC’ was introduced before as common metric to assess model’s performance in binary classification tasks. As it name suggests, AUC is just the area under a curve. Since different ROC curves can have similar AUC, visualizing the curve can give complementary information.\nComplementary to ROC curves, the precision-recall curves (PRC) are preferred in datasets with class imbalance, where AUC can be misleading, as discussed above.\nThe code below is used to calculate the metrics required to generate both curves for the two models generated (RF and XGBoost):\n\n# Calculate RF model metrics required for plotting\nrf_senspec &lt;- calc_model_sensspec(\n    rf_classification[[\"trained_model\"]],\n    rf_classification[[\"test_data\"]]\n)\n# Add model label to data\nrf_senspec$model &lt;- \"rf\"\n\n# # Calculate XGBoost model metrics required for plotting\n# xgb_senspec &lt;- calc_model_sensspec(\n#     xgb[[\"trained_model\"]],\n#     xgb[[\"test_data\"]]\n# )\n# # Add model label to data\n# xgb_senspec$model &lt;- \"XGBoost\"\n\n# Combine model metrics\nsenspec &lt;- rbind(rf_senspec)#, xgb_senspec)\n\n# Inspect part of the output\nsenspec |&gt;\n    head() |&gt;\n    knitr::kable()\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nT2D\nhealthy\nactual\ntp\nfp\nsensitivity\nfpr\nspecificity\nprecision\nmodel\n\n\n\nT2D-059\n0.806\n0.194\nT2D\n1\n0\n0.0294\n0.0000\n1.0000\n1.0000\nrf\n\n\nCON-079\n0.788\n0.212\nhealthy\n1\n1\n0.0294\n0.0294\n0.9706\n0.5000\nrf\n\n\nT2D-104\n0.768\n0.232\nT2D\n2\n1\n0.0588\n0.0294\n0.9706\n0.6667\nrf\n\n\nT2D-078\n0.760\n0.240\nT2D\n3\n1\n0.0882\n0.0294\n0.9706\n0.7500\nrf\n\n\nT2D-088\n0.760\n0.240\nT2D\n4\n1\n0.1176\n0.0294\n0.9706\n0.8000\nrf\n\n\nDOF010\n0.714\n0.286\nT2D\n5\n1\n0.1471\n0.0294\n0.9706\n0.8333\nrf\n\n\n\n\n\nThe metrics ‘Sensitivity’ and ‘Specificity’ are used in ROC curves, and ‘Sensitivity’ and ‘Precision’ are used in PRC curves. Note that ‘Precision’ and ‘Recall’ are the same metric. While the term ‘Precision’ is preferred in the biomedical literature, ‘Recall’ is more prevalent in other fields.\nThe code below generates the ROC and PRC curves of both models and shows them side by side:\n\nlibrary(patchwork)\n\n# 1. Plot the ROC curve of each model\nroc_p &lt;- ggplot(data = senspec) +\n    geom_path(aes(x = fpr, y = sensitivity, color = model))\n# 1.1 Add line representing 'random guess' performance\nroc_p &lt;- roc_p +\n    geom_abline(color = \"grey30\", linetype = \"dashed\")\n# 1.2 Add axis titles and custom theme\nroc_p &lt;- roc_p +\n    labs(x = \"FPR or (1 - Specificity)\", y = \"Sensitivity\", title = \"ROC\") +\n    theme_bw()\n\n\n# 2. Plot the PRC curve of each model\nprc_p &lt;- ggplot(data = senspec) +\n    geom_path(aes(x = sensitivity, y = precision, color = model))\n# 2.1 Add line representing 'random guess' performance\nprc_p &lt;- prc_p +\n    geom_hline(color = \"grey30\", linetype = \"dashed\", yintercept = 0.5)\n# 2.2 Add axis titles and custom theme\nprc_p &lt;- prc_p +\n    labs(x = \"Recall or Sensitivity\", y = \"Precision\", title = \"PRC\") +\n    theme_bw()\n\n\n# 3. Plot ROC and PRC side by side\nroc_p + prc_p + plot_layout(guides = \"collect\")\n\n\n\n\n\n\n\nBefore describing the plots and their meaning, it is worth noting that the ROC curves of both models resembles the curve presented in the article where this dataset was first analyzed (Qin et al. 2012) (see Figure 4B). Interestingly, authors used other supervised ML algorithm, and it was trained in a set of 50 microbiome genes (instead of taxonomic features and alpha diversity metrics, as we did). However, it is interesting that concordant AUCs and ROC curves shapes were obtained using different microbiome-derived information.\nRegarding our figures, note the dashed gray lines in both plots representing the expected performance of a model that is classifying samples randomly. Therefore, the greater the distance between that reference and the line representing our model’s performance, the better. Thus, perfect performance will be achieve when the line is the farthest from that reference.\nIn our example, a model with perfect performance is such that, by learning patterns from the microbiome data, it can correctly identify T2D patients with perfect sensitivity (i.e., all T2D patients are classified as such) while maintaining a false positive rate (FPR) of 0 (i.e., no healthy individual is misclassified as T2D). In the ROC plot, this means the model consistently achieves a Sensitivity of 1 and a FPR of 0, pushing the curve towards the top left corner.\nIn terms of the PRC plot, the perfect model would consistently achieve a Recall and Precision of 1, pushing the curve towards the top right corner. That, in turn, would mean that the model has perfect Sensitivity (i.e., all T2D patients are classified as such), while maintaining a perfect Precision (i.e., every individual classified as T2D is actually a T2D patient).\nFinally, note that the ROC curves of RF and XGBoost have a similar shape. This suggests a similar performance in classifying T2D patients. This isn’t surprising as the AUC of both models were very similar too (RF AUC = 0.6661 and XGBoost AUC = {r}# round(xgb[[\"performance\"]][[\"AUC\"]], 4)).\n\n\n\n\n\n\nNoteNote: Visualization of multiclass ROC curves\n\n\n\nIt was discussed above that ROC curves (and AUCs) can be extended to multiclass classification tasks. One example of such approach is this article (Su et al. 2022) where authors used gut microbiome data to train different classification supervised ML algorithms to discriminate between patients of 9 different diseases. Notice that the visualization of multiclass ROC curves can be achieved in a similar way to what was described in this chapter. In addition, the R package pROC provides handy functions to build multiclass visualizations.\n\n\n\nSu, Qi, Qin Liu, Raphaela Iris Lau, Jingwan Zhang, Zhilu Xu, Yun Kit Yeoh, Thomas W. H. Leung, et al. 2022. “Faecal Microbiome-Based Machine Learning for Multi-Class Disease Diagnosis.” Nature Communications 13 (1). https://doi.org/10.1038/s41467-022-34405-3.\n\n21.6.2 Regression\nIn this chapter RF was used to learn patterns in the gut microbiome to predict the BMI of the participants. The most used diagnostic visualization of model’s performance is to compare observed against predicted BMI values.\nThe code below is used to generate that plot using the observations in the test data.\n\n# Get the test set: data not used in training the model\ntest_data &lt;- rf_regression[[\"test_data\"]]\n\n# Get the trained model\nmodel &lt;- rf_regression[[\"trained_model\"]][[\"finalModel\"]]\n\n# Use the model to predict BMI values in the test set\npred &lt;- predict(model, test_data)\n\n# Add predicted BMI values to the test dataset\ntest_data$pred &lt;- pred\n# Add diagnosis status to test data.\n# This variable was created when preprocessing for classification\nids &lt;- rownames(test_data)\ntest_data$disease &lt;- colData(tse)[ids, \"disease\"]\n\ntable(test_data$disease)\n##  \n##      T2D healthy \n##       36      32\n\n# Plot actual (y-axis) vs predicted (x-axis) BMI values\nobs_vs_pred &lt;- ggplot(data = test_data) +\n    geom_point(aes(x = pred, y = BMI, color = disease), size = 2)\n# Add line showing perfect prediction\nobs_vs_pred &lt;- obs_vs_pred + geom_abline(color = \"grey30\", linetype = \"dashed\")\n# Make axes of same scale\nobs_vs_pred &lt;- obs_vs_pred + coord_equal(xlim = c(17, 30), ylim = c(17, 30))\n# Custom axes titles\nobs_vs_pred &lt;- obs_vs_pred + labs(x = \"Predicted BMI\", y = \"Observed BMI\")\n# Add custom theme and visualize the plot\nobs_vs_pred + theme_bw()\n\n\n\n\n\n\n\nThe dashed gray line in the plot above represents a perfect correlation between the observed and the model-predicted BMI values of each participant. Thus, the line indicates perfect performance of the model. We can see that while the predictions are around the mean BMI (close to 24), the observed values range approximately between 17 and 38, showing poor correlation between observed and predicted BMI values. Note that both groups show a similar spread in BMI.\nThis plot clearly indicates a poor performance of our model. This usually means that either the gut microbiome is not related to BMI, making it impossible for the model to use microbiome patterns to predict it, or that our model is overfitted. Since the RMSE for training (3.3819) and test (3.886) data are similar, we may conclude that gut microbiome composition is not informative of BMI.\nThis illustrate another important aspect of supervised ML. Regardless of the complexity of the models deployed, their predictive performance depends in their ability to learn meaningful patterns from the data. If such patterns don’t exist it would be impossible for the model to make accurate predictions. This is most likely what happened in this regression task. Notice that this can certainly happen in classification tasks too.",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/machine_learning.html#model-interpretation",
    "href": "pages/machine_learning.html#model-interpretation",
    "title": "21  Machine learning",
    "section": "\n21.7 Model interpretation",
    "text": "21.7 Model interpretation\nBesides the performance of the model, researchers are often interested in understanding what are the features that are affecting the model’s performance, a property of ML models called interpretability.\nML models have different degrees of interpretability. One way to understand how different features (e.g., taxonomic identity) affect model’s performance is by randomly permuting the values of that feature across samples and then evaluating the amount of change in a performance metric.\nFor simplicity, the code below shows how to determine feature importance only with the RF model trained for classification. However, minimal changes are required to determine feature importance for other models built in this chapter, like the XGBoost model used in classification or the RF model used in regression.\n\n# estimate features importance\nfeat_imp &lt;- get_feature_importance(\n    trained_model = rf_classification[[\"trained_model\"]],\n    test_data = rf_classification[[\"test_data\"]],\n    outcome_colname = \"disease\",\n    perf_metric_function = multiClassSummary,\n    perf_metric_name = \"AUC\",\n    class_probs = TRUE,\n    method = \"rf\",\n    seed = 1,\n    nperms = 5 # 1/20 of default to speed calculations up\n)\n\n# Identify the 10 most important features\nordered_features &lt;- order(feat_imp$perf_metric_diff, decreasing = TRUE)\nordered_features &lt;- ordered_features[1:10]\n\n# Retain only those features\nfeat_imp &lt;- feat_imp[ordered_features, ]\n\n# Conver column 'feat' into a factor to fix its order in the plot\nfeat_imp$feat &lt;- factor(feat_imp$feat, levels = rev(feat_imp$feat))\n\n# Plot mean feature importance with 95% CI\nggplot(feat_imp) +\n    geom_col(aes(x = perf_metric_diff, y = feat)) +\n    labs(x = \"Decrease in performance\", y = \"Feature\") +\n    theme_classic()\n\n\n\n\n\n\n\nThis plot shows the features with the highest effect on model’s performance. In other words, which features have most of the information required to differentiate between healthy participant and T2D patients. However, note that the differences in model performance are very close to zero, which indicates a small contribution of each taxonomic feature in allowing the model to distinguish between groups.\nInterestingly, our results are coherent with what authors of the original analysis reported (Qin et al. 2012). For instance, they mention that F. prausnitzii and R. intestinalis (also within our most relevant features) are important nodes in the co-occurrence network enriched in healthy participants. On the other hand, they report several Clostridium representatives enriched in the T2D patients (see Figure 2A). This taxonomic feature was also reported as having the largest differences in the mean abundances between groups (Mei et al. 2024) (see Figures 2A and 2B).\n\nQin, Junjie, Yingrui Li, Zhiming Cai, Shenghui Li, Jianfeng Zhu, Fan Zhang, Suisha Liang, et al. 2012. “A Metagenome-Wide Association Study of Gut Microbiota in Type 2 Diabetes.” Nature 490: 55–60. https://doi.org/10.1038/nature11450.\n\nMei, Zhendong, Fenglei Wang, Amrisha Bhosle, Danyue Dong, Raaj Mehta, Andrew Ghazi, Yancong Zhang, et al. 2024. “Strain-Specific Gut Microbial Signatures in Type 2 Diabetes Identified in a Cross-Cohort Analysis of 8,117 Metagenomes.” Nature Medicine 30 (8): 2265–76. https://doi.org/10.1038/s41591-024-03067-7.\n\n\n\n\n\n\nImportantImportant: A call to avoid oversimplifications\n\n\n\nFeature importance plots are often interpreted in the literature with a reductionist mindset. Thus, researchers often conclude that a single feature is responsible of a complex clinical output of interest. However, more often than not, microbes interact with one another, and thus the effect of a single taxonomic feature doesn’t always inform about ecosystem-level properties of the microbiome. It is important to bear that in mind when interpreting the results of our models.\n\n\n\n\n\n\n\n\nTipExercises\n\n\n\nGoal: After completing these exercises, you should be able to fit supervised machine learning model utilizing multi-assay data.\nExercise 1: Supervised ML\n\nLoad any of the example datasets mentioned in Section 4.2.\nObserve colData and check that the metadata includes outcome variables that you want to model.\nVisualize the selected outcome variable with a histogram or a bar plot. What is the distribution? If the distribution is biased, how can this affect the training of the model?\nApply CLR transformation.\nPreprocess data by removing features with near-zero variance and by grouping correlated features.\nFit a random forest model with find_feature_importance = TRUE.\nVisualize results. Do the model perform well by predicting the outcome with a high accuracy?\nWhat features are the most important for predicting the outcome?\n\nUseful functions:\nutils::data(), SummarizedExperiment::colData(), miaViz::plotHistogram(), miaViz::plotBarplot(), mia::subsetByPrevalent(), mia::transformAssay(), mikropml::preprocess_data(), mikropml::run_ml(), mikropml::plot_model_performance()",
    "crumbs": [
      "Machine learning & statistical modeling",
      "<span class='chapter-number'>21</span>  <span class='chapter-title'>Machine learning</span>"
    ]
  },
  {
    "objectID": "pages/training.html",
    "href": "pages/training.html",
    "title": "22  Training",
    "section": "",
    "text": "22.1 Checklist\nThe page provides practical information to support training and self-study.\nBrief checklist to prepare for training (see below for links).",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>22</span>  <span class='chapter-title'>Training</span>"
    ]
  },
  {
    "objectID": "pages/training.html#sec-checklist",
    "href": "pages/training.html#sec-checklist",
    "title": "22  Training",
    "section": "",
    "text": "Install the recommended software\nIf the time allows, watch the short online videos and familiarize yourself with the other available material\nJoin Gitter online chat for support",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>22</span>  <span class='chapter-title'>Training</span>"
    ]
  },
  {
    "objectID": "pages/training.html#sec-software",
    "href": "pages/training.html#sec-software",
    "title": "22  Training",
    "section": "\n22.2 Recommended software",
    "text": "22.2 Recommended software\nWe recommend installing and setting up the relevant software packages on your own computer as this will support later use. The essential components to install include:\n\nR (the latest official release)\nRStudio; choose “Rstudio Desktop” to download the latest version. Check the Rstudio home page for more information. RStudio is optional.\nInstall key R packages (Section 2.3.2 provides an installation script)\n\nOnce you’ve successfully installed the software, consider exploring examples from Chapter 23 even before starting the training. Running the workflows is easy — just copy and paste the examples. You can then try additional examples from the book, adapting and applying the techniques to your own data. Source code for each chapter is available on Github.",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>22</span>  <span class='chapter-title'>Training</span>"
    ]
  },
  {
    "objectID": "pages/training.html#sec-material",
    "href": "pages/training.html#sec-material",
    "title": "22  Training",
    "section": "\n22.3 Study material",
    "text": "22.3 Study material\nWe encourage you to familiarize yourself with the material and test examples in advance but this is optional. If you’re new to this topic, the following resources may be particularly helpful.\n\nInteractive R tutorials for beginners\nIntroduction to R (available in CSC Noppe, see Section 22.4)\nIntroduction to data analysis with R and Bioconductor (for beginners with R)\nShort online videos on microbiome data science with R/Bioconductor\nQuarto presentations\nOrchestrating Microbiome Analysis with Bioconductor (OMA) (this book)\nOther outreach material\nChapter 23 for self-study\nChapter 25 for links to complementary external material",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>22</span>  <span class='chapter-title'>Training</span>"
    ]
  },
  {
    "objectID": "pages/training.html#sec-vm",
    "href": "pages/training.html#sec-vm",
    "title": "22  Training",
    "section": "\n22.4 Virtual machines and learning environments",
    "text": "22.4 Virtual machines and learning environments\nIn most of the training courses, we use learning environments that have necessary software installed. Check from course details, if this applies to the course that you are participating.\nIn most training courses, we use learning environments with the required software pre-installed. Please check the course details to see if this applies to your course (you can get the join code from course organizers).\n\nCSC Noppe (formerly Notebooks) is available for users with accounts at Finnish higher education institutions or state research institutes. For more information, visit this page.\nBioconductor workshops are accessible with a Bioconductor account, providing pre-installed Bioconductor software and workshops.",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>22</span>  <span class='chapter-title'>Training</span>"
    ]
  },
  {
    "objectID": "pages/exercises.html",
    "href": "pages/exercises.html",
    "title": "23  Exercises",
    "section": "",
    "text": "23.1 Basics of R/Bioconductor\nYou can find assignments from the end of each chapters. For example solutions, see Appendix B.\nBioconductor training material has been contributed to Carpentries. You can check the following lessons for basic background of R and Bioconductor.",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>23</span>  <span class='chapter-title'>Exercises</span>"
    ]
  },
  {
    "objectID": "pages/exercises.html#basics-of-rbioconductor",
    "href": "pages/exercises.html#basics-of-rbioconductor",
    "title": "23  Exercises",
    "section": "",
    "text": "Introduction to data analysis with R and Bioconductor\nIntroduction to the Bioconductor project",
    "crumbs": [
      "Training",
      "<span class='chapter-number'>23</span>  <span class='chapter-title'>Exercises</span>"
    ]
  },
  {
    "objectID": "pages/support.html",
    "href": "pages/support.html",
    "title": "24  Support",
    "section": "",
    "text": "24.1 FindingPheno\nThis project received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement No 952914 (FindingPheno).",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>24</span>  <span class='chapter-title'>Support</span>"
    ]
  },
  {
    "objectID": "pages/support.html#online-support",
    "href": "pages/support.html#online-support",
    "title": "24  Support",
    "section": "24.2 Online support",
    "text": "24.2 Online support\nFor online support on installation and other matters, join us on:\n\nGitHub discussion forum\nBioconductor Zulip\nMailing list",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>24</span>  <span class='chapter-title'>Support</span>"
    ]
  },
  {
    "objectID": "pages/support.html#sec-coc",
    "href": "pages/support.html#sec-coc",
    "title": "24  Support",
    "section": "24.3 Code of Conduct",
    "text": "24.3 Code of Conduct\nWe support the Bioconductor Code of Conduct. The community values an open approach to science that promotes:\n\nsharing of ideas, code, software and expertise\na kind and welcoming environment, diversity and inclusivity\ncommunity contributions and collaboration",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>24</span>  <span class='chapter-title'>Support</span>"
    ]
  },
  {
    "objectID": "pages/resources.html",
    "href": "pages/resources.html",
    "title": "25  Resources",
    "section": "",
    "text": "25.1 Data containers",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>25</span>  <span class='chapter-title'>Resources</span>"
    ]
  },
  {
    "objectID": "pages/resources.html#data-containers",
    "href": "pages/resources.html#data-containers",
    "title": "25  Resources",
    "section": "",
    "text": "25.1.1 Data container documentation\n\n\nSingleCellExperiment (Lun and Risso 2020)\n\nOnline tutorial\nPublication\n\n\n\nSummarizedExperiment (Morgan et al. 2020)\n\nOnline tutorial\n\n\n\nTreeSummarizedExperiment (Huang 2020)\n\nOnline tutorial\nPublication\n\n\n\nMultiAssayExperiment (Ramos et al. 2017)\n\nOnline tutorial\nPublication\n\n\n\nLun, Aaron, and Davide Risso. 2020. SingleCellExperiment: S4 Classes for Single Cell Data.\n\nMorgan, Martin, Valerie Obenchain, Jim Hester, and Hervé Pagès. 2020. SummarizedExperiment: SummarizedExperiment Container. https://bioconductor.org/packages/SummarizedExperiment.\n\nHuang, Ruizhu. 2020. TreeSummarizedExperiment: A S4 Class for Data with Tree Structures.\n\n25.1.2 Other relevant containers\n\n\nDataFrame which behaves similarly to data.frame, yet efficient and fast when used with large datasets.\n\nDNAString along with DNAStringSet,RNAString and RNAStringSet efficient storage and handling of long biological sequences are offered within the Biostrings package (Pagès et al. 2020).\n\nGenomicRanges (Lawrence et al. 2013) offers an efficient representation and manipulation of genomic annotations and alignments, see e.g. GRanges and GRangesList from An Introduction to the GenomicRanges Package.\n\n\nPagès, H., P. Aboyoun, R. Gentleman, and S. DebRoy. 2020. Biostrings: Efficient Manipulation of Biological Strings. https://bioconductor.org/packages/Biostrings.\n\nLawrence, Michael, Wolfgang Huber, Hervé Pagès, Patrick Aboyoun, Marc Carlson, Robert Gentleman, Martin Morgan, and Vincent Carey. 2013. “Software for Computing and Annotating Genomic Ranges.” PLoS Computational Biology 9. https://doi.org/10.1371/journal.pcbi.1003118.\nNGS Analysis Basics provides a walk-through of the above-mentioned features with detailed examples.\n\n25.1.3 phyloseq: an alternative container for microbiome data\nThe phyloseq package and class became the first widely used data container for microbiome data science in R. Many methods for taxonomic profiling data are readily available for this class. We provide here a short description how phyloseq and SummarizedExperiment classes relate to each other.\n\nassays: This slot is similar to otu_table in phyloseq. In a SummarizedExperiment object multiple assays, raw counts, transformed counts can be stored. See also Ramos et al. (2017) for storing data from multiple experiments such as RNASeq, Proteomics, etc.\nrowData: This slot is similar to tax_table in phyloseq to store taxonomic information.\ncolData: This slot is similar to sample_data in phyloseq to store information related to samples.\nrowTree: This slot is similar to tree.file in phyloseq to store phylogenetic tree.\n\n\nRamos, Marcel, Lucas Schiffer, Angela Re, Rimsha Azhar, Azfar Basunia, Carmen Rodriguez Cabrera, Tiffany Chan, et al. 2017. “Software for the Integration of Multiomics Experiments in Bioconductor.” Cancer Research. https://doi.org/10.1158/0008-5472.CAN-17-0344.\nIn this book, you will encounter terms such as FeatureIDs and SampleIDs.\n\nFeatureIDs: These are basically OTU/ASV ids which are row names in assays and rowData.\nSampleIDs: As the name suggests, these are sample ids which are column names in assays and row names in colData. FeatureIDs and SampleIDs are used but the technical terms rownames and colnames are encouraged to be used, since they relate to actual objects we work with.\n\n\n\n25.1.3.1 Benchmarking TreeSE with phyloseq\nTreeSummarizedExperiment objects can be converted into phyloseq objects and vice versa, therefore it is possible to compare the two containers in terms of computational efficiency. Remarkably, TreeSummarizedExperiment and phyloseq were benchmarked against one another in mia v1.2.3 and phyloseq v1.38.0, respectively. 5 standard microbiome analysis operations were applied to 4 datasets of varying size with both containers. In a nutshell, TreeSummarizedExperiment and phyloseq showed a similar performance for datasets of small and medium size for most of the operations. However, TreeSummarizedExperiment performed more efficiently as the size of the datasets increased. Further details on such results can be found in the benchmarking repository.\n\n25.1.3.2 Resources on phyloseq\nThe phyloseq container provides analogous methods to TreeSummarizedExperiment. The following material can be used to familiarize with such alternative methods:\n\nList of R tools for microbiome analysis\n\nphyloseq (McMurdie and Holmes 2013)\n\nmicrobiome tutorial\nmicrobiomeutilities\n\nphyloseq / TreeSummarizedExperiment cheatsheet from Appendix A\n\nBioconductor Workflow for Microbiome Data Analysis: from raw reads to community analyses (Callahan et al. 2016).\n\nMcMurdie, PJ, and S Holmes. 2013. “Phyloseq: An r Package for Reproducible Interactive Analysis and Graphics of Microbiome Census Data.” PLoS ONE 8: e61217. https://doi.org/10.1371/journal.pone.0061217.\n\nCallahan, Ben J., Kris Sankaran, Julia A. Fukuyama, Paul J. McMurdie, and Susan P. Holmes. 2016. “Bioconductor Workflow for Microbiome Data Analysis: From Raw Reads to Community Analyses [Version 2; Peer Review: 3 Approved].” F1000Research 5: 1492. https://doi.org/10.12688/f1000research.8986.2.",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>25</span>  <span class='chapter-title'>Resources</span>"
    ]
  },
  {
    "objectID": "pages/resources.html#r-programming-resources",
    "href": "pages/resources.html#r-programming-resources",
    "title": "25  Resources",
    "section": "\n25.2 R programming resources",
    "text": "25.2 R programming resources\n\n25.2.1 Base R and RStudio\nIf you are new to R, you could try swirl for a kickstart to R programming. Further support resources are available through the Bioconductor project (Huber et al. 2015).\n\nBase R and RStudio cheatsheets\nPackage-specific cheatsheets\nVisualization with ggplot2\n\nR graphics cookbook\n\n25.2.2 Bioconductor Classes\nIntroduction to data analysis with R and Bioconductor; Carpentries introduction, including R & RStudio installation instructions\nS4 system\nS4 class system has brought several useful features to the object-oriented programming paradigm within R, and it is constantly deployed in R/Bioconductor packages (Huber et al. 2015).\n\nHuber, W., V. J. Carey, R. Gentleman, S. Anders, M. Carlson, B. S. Carvalho, H. C. Bravo, et al. 2015. “Orchestrating High-Throughput Genomic Analysis with Bioconductor.” Nature Methods 12 (2): 115–21. http://www.nature.com/nmeth/journal/v12/n2/full/nmeth.3252.html.\n  Online Document:\n\nHervé Pagès, A quick overview of the S4 class system.\nLaurent Gatto, A practical tutorial on S4 programming\n\nHow S4 Methods Work (J. Chambers 2006)\n\n\n\nChambers, JM. 2006. “How S4 Methods Work.” Technical report.\n  Books:\n\nJohn M. Chambers. Software for Data Analysis: Programming with R. Springer, New York, 2008. ISBN-13 978-0387759357 (J. M. Chambers 2008)\n\nI Robert Gentleman. R Programming for Bioinformatics. Chapman & Hall/CRC, New York, 2008. ISBN-13 978-1420063677 (Gentleman 2008)\n\n\nChambers, John M. 2008. Software for Data Analysis: Programming with r. Vol. 2. Springer.\n\nGentleman, Robert. 2008. R Programming for Bioinformatics. CRC Press.",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>25</span>  <span class='chapter-title'>Resources</span>"
    ]
  },
  {
    "objectID": "pages/resources.html#sec-quarto",
    "href": "pages/resources.html#sec-quarto",
    "title": "25  Resources",
    "section": "\n25.3 Reproducible reporting with Quarto",
    "text": "25.3 Reproducible reporting with Quarto\n\n25.3.1 Learn Quarto\nReproducible reporting is the starting point for robust interactive data science. Perform the following tasks:\n\nIf you are entirely new to Quarto, take this short tutorial to get introduced to the most important functions within Quarto. Then experiment with different options from the Quarto cheatsheet.\nCreate a Quarto template in RStudio, and render it into a document (markdown, PDF, docx or other format). In case you are new to Quarto, its documentation provides guidelines to use Quarto with the R language (here) and the RStudio IDE (here).\nFurther examples are tips for Quarto are available in this online tutorial to interactive reproducible reporting.\n\n25.3.2 Additional material on Rmarkdown\nBeing able to use Quarto in R partly relies on your previous knowledge of Rmarkdown. The following resources can help you get familiar with Rmarkdown:\n\nOnline tutorial\nCheatsheet\nDocumentation\nDr. C Titus Brown’s tutorial\n\nFigure sources:\nOriginal article\n\nHuang R et al. (2021) TreeSummarizedExperiment: a S4 class for data with hierarchical structure. F1000Research 9:1246. (Huang et al. 2021)\n\n\n\nHuang, Ruizhu, Charlotte Soneson, Felix G. M. Ernst, et al. 2021. “TreeSummarizedExperiment: A S4 Class for Data with Hierarchical Structure [Version 2; Peer Review: 3 Approved].” F1000Research 9: 1246. https://doi.org/10.12688/f1000research.26669.2.\nReference Sequence slot extension\n\nLahti L et al. (2020) Upgrading the R/Bioconductor ecosystem for microbiome research F1000Research 9:1464 (slides).\n\n25.3.3 Further reading\nThe following online books provide good general data science background:\n\nData science basics in R\n\nModern Statistics for Modern Biology open access book (Holmes S, Huber W)\n\nThe Bioconductor project (background on the Bioconductor project; Carpentries workshop)",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>25</span>  <span class='chapter-title'>Resources</span>"
    ]
  },
  {
    "objectID": "pages/contributions.html",
    "href": "pages/contributions.html",
    "title": "\n26  Contributions\n",
    "section": "",
    "text": "Core team\nContributions to this Gitbook from the various developers are coordinated by:\n\nLeo Lahti, DSc, professor in Data Science in the Department of Computing, University of Turku, Finland, with a focus on computational microbiome analysis. Lahti obtained a doctoral degree (DSc) from Aalto University in Finland (2010), developing probabilistic machine learning with applications to high-throughput life science data integration. Since then, he has focused on microbiome research and developed, for instance, the phyloseq-based microbiome R package before starting to develop the TreeSummarizedExperiment / MultiAssayExperiment framework and the mia family of Bioconductor packages for microbiome data science introduced in this Gitbook. Lahti led the development of national policy on open access to research methods in Finland. He is a current member in the Bioconductor Community Advisory and runs regular training workshops in microbiome data science.\nTuomas Borman, PhD researcher and the lead developer of OMA/mia at the Department of Computing, University of Turku.\nContributors\nThis work is a remarkably collaborative effort. The full list of contributors is available via Github. Some key authors/contributors include:\n\nFelix Ernst, PhD, among the first developers of R/Bioc methods for microbiome research based on the SummarizedExperiment class and its derivatives.\nGiulio Benedetti, scientific programmer at the Department of Computing, University of Turku. His research interest is mostly related to Data Science. He has also helped to expand the SummarizedExperiment-based microbiome analysis framework to the Julia language, implementing MicrobiomeAnalysis.jl.\nSudarshan Shetty, PhD has supported the establishment of the framework and associated tools. He also maintains a list of microbiome R packages.\nHenrik Eckermann contributed in particular to the development of differential abundance analyses.\nChouaib Benchraka provided various contributions to the package ecosystem and the OMA book.\nYağmur Şimşek converted the miaSim R package to support the Bioconductor framework.\nBasil Courbayre provided various contributions to the package ecosystem and the OMA book, in particular on unsupervised machine learning.\nMatti Ruuskanen, PhD, added machine learning techniques for microbiome analysis.\nStefanie Peschel has contributed chapters on the construction, analysis, and comparison of microbial association networks.\nChristian L. Müller, group leader at the Computational Health Center, Helmholtz Zentrum München, Germany and a Professor for Biomedical Statistics and Data Science at LMU Munich. He assisted in writing the chapters on network learning and comparison.\nShigdel Rajesh, PhD\nArtur Sannikov\nAkewak Jeba\nHimmi Lindgren\nLu Yang\nKatariina Pärnänen\nNoah de Gunst\nAxel Dagnaud\nEly Seraidarian\nThéotime Pralas\nGeraldson Muluh\nJiya Chaudhary\nElina Chiesa\nPande Erawijantari\nShadman Ishraq\nSam Hillman\nMatteo Calgaro\nBasil Courbayre Dussau\nYang Cao\nEineje Ameh\nDomenick J. Braccia\nRenuka Potbhare\nHervé Pagès\nMoritz E. Beber\nVivian Ikeh\nYu Gao\nDaniel Garza\nKaroline Faust\nJacques Serizay converted the OMA book to the BiocBook format. This allows the OMA book to be built and distributed by Bioconductor.\nHimel Mallick, PhD, FASA, principal investigator and tenure-track faculty at Cornell University’s Department of Population Health Sciences and an adjunct faculty of Statistics and Data Science at Bowers College of Computing and Information Science. He contributed to the chapters on meta-analyses, microbe set enrichment analysis (MSEA) and multi-omics prediction and classification.\nYihan Liu, assisted Dr. Mallick in writing the chapters on meta-analyses, MSEA and multi-omics prediction and classification.\nDanielle Callan\nBen Allen\nTeo Dallier\nElliot Gaudron-Parry\nInès Benseddik\nJesse Pasanen\nBenjamin Valderrama contributed to the supervised machine learning chapter.\nJuho Pelto\nSigne Nynäs\nAcknowledgments\nThis work would not have been possible without the countless contributions and interactions with other researchers, developers, and users. We express our gratitude to the entire Bioconductor community for developing this high-quality open research software repository for life science analytics, continuously pushing the limits in emerging fields (Gentleman et al. 2004; Huber et al. 2015).\n\nGentleman, Robert C, Vincent J Carey, Douglas M Bates, Ben Bolstad, Marcel Dettling, Sandrine Dudoit, Byron Ellis, et al. 2004. “Bioconductor: Open Software Development for Computational Biology and Bioinformatics.” Genome Biology 5: R80.\n\nHuber, W., V. J. Carey, R. Gentleman, S. Anders, M. Carlson, B. S. Carvalho, H. C. Bravo, et al. 2015. “Orchestrating High-Throughput Genomic Analysis with Bioconductor.” Nature Methods 12 (2): 115–21. http://www.nature.com/nmeth/journal/v12/n2/full/nmeth.3252.html.\n\nHuang, Ruizhu. 2020. TreeSummarizedExperiment: A S4 Class for Data with Tree Structures.\n\nErnst, F. G. M., S. A. Shetty, R. Huang, Braccia D. J., Bravo H. C., and L. Lahti. 2020. “The Emerging r Ecosystem for Microbiome Research.” F1000Research 9. https://doi.org/10.7490/f1000research.1118445.1.\n\nRamos, Marcel, Lucas Schiffer, Angela Re, Rimsha Azhar, Azfar Basunia, Carmen Rodriguez Cabrera, Tiffany Chan, et al. 2017. “Software for the Integration of Multiomics Experiments in Bioconductor.” Cancer Research. https://doi.org/10.1158/0008-5472.CAN-17-0344.\n\nShetty, Sudarshan, and Leo Lahti. 2019. “Microbiome Data Science.” Journal of Biosciences 44: 115. https://doi.org/10.1007/s12038-019-9930-2.\nThe presented framework for microbiome data science is based on the TreeSummarizedExperiment data container created by Huang (2020) and Ernst et al. (2020), and on the MultiAssayExperiment by Ramos et al. (2017). The idea of using these containers as a basis for microbiome data science was initially advanced by the groundwork of Domenick Braccia, Héctor Corrada Bravo and others and brought together with other microbiome data science developers (Shetty and Lahti 2019). Setting up the base ecosystem of packages and tutorials was subsequently led by Tuomas Borman, Felix Ernst, and Leo Lahti. We would specifically like to thank everyone who contributed to the work supporting the TreeSummarizedExperiment ecosystem for microbiome research, including but not limited to the R packages mia, miaViz, miaTime, miaSim, philr, ANCOMBC, curatedMetagenomicData, scater, scuttle, and other packages, some of which are listed in Chapter 2. A number of other contributors have advanced the ecosystem further, and will be acknowledged in the individual packages, pull requests, issues, and other work.\nAmple demonstration data resources supporting this framework have been made available through the curatedMetagenomicData project by Edoardo Pasolli, Lucas Schiffer, Levi Waldron and others (Pasolli et al. 2017).\n\nPasolli, Edoardo, Lucas Schiffer, Paolo Manghi, Audrey Renson, Valerie Obenchain, Duy Tin Truong, Francesco Beghini, et al. 2017. “Accessible, Curated Metagenomic Data Through ExperimentHub.” Nature Methods 14 (11): 1023–24. https://doi.org/https://doi.org/10.1038/nmeth.4468.\n\nMcMurdie, PJ, and S Holmes. 2013. “Phyloseq: An r Package for Reproducible Interactive Analysis and Graphics of Microbiome Census Data.” PLoS ONE 8: e61217. https://doi.org/10.1371/journal.pone.0061217.\n\nAmezquita, Robert A., Aaron T. L. Lun, Etienne Becht, Vince J. Carey, Lindsay N. Carpp, Ludwig Geistlinger, Federico Marini, et al. 2020. “Orchestrating Single-Cell Analysis with Bioconductor.” Nature Methods 17: 137–45. https://doi.org/10.1038/s41592-019-0654-x.\nThe work has drawn initial inspiration from many sources, most notably from the work on phyloseq by Paul McMurdie and Susan Holmes (McMurdie and Holmes 2013) who pioneered the work on rigorous and reproducible microbiome data science ecosystems in R/Bioconductor. The phyloseq framework continues to provide a vast array of complementary packages and methods for microbiome studies. The Orchestrating Single-Cell Analysis with Bioconductor, or OSCA book by Robert Amezquita, Aaron Lun, Stephanie Hicks, and Raphael Gottardo (Amezquita et al. 2020), has implemented closely related work on the SummarizedExperiment data container and its derivatives in the field of single cell sequencing studies that have inspired this work.\nIn the background, the open source books by Susan Holmes and Wolfgang Huber, Modern Statistics for Modern Biology (Holmes and Huber 2019) and by Garret Grolemund and Hadley Wickham, the R for Data Science (Grolemund and Wickham 2017), and Richard McElreath’s Statistical Rethinking and the associated online resources by Solomon Kurz (McElreath 2020) are key references that have advanced reproducible data science training and dissemination.\n\nHolmes, Susan, and Wolfgang Huber. 2019. Modern Statistics for Modern Biology. New York, NY: Cambridge University Press. https://www.huber.embl.de/msmb/.\n\nGrolemund, Garret, and Hadley Wickham. 2017. R for Data Science. Vol. 77(21); e39–42. O’Reilly.\n\nMcElreath, R. 2020. Statistical Rethinking. Chapman; Hall/CRC.\n\n26.0.1 How to contribute\nTo contribute to the project, please follow the Git flow procedure introduced below. See instructions to get started with Github:\n\n\nFork the project\n\nClone your fork\n\nModify the material\nCheck locally that the changes render successfully\n\nAdd and commit the changes to your fork\n\nCreate a pull request from your fork back to the original repository\nFix and discuss issues in a review process.\n\nMore detailed instructions for contributing can be found on OMA README.\nSupport\nThis work has been supported by:\n\nResearch Council of Finland\nFindingPheno European Union’s Horizon 2020 research and innovation program under grant agreement No 952914\nCOST Action network on Statistical and Machine Learning Techniques for Human Microbiome Studies (ML4microbiome) (Moreno-Indias et al. 2021)\nComputational and Molecular Methodologies for Life Sciences (CompLifeSci) Research Program, Biocity Turku\nTurku University Foundation\n\n\n\n\nMoreno-Indias, Isabel, Leo Lahti, Miroslava Nedyalkova, Ilze Elbere, Gennady V. Roshchupkin, Muhamed Adilovic, Onder Aydemir, et al. 2021. “Statistical and Machine Learning Techniques in Human Microbiome Studies: Contemporary Challenges and Solutions.” Frontiers in Microbiology 12: 277. https://doi.org/10.3389/fmicb.2021.635781.\n\n Back to top",
    "crumbs": [
      "Support & resources",
      "<span class='chapter-number'>26</span>  <span class='chapter-title'>Contributions</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html",
    "href": "pages/phyloseq_cheatsheet.html",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "",
    "text": "A.1 Accessing different types of data in phyloseq versus TreeSE\nThis section has a cheatsheet for translating common functions in phyloseq to TreeSummarizedExperiment (TreeSE) / mia with example code.\nStart by loading data as a phyloseq object phy and as TreeSE object tse.\nOften microbiome datasets contain three different types of tables, one which defines the microbes’ taxonomy from domain to species level, one that describes sample level information like whether the sample is from a healthy or a diseased person, and one that has the abundances of taxa from mapping, like an OTU table.\nThere are slightly different names for these tables in phyloseq and TreeSE, but they can be retrieved from the phyloseq and TreeSE containers in analogous ways.\nAccessing the table of taxonomic names: tax_table = rowData\nphyloseq and TreeSE objects’ taxonomy tables can be accessed with tax_table() and rowData() commands.\nphy_taxtable &lt;-\n    tax_table(phy) |&gt; # Access the phyloseq taxonomic name table\n    data.frame() # Make into a data frame\n\ntse_taxtable &lt;- rowData(tse) |&gt; # Same for tse\n    data.frame()\nAccessing sample data: sample_data = colData\nSample data can be accessed with sample_data() and colData() commands.\nphy_sampledata &lt;-\n    sample_data(phy) |&gt; data.frame()\n\ntse_sampledata &lt;-\n    colData(tse) |&gt; data.frame()\nAccessing operational taxonomic unit (OTU) abundance objects: otu_table = assay\nOTU tables can be accessed with otu_table() and assay() commands. The assay can also hold other types of information like taxa abundances from shotgun metagenomic annotation, or functional gene abundances.\nphy_otutable &lt;-\n    otu_table(phy) |&gt; data.frame()\n\ntse_otutable &lt;-\n    assay(tse) |&gt; data.frame()",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#building-phyloseq-objects-vs-treese-objects-phyloseq-treesummarizedexperiment",
    "href": "pages/phyloseq_cheatsheet.html#building-phyloseq-objects-vs-treese-objects-phyloseq-treesummarizedexperiment",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.2 Building phyloseq objects vs TreeSE objects: phyloseq = TreeSummarizedExperiment",
    "text": "A.2 Building phyloseq objects vs TreeSE objects: phyloseq = TreeSummarizedExperiment\nAfter learning how to access various data types from TreeSE, let’s see how creating TreeSE objects compares to creating phyloseq objects. We will use the vanilla data frames we created from the phyloseq object to demonstrate making both types of data objects. These are identical to the equivalent tse data frames but for demonstration we will use ones created from phy.\nLet’s start by checking what we have.\n\nphy_otutable |&gt; head()\n##         CL3 CC1 SV1 M31Fcsw M11Fcsw M31Plmr M11Plmr F21Plmr M31Tong M11Tong\n##  549322   0   0   0       0       0       0       0       0       0       0\n##  522457   0   0   0       0       0       0       0       0       0       0\n##  951      0   0   0       0       0       0       1       0       0       0\n##  244423   0   0   0       0       0       0       0       0       0       0\n##  586076   0   0   0       0       0       0       0       0       0       0\n##  246140   0   0   0       0       0       0       0       0       0       0\n##         LMEpi24M SLEpi20M AQC1cm AQC4cm AQC7cm NP2 NP3 NP5 TRRsed1 TRRsed2\n##  549322        0        1     27    100    130   1   0   0       0       0\n##  522457        0        0      0      2      6   0   0   0       0       0\n##  951           0        0      0      0      0   0   0   0       0       0\n##  244423        0        0      0     22     29   0   0   0       0       0\n##  586076        0        0      0      2      1   0   0   0       0       0\n##  246140        0        0      0      1      3   0   0   0       0       0\n##         TRRsed3 TS28 TS29 Even1 Even2 Even3\n##  549322       0    0    0     0     0     0\n##  522457       0    0    0     0     0     0\n##  951          0    0    0     0     0     0\n##  244423       0    0    0     0     0     0\n##  586076       0    0    0     0     0     0\n##  246140       0    0    0     0     0     0\nphy_sampledata |&gt; head()\n##          X.SampleID  Primer Final_Barcode Barcode_truncated_plus_T\n##  CL3            CL3 ILBC_01        AACGCA                   TGCGTT\n##  CC1            CC1 ILBC_02        AACTCG                   CGAGTT\n##  SV1            SV1 ILBC_03        AACTGT                   ACAGTT\n##  M31Fcsw    M31Fcsw ILBC_04        AAGAGA                   TCTCTT\n##  M11Fcsw    M11Fcsw ILBC_05        AAGCTG                   CAGCTT\n##  M31Plmr    M31Plmr ILBC_07        AATCGT                   ACGATT\n##          Barcode_full_length SampleType\n##  CL3             CTAGCGTGCGT       Soil\n##  CC1             CATCGACGAGT       Soil\n##  SV1             GTACGCACAGT       Soil\n##  M31Fcsw         TCGACATCTCT      Feces\n##  M11Fcsw         CGACTGCAGCT      Feces\n##  M31Plmr         CGAGTCACGAT       Skin\n##                                         Description\n##  CL3       Calhoun South Carolina Pine soil, pH 4.9\n##  CC1       Cedar Creek Minnesota, grassland, pH 6.1\n##  SV1     Sevilleta new Mexico, desert scrub, pH 8.3\n##  M31Fcsw    M3, Day 1, fecal swab, whole body study\n##  M11Fcsw   M1, Day 1, fecal swab, whole body study \n##  M31Plmr    M3, Day 1, right palm, whole body study\nphy_taxtable |&gt; head()\n##         Kingdom        Phylum        Class        Order        Family\n##  549322 Archaea Crenarchaeota Thermoprotei         &lt;NA&gt;          &lt;NA&gt;\n##  522457 Archaea Crenarchaeota Thermoprotei         &lt;NA&gt;          &lt;NA&gt;\n##  951    Archaea Crenarchaeota Thermoprotei Sulfolobales Sulfolobaceae\n##  244423 Archaea Crenarchaeota        Sd-NA         &lt;NA&gt;          &lt;NA&gt;\n##  586076 Archaea Crenarchaeota        Sd-NA         &lt;NA&gt;          &lt;NA&gt;\n##  246140 Archaea Crenarchaeota        Sd-NA         &lt;NA&gt;          &lt;NA&gt;\n##              Genus                  Species\n##  549322       &lt;NA&gt;                     &lt;NA&gt;\n##  522457       &lt;NA&gt;                     &lt;NA&gt;\n##  951    Sulfolobus Sulfolobusacidocaldarius\n##  244423       &lt;NA&gt;                     &lt;NA&gt;\n##  586076       &lt;NA&gt;                     &lt;NA&gt;\n##  246140       &lt;NA&gt;                     &lt;NA&gt;\n\nThese are all normal data frames which could come from upstream bioinformatics, like OTU tables that come from 16S analysis, and taxonomy tables.\nLet’s demo how to create the TreeSE object, how it compares to creating a phyloseq object and how assay in TreeSE compares to otu_table in phyloseq.\n\n\n# Create phyloseq object\nOTU_phy &lt;- otu_table(as.matrix(phy_otutable), taxa_are_rows = TRUE) # Make OTU table\nTAX_phy &lt;- tax_table(as.matrix(phy_taxtable)) # Make TAX table\nSAMPLE_phy &lt;- sample_data(phy_sampledata) # Make sample data table\n\nphy &lt;- phyloseq(OTU_phy, TAX_phy, SAMPLE_phy) # Combine into phyloseq object\nphy # Inspect\n##  phyloseq-class experiment-level object\n##  otu_table()   OTU Table:         [ 19216 taxa and 26 samples ]\n##  sample_data() Sample Data:       [ 26 samples by 7 sample variables ]\n##  tax_table()   Taxonomy Table:    [ 19216 taxa by 7 taxonomic ranks ]\n\nLet’s start by checking our OTU table, and see if it is counts or already normalized. We will use the same data frame extracted from the phy object as before.\n\n# Check if we have counts or normalized data\n\nphy_otutable |&gt; head()\n##         CL3 CC1 SV1 M31Fcsw M11Fcsw M31Plmr M11Plmr F21Plmr M31Tong M11Tong\n##  549322   0   0   0       0       0       0       0       0       0       0\n##  522457   0   0   0       0       0       0       0       0       0       0\n##  951      0   0   0       0       0       0       1       0       0       0\n##  244423   0   0   0       0       0       0       0       0       0       0\n##  586076   0   0   0       0       0       0       0       0       0       0\n##  246140   0   0   0       0       0       0       0       0       0       0\n##         LMEpi24M SLEpi20M AQC1cm AQC4cm AQC7cm NP2 NP3 NP5 TRRsed1 TRRsed2\n##  549322        0        1     27    100    130   1   0   0       0       0\n##  522457        0        0      0      2      6   0   0   0       0       0\n##  951           0        0      0      0      0   0   0   0       0       0\n##  244423        0        0      0     22     29   0   0   0       0       0\n##  586076        0        0      0      2      1   0   0   0       0       0\n##  246140        0        0      0      1      3   0   0   0       0       0\n##         TRRsed3 TS28 TS29 Even1 Even2 Even3\n##  549322       0    0    0     0     0     0\n##  522457       0    0    0     0     0     0\n##  951          0    0    0     0     0     0\n##  244423       0    0    0     0     0     0\n##  586076       0    0    0     0     0     0\n##  246140       0    0    0     0     0     0\n\nWe have counts!\nSince TreeSEs can hold many different versions of the OTU table, most commonly either relative abundances or counts, we will need to give our assay (which corresponds to otu_table in phyloseq) a name and list the different types of assays or transformations we have. In this example we only have one item ‘counts’ in the list.\nLet’s convert the data frame to a matrix and make the list of assays.\n\n# Create TreeSE\ncounts &lt;- as.matrix(phy_otutable) # Convert to a matrix\nassays &lt;- SimpleList(counts = counts)\ntse &lt;- TreeSummarizedExperiment(\n    assays = assays,\n    colData = phy_sampledata,\n    rowData = phy_taxtable\n)\n\nLet’s check the different assay names we have.\n\nassayNames(tse)\n##  [1] \"counts\"",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#handling-different-otu-table-normalizations-in-phyloseq-vs-treese",
    "href": "pages/phyloseq_cheatsheet.html#handling-different-otu-table-normalizations-in-phyloseq-vs-treese",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.3 Handling different OTU table normalizations in phyloseq vs TreeSE",
    "text": "A.3 Handling different OTU table normalizations in phyloseq vs TreeSE\nAdding the assays as a list might seem inconvenient if you only have one type of OTU table (counts in our example), but let’s see why it is actually very convenient to be able to hold multiple assays in one data object.\nHere we’ll show an example of how to add relative abundances and CLR normalized OTU tables to your tse assays.\nWith phyloseq you would need three different phyloseq objects, each taking up 7.7 MB of memory, while the tse with the three assays takes up only 18.3 MB.\n\n# Add another assay that holds the relative abundance normalized OTU table\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"relabundance\")\nassays(tse) # Let's check\n##  List of length 2\n##  names(2): counts relabundance\n\n# With phyloseq you would need to have two different phyloseq objects\nphy_relab &lt;- transform_sample_counts(phy, function(x) {\n    x / sum(x)\n})\n\n# Let's add clr transformed data just for the fun of it :)\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"counts\",\n    method = \"clr\",\n    pseudocount = 1\n)\n\nassays(tse) # Let's check\n##  List of length 3\n##  names(3): counts relabundance clr\n\n# With phyloseq you would need to have a third phyloseq object.\n# phy_CLR &lt;- microbiome::transform(phy, 'clr') # Example, don't run",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#subsetting-samples-and-taxa",
    "href": "pages/phyloseq_cheatsheet.html#subsetting-samples-and-taxa",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.4 Subsetting samples and taxa",
    "text": "A.4 Subsetting samples and taxa\nSubsetting samples: subset_samples = indexing columns\nNext let’s learn how to subset samples. In phyloseq we use subset_samples() command, but since the sample data is stored in columns in the TreeSE, we can access it by indexing columns.\nIn this section we will remove the “Mock” samples and make new data objects.\n\nphy_nomock &lt;- subset_samples(\n    phy, !SampleType == \"Mock\"\n) # Removing mock samples in phyloseq\n\ntse_nomock &lt;- tse[, !tse$SampleType == \"Mock\"] # tse uses indexing columns\n\nLet’s see what we have now.\n\nphy |&gt;\n    sample_names() |&gt;\n    length()\n##  [1] 26\nphy_nomock |&gt;\n    sample_names() |&gt;\n    length()\n##  [1] 23\ncolnames(tse) |&gt; length()\n##  [1] 26\ncolnames(tse_nomock) |&gt; length()\n##  [1] 23\n\nWe have removed three samples that were SampleType “Mock”.\nSubsetting taxa: subset_taxa = indexing rows\nTaxa are stored in rows in TreeSE and the TreeSE equivalent to subset_taxa is indexing rows.\n\nphy_nomock_bacteria &lt;-\n    subset_taxa(phy_nomock, Kingdom == \"Bacteria\")\ntse_nomock_bacteria &lt;-\n    tse[tse$Kingdom == \"Bacteria\", ]\n\nphy_nomock_bacteria # We have 19008 taxa (only bacteria) and before 19216\n##  phyloseq-class experiment-level object\n##  otu_table()   OTU Table:         [ 19008 taxa and 23 samples ]\n##  sample_data() Sample Data:       [ 23 samples by 7 sample variables ]\n##  tax_table()   Taxonomy Table:    [ 19008 taxa by 7 taxonomic ranks ]\ntse_nomock_bacteria\n##  class: TreeSummarizedExperiment \n##  dim: 0 26 \n##  metadata(0):\n##  assays(3): counts relabundance clr\n##  rownames(0):\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(7): X.SampleID Primer ... SampleType Description\n##  reducedDimNames(0):\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#calculating-alpha-diversity-estimate_richness-estimatediversity",
    "href": "pages/phyloseq_cheatsheet.html#calculating-alpha-diversity-estimate_richness-estimatediversity",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.5 Calculating alpha diversity: estimate_richness = estimateDiversity",
    "text": "A.5 Calculating alpha diversity: estimate_richness = estimateDiversity\nNow we know how data stored in TreeSE can be accessed and the TreeSE data objects created. Let’s look at how we can calculate alpha diversity using mia compared to phyloseq package.\nThe mia command estimateDiversity() will return a TreeSE and the results are stored in colData, unlike the phyloseq command that outputs a data frame with just the diversity estimates.\nIn phyloseq you would need to add the alpha diversity separately to your sample data to keep it safe with the other sample level data.\n\n# Alpha diversity with phyloseq\ndf &lt;- estimate_richness(phy, measures = \"Shannon\")\ndf |&gt; head() # Inspect\n##           Shannon\n##  CL3     6.576517\n##  CC1     6.776603\n##  SV1     6.498494\n##  M31Fcsw 3.828368\n##  M11Fcsw 3.287666\n##  M31Plmr 4.289269\n\n# Add Shannon to the sample_data to keep results safe with other sample data\nphy_sampledata &lt;- sample_data(phy) |&gt; data.frame()\nphy_sampledata$shannon &lt;- df$Shannon\nsample_data(phy) &lt;- phy_sampledata\nsample_data(phy) |&gt; head() # Inspect\n##          X.SampleID  Primer Final_Barcode Barcode_truncated_plus_T\n##  CL3            CL3 ILBC_01        AACGCA                   TGCGTT\n##  CC1            CC1 ILBC_02        AACTCG                   CGAGTT\n##  SV1            SV1 ILBC_03        AACTGT                   ACAGTT\n##  M31Fcsw    M31Fcsw ILBC_04        AAGAGA                   TCTCTT\n##  M11Fcsw    M11Fcsw ILBC_05        AAGCTG                   CAGCTT\n##  M31Plmr    M31Plmr ILBC_07        AATCGT                   ACGATT\n##          Barcode_full_length SampleType\n##  CL3             CTAGCGTGCGT       Soil\n##  CC1             CATCGACGAGT       Soil\n##  SV1             GTACGCACAGT       Soil\n##  M31Fcsw         TCGACATCTCT      Feces\n##  M11Fcsw         CGACTGCAGCT      Feces\n##  M31Plmr         CGAGTCACGAT       Skin\n##                                         Description  shannon\n##  CL3       Calhoun South Carolina Pine soil, pH 4.9 6.576517\n##  CC1       Cedar Creek Minnesota, grassland, pH 6.1 6.776603\n##  SV1     Sevilleta new Mexico, desert scrub, pH 8.3 6.498494\n##  M31Fcsw    M3, Day 1, fecal swab, whole body study 3.828368\n##  M11Fcsw   M1, Day 1, fecal swab, whole body study  3.287666\n##  M31Plmr    M3, Day 1, right palm, whole body study 4.289269\n\nFor the tse we will need to specify which assay (which normalization of the OTU table) we want to use, since we have three options now with the counts, relative abundance and CLR. We can check the assay names first.\n\nassayNames(tse) # Check the assay names\n##  [1] \"counts\"       \"relabundance\" \"clr\"\n\ntse &lt;- estimateDiversity(tse, assay.type = \"counts\", index = \"shannon\") # Let's use counts\n##  Warning in estimateDiversity(tse, assay.type = \"counts\", index = \"shannon\"):\n##  'estimateDiversity' is deprecated. Use 'addAlpha' instead.\n# Inspect the new colData with added alpha diversity estimate\ncolData(tse) |&gt; names() # shannon has been added to the colData\n##  [1] \"X.SampleID\"               \"Primer\"                  \n##  [3] \"Final_Barcode\"            \"Barcode_truncated_plus_T\"\n##  [5] \"Barcode_full_length\"      \"SampleType\"              \n##  [7] \"Description\"              \"shannon\"\n\nIf we want to extract a data frame that only has the alpha diversity it can be done easily.\n\n# Extract\ndf &lt;- colData(tse) |&gt;\n    data.frame() |&gt;\n    dplyr::select(matches(\"shannon\"))",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#calculating-beta-diversity-ordinate-addmds",
    "href": "pages/phyloseq_cheatsheet.html#calculating-beta-diversity-ordinate-addmds",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.6 Calculating beta diversity: ordinate = addMDS",
    "text": "A.6 Calculating beta diversity: ordinate = addMDS\nWe can calculate PCoA with Bray-Curtis distances in phyloseq using the ordinate() command. The beta diversity calculation in mia outputs a TreeSE with a new type of data, reduced dimensions or reducedDim.\nHere we will use the scater package that runs the PCoA with addMDS(). (PCoA and MDS mean the same thing)\nIn phyloseq you would again need to add the dimensions to the sample data if you want to keep them safe with other metadata.\n\n# Run PCoA on the relative abundance data and store in phy_ord list\nphy_ord &lt;- ordinate(phy_relab, method = \"PCoA\", distance = \"bray\")\n\nlibrary(scater)\n##  Loading required package: scuttle\n\n# Ordinate with addMDS and implement the vegan's Bray-Curtis dissimilarity\n# distance calculation\ntse &lt;- addMDS(\n    tse,\n    FUN = getDissimilarity,\n    method = \"bray\",\n    assay.type = \"relabundance\",\n    name = \"MDS_bray\",\n    ncomponents = 10\n) # Let's also define how many dimensions\ntse # Inspect, now we have new reducedDim \"MDS_bray\"\n##  class: TreeSummarizedExperiment \n##  dim: 19216 26 \n##  metadata(0):\n##  assays(3): counts relabundance clr\n##  rownames(19216): 549322 522457 ... 200359 271582\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(8): X.SampleID Primer ... Description shannon\n##  reducedDimNames(1): MDS_bray\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#plotting-ordinations-plot_ordination-plotreduceddim",
    "href": "pages/phyloseq_cheatsheet.html#plotting-ordinations-plot_ordination-plotreduceddim",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.7 Plotting ordinations: plot_ordination() = plotReducedDim()\n",
    "text": "A.7 Plotting ordinations: plot_ordination() = plotReducedDim()\n\nphyloseq has it’s own plotting fuction for ordinations.\n\nplot_ordination(physeq = phy, ordination = phy_ord, color = \"SampleType\")\n##  Warning: `aes_string()` was deprecated in ggplot2 3.0.0.\n##  ℹ Please use tidy evaluation idioms with `aes()`.\n##  ℹ See also `vignette(\"ggplot2-in-packages\")` for more information.\n##  ℹ The deprecated feature was likely used in the phyloseq package.\n##    Please report the issue at &lt;https://github.com/joey711/phyloseq/issues&gt;.\n\n\n\n\n\n\n\nIt is also easy to plot the ordination stored in reducedDim in the tse using the plotReducedDim() function. We can first check what the name of the Bray-Curtis MDS/PCoA was in case we forgot.\n\n# Check reduced dim names\nreducedDimNames(tse)\n##  [1] \"MDS_bray\"\n\nLet’s plot.\n\n# Plot\nplotReducedDim(tse, \"MDS_bray\", color_by = \"SampleType\")\n\n\n\n\n\n\n# The sign is given arbitrarily. We can change it to match the plot_ordination\nreducedDim(tse)[, 1] &lt;- -reducedDim(tse)[, 1]\nreducedDim(tse)[, 2] &lt;- -reducedDim(tse)[, 2]\nplotReducedDim(tse, \"MDS_bray\", color_by = \"SampleType\")",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#agglomerating-taxa-tax_glom-agglomeratebyrank",
    "href": "pages/phyloseq_cheatsheet.html#agglomerating-taxa-tax_glom-agglomeratebyrank",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.8 Agglomerating taxa: tax_glom() = agglomerateByRank()\n",
    "text": "A.8 Agglomerating taxa: tax_glom() = agglomerateByRank()\n\nOften you might want to study your data using different taxonomic ranks, for example check if you see differences in the abundances of higher taxonomic levels.\n\nphy_fam &lt;- tax_glom(phy, taxrank = \"Family\")\n\nThis family level data object can again be conveniently stored in a tse object under altExp.\ntax_glom() removes the taxa which have not been assigned to the level given in taxrank by default (NArm = TRUE). So we will add the na.rm = TRUE to agglomerateByRank() function which is equivalent to the default behavior of tax_glom().\n\naltExp(tse, \"Family\") &lt;- agglomerateByRank(tse, rank = \"Family\")\n##  Warning: 'clr' includes negative values.\n##  Agglomeration of it might lead to meaningless values.\n##  Check the assay, and consider doing transformation againmanually with agglomerated data.\n##  Duplicated labels were made unique.\naltExp(tse, \"Family\")\n##  class: TreeSummarizedExperiment \n##  dim: 341 26 \n##  metadata(1): agglomerated_by_rank\n##  assays(3): counts relabundance clr\n##  rownames(341): 125ds10 211ds20 ... vadinHA31 wb1_P06\n##  rowData names(7): Kingdom Phylum ... Genus Species\n##  colnames(26): CL3 CC1 ... Even2 Even3\n##  colData names(8): X.SampleID Primer ... Description shannon\n##  reducedDimNames(1): MDS_bray\n##  mainExpName: NULL\n##  altExpNames(0):\n##  rowLinks: NULL\n##  rowTree: NULL\n##  colLinks: NULL\n##  colTree: NULL",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/phyloseq_cheatsheet.html#cheatsheet",
    "href": "pages/phyloseq_cheatsheet.html#cheatsheet",
    "title": "Appendix A — phyloseq vs TreeSE cheatsheet",
    "section": "\nA.9 Cheatsheet",
    "text": "A.9 Cheatsheet\n\n\n\n\n\n\n\n\n\nFunctionality\nphyloseq\nmia.TreeSE\n\n\n\nAccess sample data\nsample_data()\nIndex columns\n\n\nAccess tax table\ntax_table()\nIndex rows\n\n\nAccess OTU table\notu_table()\nassays()\n\n\nBuild data object\nphyloseq()\nTreeSummarizedExperiment()\n\n\nCalculate alpha diversity\nestimate_richness()\nestimateDiversity()\n\n\nCalculate beta diversity\nordinate()\naddMDS()\n\n\nPlot ordination\nplot_ordination()\nplotReducedDim()\n\n\nSubset taxa\nsubset_taxa()\nIndex rows\n\n\nSubset samples\nsubset_samples()\nIndex columns\n\n\nAggromerate taxa\ntax_glom()\nagglomerateByRank()\n\n\n\n\n\n\n\nData_type\nphyloseq\nTreeSE\n\n\n\nOTU table\notu_table\nassay\n\n\nTaxonomy table\ntax_table\nrowData\n\n\nSample data table\nsample_data\ncolData",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>A</span>  <span class='chapter-title'>phyloseq vs TreeSE cheatsheet</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html",
    "href": "pages/example_solutions.html",
    "title": "Appendix B — Example solutions for exercises",
    "section": "",
    "text": "B.1 Introduction\nThese example solutions are related to exercises in Chapter 1 and Chapter 2.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#data-containers",
    "href": "pages/example_solutions.html#data-containers",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.2 Data containers",
    "text": "B.2 Data containers\nThese example solutions are related to exercises in Chapter 3.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#import",
    "href": "pages/example_solutions.html#import",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.3 Import",
    "text": "B.3 Import\nThese example solutions are related to exercises in Chapter 4.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#convert-export",
    "href": "pages/example_solutions.html#convert-export",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.4 Convert & export",
    "text": "B.4 Convert & export\nThese example solutions are related to exercises in Chapter 5.\n\nShow the solution# Load example dataset\nlibrary(mia)\ndata(\"GlobalPatterns\", package = \"mia\")\ntse &lt;- GlobalPatterns\n\n# Convert to Phyloseq and reconvert to a new Dataset\nps &lt;- convertToPhyloseq(tse)\ntse_new &lt;- convertFromPhyloseq(ps)\n\n# Save the reconverted file to a RDS file and read it\nsaveRDS(tse_new, \"tse.rds\")\ntse_read &lt;- readRDS(\"tse.rds\")\n\n# Converting TreeSE to long format and writing it in a CSV file\nlf &lt;- meltSE(tse_read)\nwrite.csv(lf, \"long_format_tse.csv\")",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#taxonomic-information",
    "href": "pages/example_solutions.html#taxonomic-information",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.5 Taxonomic information",
    "text": "B.5 Taxonomic information\nThese example solutions are related to exercises in Chapter 6.\n\nShow the solution# load example dataset\nlibrary(mia)\nlibrary(miaViz)\ndata(\"Tengeler2020\", package = \"mia\")\ntse &lt;- Tengeler2020\n\n# Available taxonomic ranks\ntaxonomyRanks(tse)\n\n# Unique taxonomic features from class\ngetUnique(tse, rank = \"Order\")\n\n# Subsets the data and aligns the tree\ntse_sub &lt;- tse[1:15, ]\nrowTree(tse_sub)$Nnode\n\ntse_sub &lt;- subsetByLeaf(tse_sub, rowLeaf = rownames(tse_sub))\nrowTree(tse_sub)$Nnode\n\n# Creates plot for the phylogeny\np1 &lt;- plotRowTree(tse_sub)\n\n# Creates taxonomic tree\ntse_sub_hierarchy &lt;- tse_sub\ntse_sub_hierarchy &lt;- addHierarchyTree(tse_sub_hierarchy)\n\n# Creates plot for the taxonomic tree\np2 &lt;- plotRowTree(tse_sub_hierarchy)\n\n# Plots trees\nlibrary(patchwork)\np1 + p2",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#data-wrangling",
    "href": "pages/example_solutions.html#data-wrangling",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.6 Data wrangling",
    "text": "B.6 Data wrangling\nThese example solutions are related to exercises in Chapter 7.\n\nShow the solution# Load first example dataset\nlibrary(mia)\ndata(\"enterotype\", package = \"mia\")\ntse &lt;- enterotype\n\n# Visualize column metadata\ncolData(tse) |&gt; head()\n\n# Create variable 'group' containing 3 random classifications for each entry\ntse[[\"group\"]] &lt;- sample(\n    c(\"group_1\", \"group_2\", \"group_3\"),\n    ncol(tse),\n    replace = TRUE\n)\n\n# Plot how groups are distributed\nlibrary(miaViz)\nplotBarplot(tse, col.var = \"group\")\n\n# Split groups into two different tse objects and outputs a list\ntse_list &lt;- splitOn(tse, by = 2, group = \"group\")\n\n# Count numbers of entries in the group\ntse_list[[1]][[\"group\"]] |&gt; table()\ntse_list[[2]][[\"group\"]] |&gt; table()\ntse_list[[3]][[\"group\"]] |&gt; table()\n\n# Sum the abundances correspondent to each group and\n# merge them back into a single tse object\ntse_list &lt;- lapply(tse_list, function(x) {\n    mat &lt;- assay(x, \"counts\")\n    sum_val &lt;- sum(mat)\n    x[[\"summed_value\"]] &lt;- sum_val\n    return(x)\n})\ntse &lt;- unsplitOn(tse_list)\n\n# Load second example dataset and merges them\ndata(\"GlobalPatterns\")\ntse &lt;- mergeSEs(tse, GlobalPatterns)\ncolData(tse)",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#exploration-quality-control",
    "href": "pages/example_solutions.html#exploration-quality-control",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.7 Exploration & quality control",
    "text": "B.7 Exploration & quality control\nThese example solutions are related to exercises in Chapter 8.\n\nShow the solution# Load example dataset\nlibrary(mia)\nlibrary(miaViz)\nlibrary(scuttle)\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# Plot counts with a histogram\nplotHistogram(tse, assay.type = \"counts\")\n\n# Add prevalence to rowData\ntse &lt;- addPrevalence(tse)\n\n# Plot the distribution of prevalence values\nplotHistogram(tse, row.var = \"prevalence\")\n\n# Add library size to colData\ntse &lt;- addPerCellQCMetrics(tse)\n# And visualize them\nplotHistogram(tse, col.var = \"total\")\n\n# Plot categorical values with a barplot\nplotBarplot(tse, col.var = \"SampleType\")\n\n# Available taxonomic ranks\ntaxonomyRanks(tse)\n\n# Checks the dominance of genera\nsummarizeDominance(tse, rank = \"Genus\")\n\n# Get the most prevalent taxa\ngetPrevalent(tse, rank = \"Genus\", prevalence = 0.2, detection = 1)\n\n# Get the most abundant taxa based on their median abundance\ngetTop(tse, method = \"median\")\n\n# Visualzie the most prevalent features\nplotAbundanceDensity(tse)",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#subsetting",
    "href": "pages/example_solutions.html#subsetting",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.8 Subsetting",
    "text": "B.8 Subsetting\nThese example solutions are related to exercises in Chapter 9.\n\nShow the solution# Loading one of the available example datasets\nlibrary(mia)\ndata(\"GlobalPatterns\", package = \"mia\")\ntse &lt;- GlobalPatterns\n\n# Adds total size of all libraries to colData\nlibrary(scuttle)\ntse &lt;- addPerCellQCMetrics(tse)\n\n# Visualizes colData and plots distribution of library sizes\ncolData(tse) |&gt; head()\nlibrary(miaViz)\nplotHistogram(x = tse, col.var = \"total\")\n\n# Subsets based on library size and then subsets again based on feature prevalence\ntse_library &lt;- tse[, tse$total &gt; 500000]\ntse_subset &lt;- subsetByPrevalent(tse_library, detection = 1, prevalence = 2 / 10)",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#agglomeration",
    "href": "pages/example_solutions.html#agglomeration",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.9 Agglomeration",
    "text": "B.9 Agglomeration\nThese example solutions are related to exercises in Chapter 10.\n\nShow the solution# Load packages and dataset\nlibrary(mia)\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# Show taxonomic ranks\ntaxonomyRanks(tse)\n\n# Show the unique values for a rank\ngetUnique(tse, rank = \"Phylum\")\n\n# Agglomerate by rank and shows # of rows\ntse_agglomerated &lt;- agglomerateByRank(tse, rank = \"Phylum\")\nnrow(tse_agglomerated)\n\n# Show rowData\nrowData(tse_agglomerated)\n\n# Agglomerate by all ranks and shows one\ntse_all_ranks &lt;- agglomerateByRanks(tse)\naltExpNames(tse_all_ranks)\naltExp(tse_all_ranks, \"Phylum\")\n\n# Agglomerate by prevalence\ntse_prevalence &lt;- agglomerateByPrevalence(tse)\naltExp(tse, \"prevalent\") &lt;- agglomerateByPrevalence(tse)\n\n# Show column variables and merges the data based on one\ncolData(tse) |&gt; colnames()\ntse_variable &lt;- agglomerateByVariable(tse, group = \"SampleType\", by = \"cols\")",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#transformation",
    "href": "pages/example_solutions.html#transformation",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.10 Transformation",
    "text": "B.10 Transformation\nThese example solutions are related to exercises in Chapter 11.\n\nShow the solution# Load the example dataset\nlibrary(mia)\nlibrary(miaViz)\ndata(\"GlobalPatterns\")\ntse &lt;- GlobalPatterns\n\n# Visualize counts\nplotHistogram(tse, assay.type = \"counts\")\n\n# Transformations on the counts assay\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"relabundance\")\ntse &lt;- transformAssay(tse, assay.type = \"counts\", method = \"clr\", pseudocount = 1)\n\nassayNames(tse)\n\n# Plots the two different assays\nlibrary(patchwork)\np1 &lt;- plotHistogram(tse, assay.type = \"counts\")\np2 &lt;- plotHistogram(tse, assay.type = \"clr\")\n\np1 + p2\n\n# Subset the abundance table\nclr_matrix &lt;- assay(tse, \"clr\")\nclr_matrix[1:100, 1:10]\n\n# Agglomerate data by ranks\ntse &lt;- agglomerateByRanks(tse)\n\n# Apply transformations across altExp\ntse &lt;- transformAssay(\n    tse,\n    altexp = altExpNames(tse), assay.type = \"counts\", method = \"relabundance\"\n)\ntse &lt;- transformAssay(\n    tse,\n    altexp = altExpNames(tse), assay.type = \"counts\", method = \"clr\", pseudocount = 1\n)\n\n# phiLR transformation on family level\ntse &lt;- agglomerateByRank(tse, rank = \"Family\")\ntse &lt;- transformAssay(\n    tse,\n    assay.type = \"counts\", method = \"philr\", MARGIN = 1L, pseudocount = TRUE\n)\n\nassay(altExp(tse, \"philr\"))",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#community-composition",
    "href": "pages/example_solutions.html#community-composition",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.11 Community composition",
    "text": "B.11 Community composition\nThese example solutions are related to exercises in Chapter 12.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#alpha-diversity",
    "href": "pages/example_solutions.html#alpha-diversity",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.12 Alpha Diversity",
    "text": "B.12 Alpha Diversity\nThese example solutions are related to exercises in Chapter 13.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#community-similarity",
    "href": "pages/example_solutions.html#community-similarity",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.13 Community similarity",
    "text": "B.13 Community similarity\nThese exercises are related to exercises in Chapter 14.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#community-typing",
    "href": "pages/example_solutions.html#community-typing",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.14 Community typing",
    "text": "B.14 Community typing\nThese example solutions are related to exercises in Chapter 15.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#differential-abundance",
    "href": "pages/example_solutions.html#differential-abundance",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.15 Differential abundance",
    "text": "B.15 Differential abundance\nThese example solutions are related to exercises in Chapter 16.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#correlation",
    "href": "pages/example_solutions.html#correlation",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.16 Correlation",
    "text": "B.16 Correlation\nThese example solutions are related to exercises in Chapter 17.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#mediation",
    "href": "pages/example_solutions.html#mediation",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.17 Mediation",
    "text": "B.17 Mediation\nThese example solutions are related to exercises in Chapter 18.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#cross-association",
    "href": "pages/example_solutions.html#cross-association",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.18 Cross-association",
    "text": "B.18 Cross-association\nThese example solutions are related to exercises in Chapter 19.\n\nShow the solution# Load the example dataset\nlibrary(mia)\ndata(HintikkaXOData)\nmae &lt;- HintikkaXOData\n\n# Agglomerate microbiome data\nmae[[1]] &lt;- agglomerateByPrevalence(mae[[1]], rank = \"Phylum\")\n\n# Apply CLR\nmae[[1]] &lt;- transformAssay(mae[[1]], assay.type = \"counts\", method = \"rclr\")\n\n# Apply relative and log10\nmae[[2]] &lt;- transformAssay(mae[[2]], assay.type = \"nmr\", method = \"relabundance\")\nmae[[2]] &lt;- transformAssay(mae[[2]], assay.type = \"relabundance\", method = \"log10\", pseudocount = TRUE)\n\n# Cross correlates data sets\nres &lt;- getCrossAssociation(\n    mae,\n    experiment1 = 1,\n    experiment2 = 2,\n    assay.type1 = \"rclr\",\n    assay.type2 = \"log10\",\n    method = \"spearman\",\n    mode = \"matrix\"\n)\n\n# Create a heatmap\nlibrary(ComplexHeatmap)\np &lt;- Heatmap(res)\np",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#ordination-based-multiassay-analysis",
    "href": "pages/example_solutions.html#ordination-based-multiassay-analysis",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.19 Ordination-based multiassay analysis",
    "text": "B.19 Ordination-based multiassay analysis\nThese example solutions are related to exercises in Chapter 20.\n\nShow the solution# Load the example dataset\nlibrary(mia)\ndata(HintikkaXOData)\nmae &lt;- HintikkaXOData\n\n# Select only microbiome and metabolites\nmae &lt;- mae[, , c(1, 2)]\n\n# Agglomerate microbiome data\nmae[[1]] &lt;- agglomerateByPrevalence(mae[[1]], rank = \"Phylum\")\n\n# Apply CLR\nmae[[1]] &lt;- transformAssay(mae[[1]], assay.type = \"counts\", method = \"rclr\")\n\n# Apply relative and log10 transformations\nmae[[2]] &lt;- transformAssay(mae[[2]], assay.type = \"nmr\", method = \"relabundance\")\nmae[[2]] &lt;- transformAssay(mae[[2]], assay.type = \"relabundance\", method = \"log10\", pseudocount = TRUE)\n\n# Scale features\nmae[[1]] &lt;- transformAssay(mae[[1]], assay.type = \"rclr\", method = \"standardize\", MARGIN = \"rows\")\nmae[[2]] &lt;- transformAssay(mae[[2]], assay.type = \"log10\", method = \"standardize\", MARGIN = \"rows\")\n\n# Removing the assays no longer needed\nassays(mae[[1]]) &lt;- assays(mae[[1]])[\"standardize\"]\nassays(mae[[2]]) &lt;- assays(mae[[2]])[\"standardize\"]\n\n# Create a MOFA object\nlibrary(MOFA2)\nmodel &lt;- create_mofa_from_MultiAssayExperiment(mae)\n\n# Run MOFA\nmodel &lt;- prepare_mofa(object = model)\nmodel &lt;- run_mofa(model, use_basilisk = TRUE)\n\n# Visualize variance explained\np &lt;- plot_variance_explained(model, x = \"view\", y = \"factor\")\np",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/example_solutions.html#machine-learning",
    "href": "pages/example_solutions.html#machine-learning",
    "title": "Appendix B — Example solutions for exercises",
    "section": "\nB.20 Machine learning",
    "text": "B.20 Machine learning\nThese example solutions are related to exercises in Chapter 21.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>B</span>  <span class='chapter-title'>Example solutions for exercises</span>"
    ]
  },
  {
    "objectID": "pages/session_info.html",
    "href": "pages/session_info.html",
    "title": "Appendix C — Technical info",
    "section": "",
    "text": "C.1 Docker image\nA Docker image built from this repository is available here:\n👉 ghcr.io/microbiome/oma 🐳",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>C</span>  <span class='chapter-title'>Technical info</span>"
    ]
  },
  {
    "objectID": "pages/session_info.html#sec-docker-image",
    "href": "pages/session_info.html#sec-docker-image",
    "title": "Appendix C — Technical info",
    "section": "",
    "text": "TipGet started now 🎉\n\n\n\nYou can get access to all the packages used in this book in &lt; 1 minute, using this command in a terminal:\n\n\n\nbash\n\ndocker run -it ghcr.io/microbiome/oma:devel R",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>C</span>  <span class='chapter-title'>Technical info</span>"
    ]
  },
  {
    "objectID": "pages/session_info.html#rstudio-server",
    "href": "pages/session_info.html#rstudio-server",
    "title": "Appendix C — Technical info",
    "section": "RStudio Server",
    "text": "RStudio Server\nAn RStudio Server instance can be initiated from the Docker image as follows:\n\n\n\nbash\n\ndocker run \\\n    --volume &lt;local_folder&gt;:&lt;destination_folder&gt; \\\n    -e PASSWORD=OMA \\\n    -p 8787:8787 \\\n    ghcr.io/microbiome/oma:devel\n\n\nThe initiated RStudio Server instance will be available at https://localhost:8787.",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>C</span>  <span class='chapter-title'>Technical info</span>"
    ]
  },
  {
    "objectID": "pages/session_info.html#sec-session-info",
    "href": "pages/session_info.html#sec-session-info",
    "title": "Appendix C — Technical info",
    "section": "\nC.2 Session info",
    "text": "C.2 Session info\n\n\n\n\n\n\nNoteClick to expand 👇\n\n\n\n\n\n\nsessioninfo::session_info(\n    installed.packages()[, \"Package\"],\n    include_base = TRUE\n)\n##  ─ Session info ────────────────────────────────────────────────────────────\n##   setting  value\n##   version  R version 4.6.0 RC (2026-04-17 r89917)\n##   os       Ubuntu 24.04.4 LTS\n##   system   x86_64, linux-gnu\n##   ui       X11\n##   language (EN)\n##   collate  C\n##   ctype    en_US.UTF-8\n##   tz       America/New_York\n##   date     2026-04-29\n##   pandoc   2.7.3 @ /usr/bin/ (via rmarkdown)\n##   quarto   1.8.25 @ /usr/local/bin/quarto\n##  \n##  ─ Packages ────────────────────────────────────────────────────────────────\n##   package                                       * version        date (UTC) lib source\n##   a4                                              1.59.0         2026-04-22 [2] Bioconductor 3.23 (R 4.6.0)\n##   a4Base                                          1.59.0         2026-04-22 [2] Bioconductor 3.23 (R 4.6.0)\n##   a4Classif                                       1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   a4Core                                          1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   a4Preproc                                       1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   a4Reporting                                     1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ABarray                                         1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   abdiv                                           0.2.0          2020-01-20 [2] CRAN (R 4.6.0)\n##   abind                                           1.4-8          2024-09-12 [2] CRAN (R 4.6.0)\n##   abseqR                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ABSSeq                                          1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   acde                                            1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ACE                                             1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   aCGH                                            1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ACME                                            2.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   actuar                                          3.3-7          2026-03-02 [2] CRAN (R 4.6.0)\n##   ada                                             2.0-5.1        2026-02-17 [2] CRAN (R 4.6.0)\n##   adabag                                          5.1            2025-07-28 [2] CRAN (R 4.6.0)\n##   ADaCGH2                                         2.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ADAM                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ADAMgui                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ADAPT                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   adductData                                      1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ade4                                            1.7-24         2026-03-21 [2] CRAN (R 4.6.0)\n##   ADGofTest                                       0.3            2011-12-28 [2] CRAN (R 4.6.0)\n##   ADImpute                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   admisc                                          0.40           2026-03-27 [2] CRAN (R 4.6.0)\n##   adSplit                                         1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   adverSCarial                                    1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Aerith                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   afex                                            1.5-1          2025-12-14 [2] CRAN (R 4.6.0)\n##   AffiXcan                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affxparser                                      1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affy                                            1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affycomp                                        1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affycompData                                    1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   affyContam                                      1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affycoretools                                   1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affydata                                        1.59.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Affyhgu133A2Expr                                1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Affyhgu133aExpr                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Affyhgu133Plus2Expr                             1.45.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   affyILM                                         1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affyio                                          1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   affylmGUI                                       1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AffymetrixDataTestFiles                         0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Affymoe4302Expr                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   affyPLM                                         1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AffyRNADegradation                              1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AGDEX                                           1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   aggregateBioVar                                 1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   aggregation                                     1.0.1          2018-01-25 [2] CRAN (R 4.6.0)\n##   agilp                                           3.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AgiMicroRna                                     2.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   agricolae                                       1.3-7          2023-10-22 [2] CRAN (R 4.6.0)\n##   AHCytoBands                                     0.99.1         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AHEnsDbs                                        1.7.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AHLRBaseDbs                                     1.8.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AHMassBank                                      1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AHMeSHDbs                                       1.8.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AhoCorasickTrie                                 0.1.3          2025-02-05 [2] CRAN (R 4.6.0)\n##   AHPathbankDbs                                   0.99.5         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AHPubMedDbs                                     1.8.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AHWikipathwaysDbs                               0.99.4         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AICcmodavg                                      2.3-4          2025-03-06 [2] CRAN (R 4.6.0)\n##   AIMS                                            1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   airpart                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   airway                                          1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   aisdk                                           1.1.0          2026-03-31 [2] CRAN (R 4.6.0)\n##   akima                                           0.6-3.6        2025-06-02 [2] CRAN (R 4.6.0)\n##   akmbiclust                                      0.1.0          2020-09-24 [2] CRAN (R 4.6.0)\n##   alabama                                         2025.1.0       2026-01-15 [2] CRAN (R 4.6.0)\n##   alabaster                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.base                                  1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.bumpy                                 1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.files                                 1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.mae                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.matrix                                1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.ranges                                1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.sce                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.schemas                               1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.se                                    1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.sfe                                   1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.spatial                               1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.string                                1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alabaster.vcf                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ALDEx2                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alevinQC                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AlgDesign                                       1.2.1.2        2025-04-06 [2] CRAN (R 4.6.0)\n##   ALL                                             1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   AllelicImbalance                                1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ALLMLL                                          1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   alluvial                                        0.1-2          2016-09-09 [2] CRAN (R 4.6.0)\n##   AlphaBeta                                       1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alphahull                                       2.5            2022-06-16 [2] CRAN (R 4.6.0)\n##   AlphaMissense.v2023.hg19                        3.18.2         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AlphaMissense.v2023.hg38                        3.18.2         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   AlphaMissenseR                                  1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AlpsNMR                                         4.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   altcdfenvs                                      2.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   alternativeSplicingEvents.hg19                  1.1.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   alternativeSplicingEvents.hg38                  1.1.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   amap                                            0.8-20         2024-10-21 [2] CRAN (R 4.6.0)\n##   AMARETTO                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ami                                             0.2.1          2024-11-15 [2] CRAN (R 4.6.0)\n##   AMOUNTAIN                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AmpAffyExample                                  1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   amplican                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   analogue                                        0.18.1         2025-06-25 [2] CRAN (R 4.6.0)\n##   anansi                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Anaquin                                         2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ANCOMBC                                         2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ANF                                             1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   anglemania                                      1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   animalcules                                     1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   animation                                       2.8            2025-08-26 [2] CRAN (R 4.6.0)\n##   annaffy                                         1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   anndata                                         0.8.0          2025-05-27 [2] CRAN (R 4.6.0)\n##   anndataR                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   annmap                                          1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   annoLinker                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   annotate                                        1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   annotation                                      1.35.1         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnnotationDbi                                   1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnnotationFilter                                1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnnotationForge                                 1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnnotationHub                                   4.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnnotationHubData                               1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   annotationTools                                 1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   annotatr                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   anota                                           1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   anota2seq                                       1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   antiProfiles                                    1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   antiProfilesData                                1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVIL                                           1.23.14        2026-04-27 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVILAz                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVILBase                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVILBilling                                    1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVILGCP                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVILPublish                                    1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AnVILWorkflow                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   anytime                                         0.3.13         2026-04-14 [2] CRAN (R 4.6.0)\n##   aod                                             1.3.3          2023-12-13 [2] CRAN (R 4.6.0)\n##   aods3                                           0.6            2026-01-19 [2] CRAN (R 4.6.0)\n##   APAlyzer                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   apcluster                                       1.4.14         2025-09-22 [2] CRAN (R 4.6.0)\n##   apComplex                                       2.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ape                                             5.8-1          2024-12-16 [2] CRAN (R 4.6.0)\n##   apeglm                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   APL                                             1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   aplot                                           0.2.9          2025-09-12 [2] CRAN (R 4.6.0)\n##   appreci8R                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   aracne.networks                                 1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   archive                                         1.1.13         2026-04-12 [2] CRAN (R 4.6.0)\n##   argparse                                        2.3.1          2025-10-08 [2] CRAN (R 4.6.0)\n##   argparser                                       0.7.3          2026-02-24 [2] CRAN (R 4.6.0)\n##   aricode                                         1.0.3          2023-10-20 [2] CRAN (R 4.6.0)\n##   arm                                             1.15-3         2026-04-15 [2] CRAN (R 4.6.0)\n##   aroma.affymetrix                                3.2.3          2025-08-19 [2] CRAN (R 4.6.0)\n##   aroma.apd                                       0.7.1          2025-04-06 [2] CRAN (R 4.6.0)\n##   aroma.core                                      3.3.2          2025-08-18 [2] CRAN (R 4.6.0)\n##   aroma.light                                     3.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arrangements                                    1.1.10         2026-03-22 [2] CRAN (R 4.6.0)\n##   ArrayExpress                                    1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arrayhelpers                                    1.1-0          2020-02-04 [2] CRAN (R 4.6.0)\n##   arrayMvout                                      1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arrayQuality                                    1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arrayQualityMetrics                             3.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arrays                                          1.37.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   ARRmData                                        1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ARRmNormalization                               1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arrow                                           23.0.1.2       2026-03-25 [2] CRAN (R 4.6.0)\n##   artMS                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   arules                                          1.7.14         2026-03-29 [2] CRAN (R 4.6.0)\n##   ASAFE                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ASEB                                            1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ASGSCA                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ash                                             1.0-15         2015-09-01 [2] CRAN (R 4.6.0)\n##   AshkenazimSonChr21                              1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ashr                                            2.2-63         2023-08-21 [2] CRAN (R 4.6.0)\n##   ASICS                                           2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ASICSdata                                       1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   AsioHeaders                                     1.30.2-1       2025-04-15 [2] CRAN (R 4.6.0)\n##   askpass                                         1.2.1          2024-10-04 [2] CRAN (R 4.6.0)\n##   asmbPLS                                         1.0.0          2023-04-17 [2] CRAN (R 4.6.0)\n##   ASpli                                           2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   assertr                                         3.0.1          2023-11-23 [2] CRAN (R 4.6.0)\n##   assertthat                                      0.2.1          2019-03-21 [2] CRAN (R 4.6.0)\n##   AssessORF                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AssessORFData                                   1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ASSET                                           2.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ASSIGN                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   assorthead                                      1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ASURAT                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   asuri                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   atacInferCnv                                    1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ATACseqQC                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ATACseqTFEA                                     1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   atena                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ath1121501cdf                                   2.18.0         2026-04-23 [2] Bioconductor\n##   atSNP                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   attempt                                         0.3.1          2020-05-03 [2] CRAN (R 4.6.0)\n##   attract                                         1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AUCell                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   audio                                           0.1-12         2025-12-15 [2] CRAN (R 4.6.0)\n##   automap                                         1.1-20         2025-07-13 [2] CRAN (R 4.6.0)\n##   autonomics                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   autothresholdr                                  1.4.3          2025-09-26 [2] CRAN (R 4.6.0)\n##   av                                              0.9.6          2025-10-20 [2] CRAN (R 4.6.0)\n##   available                                       1.1.0          2022-07-10 [2] CRAN (R 4.6.0)\n##   AWAggregator                                    1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AWAggregatorData                                1.1.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   AWFisher                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   aws                                             2.5-6          2024-09-30 [2] CRAN (R 4.6.0)\n##   aws.s3                                          0.3.22         2025-08-19 [2] CRAN (R 4.6.0)\n##   aws.signature                                   0.6.0          2020-06-01 [2] CRAN (R 4.6.0)\n##   awsMethods                                      1.1-1          2019-05-08 [2] CRAN (R 4.6.0)\n##   awst                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   AzureAuth                                       1.3.4          2025-12-20 [2] CRAN (R 4.6.0)\n##   AzureGraph                                      1.3.5          2025-07-31 [2] CRAN (R 4.6.0)\n##   AzureRMR                                        2.4.5          2025-07-31 [2] CRAN (R 4.6.0)\n##   AzureStor                                       3.7.1          2025-08-25 [2] CRAN (R 4.6.0)\n##   BaalChIP                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   babelgene                                       22.9           2022-09-29 [2] CRAN (R 4.6.0)\n##   backbone                                        3.0.3          2025-12-08 [2] CRAN (R 4.6.0)\n##   backports                                       1.5.1          2026-04-03 [2] CRAN (R 4.6.0)\n##   bacon                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BADER                                           1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   badger                                          0.2.5          2025-07-31 [2] CRAN (R 4.6.0)\n##   BadRegionFinder                                 1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ballgown                                        2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bambu                                           3.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bamlss                                          1.2-5          2024-10-11 [2] CRAN (R 4.6.0)\n##   BAMMtools                                       2.1.12         2024-09-12 [2] CRAN (R 4.6.0)\n##   bamsignals                                      1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BANDITS                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bandle                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Banksy                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   banocc                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   barbieQ                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   barcodetrackR                                   1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   base                                          * 4.6.0          2026-04-20 [3] local\n##   base64                                          2.0.2          2024-10-04 [2] CRAN (R 4.6.0)\n##   base64enc                                       0.1-6          2026-02-02 [2] CRAN (R 4.6.0)\n##   base64url                                       1.4            2018-05-14 [2] CRAN (R 4.6.0)\n##   basecallQC                                      1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   baseline                                        1.3-7          2025-06-18 [2] CRAN (R 4.6.0)\n##   BaseSpaceR                                      1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Basic4Cseq                                      1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BASiCS                                          2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BASiCStan                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BasicSTARRseq                                   1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   basilisk                                        1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   basilisk.utils                                  1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   batchCorr                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BatChef                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   batchelor                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BatchJobs                                       1.10           2025-09-10 [2] CRAN (R 4.6.0)\n##   BatchQC                                         2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BatchSVG                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   batchtools                                      0.9.18         2025-08-20 [2] CRAN (R 4.6.0)\n##   Battlefield                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BayesKnockdown                                  1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bayesm                                          3.1-7          2025-11-11 [2] CRAN (R 4.6.0)\n##   bayesplot                                       1.15.0         2025-12-12 [2] CRAN (R 4.6.0)\n##   BayesSpace                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bayestestR                                      0.17.0         2025-08-29 [2] CRAN (R 4.6.0)\n##   bayNorm                                         1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   baySeq                                          2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BB                                              2026.1.0       2026-02-19 [2] CRAN (R 4.6.0)\n##   BBCAnalyzer                                     1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BBmisc                                          1.13.1         2026-01-21 [2] CRAN (R 4.6.0)\n##   bbmle                                           1.0.25.1       2023-12-09 [2] CRAN (R 4.6.0)\n##   bbotk                                           1.10.0         2026-04-08 [2] CRAN (R 4.6.0)\n##   bcellViper                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BCRANK                                          1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bcSeq                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bdsmatrix                                       1.3-7          2024-03-02 [2] CRAN (R 4.6.0)\n##   beachmat                                        2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   beachmat.hdf5                                   1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   beachmat.tiledb                                 1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   beadarray                                       2.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   beadarrayExampleData                            1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BeadArrayUseCases                               1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BeadDataPackR                                   1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BeadSorted.Saliva.EPIC                          1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   beanplot                                        1.3.1          2022-04-09 [2] CRAN (R 4.6.0)\n##   BEAT                                            1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BEclear                                         2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BEDASSLE                                        1.6.1          2024-01-11 [2] CRAN (R 4.6.0)\n##   bedbaser                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BEDMatrix                                       2.0.4          2024-09-06 [2] CRAN (R 4.6.0)\n##   beepr                                           2.0            2024-07-06 [2] CRAN (R 4.6.0)\n##   beer                                            1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   beeswarm                                        0.4.0          2021-06-01 [2] CRAN (R 4.6.0)\n##   bench                                           1.1.4          2025-01-16 [2] CRAN (R 4.6.0)\n##   benchdamic                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   benchmarkme                                     1.0.8          2022-06-12 [2] CRAN (R 4.6.0)\n##   benchmarkmeData                                 2.0.0          2026-01-19 [2] CRAN (R 4.6.0)\n##   berryFunctions                                  1.22.13        2025-07-28 [2] CRAN (R 4.6.0)\n##   BERT                                            1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bestNormalize                                   1.9.2          2025-11-30 [2] CRAN (R 4.6.0)\n##   beta7                                           1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   betaHMM                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   betareg                                         3.2-4          2025-08-19 [2] CRAN (R 4.6.0)\n##   betterChromVAR                                  1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bettr                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bezier                                          1.1.2          2018-12-14 [2] CRAN (R 4.6.0)\n##   BG2                                             1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BgeeCall                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BgeeDB                                          2.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BH                                              1.90.0-1       2025-12-14 [2] CRAN (R 4.6.0)\n##   BiasedUrn                                       2.0.12         2024-06-16 [2] CRAN (R 4.6.0)\n##   bibtex                                          0.5.2          2026-02-03 [2] CRAN (R 4.6.0)\n##   BicARE                                          1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiFET                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biganalytics                                    1.1.22         2024-03-28 [2] CRAN (R 4.6.0)\n##   bigassertr                                      0.1.7          2025-06-27 [2] CRAN (R 4.6.0)\n##   bigD                                            0.3.1          2025-04-03 [2] CRAN (R 4.6.0)\n##   biglm                                           0.9-3          2024-06-12 [2] CRAN (R 4.6.0)\n##   bigmelon                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bigmemory                                       4.6.4          2024-01-09 [2] CRAN (R 4.6.0)\n##   bigmemory.sri                                   0.1.8          2024-01-10 [2] CRAN (R 4.6.0)\n##   bigparallelr                                    0.3.2          2021-10-02 [2] CRAN (R 4.6.0)\n##   bigreadr                                        0.2.5          2022-12-06 [2] CRAN (R 4.6.0)\n##   bigrquery                                       1.6.1          2025-09-10 [2] CRAN (R 4.6.0)\n##   bigsnpr                                         1.12.21        2025-08-21 [2] CRAN (R 4.6.0)\n##   bigsparser                                      0.7.3          2024-09-06 [2] CRAN (R 4.6.0)\n##   bigstatsr                                       1.6.2          2025-07-29 [2] CRAN (R 4.6.0)\n##   bigutilsr                                       0.3.11         2025-07-30 [2] CRAN (R 4.6.0)\n##   billboarder                                     0.5.1          2026-01-29 [2] CRAN (R 4.6.0)\n##   BindingSiteFinder                               2.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   binom                                           1.1-1.1        2022-05-02 [2] CRAN (R 4.6.0)\n##   binr                                            1.1.2          2026-02-25 [2] CRAN (R 4.6.0)\n##   bio3d                                           2.4-5          2024-10-29 [2] CRAN (R 4.6.0)\n##   bioassayR                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Biobase                                         2.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biobroom                                        1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biobtreeR                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Bioc.gff                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bioCancer                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioCartaImage                                   1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocAzul                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocBaseUtils                                   1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocBook                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocBookDemo                                    1.10.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocBuildReporter                               1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocCheck                                       1.47.26        2026-04-27 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocFHIR                                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocFileCache                                   3.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocGenerics                                    0.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biocGraph                                       1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocHail                                        1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocHubsShiny                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocIO                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocMaintainerApp                               1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biocmake                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocManager                                     1.30.27        2025-11-14 [2] CRAN (R 4.6.0)\n##   BiocNeighbors                                   2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioCor                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocParallel                                    1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocPkgDash                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocPkgTools                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biocroxytest                                    1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocSet                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocSingular                                    1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocSklearn                                     1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocStyle                                       2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biocthis                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocVersion                                     3.23.1         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biocViews                                       1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiocWorkflowTools                               1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biodb                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biodbChebi                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bioDist                                         1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioGA                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioImageDbs                                     1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   biomaRt                                         2.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioMartGOGeneSets                               0.99.12        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   biomartr                                        1.0.7          2023-12-02 [2] CRAN (R 4.6.0)\n##   biomformat                                      1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioMVCClass                                     1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biomvRCNS                                       1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioNAR                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioNERO                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioNet                                          1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bionetdata                                      1.1            2022-09-12 [2] CRAN (R 4.6.0)\n##   BioPlex                                         1.17.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioQC                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bioseq                                          0.1.5          2025-09-29 [2] CRAN (R 4.6.0)\n##   biosigner                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Biostrings                                      2.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioTIP                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biotmle                                         1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biotmleData                                     1.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BioVenn                                         1.1.3          2021-06-19 [2] CRAN (R 4.6.0)\n##   biovizBase                                      1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiRewire                                        3.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biscale                                         1.1.0          2025-09-01 [2] CRAN (R 4.6.0)\n##   biscuiteer                                      1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   biscuiteerData                                  1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BiSeq                                           1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bit                                             4.6.0          2025-03-06 [2] CRAN (R 4.6.0)\n##   bit64                                           4.8.0          2026-04-21 [2] CRAN (R 4.6.0)\n##   bitops                                          1.0-9          2024-10-03 [2] CRAN (R 4.6.0)\n##   biwt                                            1.0.1          2022-06-13 [2] CRAN (R 4.6.0)\n##   blacksheepr                                     1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bladderbatch                                    1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BlandAltmanLeh                                  0.3.1          2015-12-23 [2] CRAN (R 4.6.0)\n##   blase                                           1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   blastula                                        0.3.6          2025-04-03 [2] CRAN (R 4.6.0)\n##   blima                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   blimaTestingData                                1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BLMA                                            1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   blme                                            1.0-7          2026-01-10 [2] CRAN (R 4.6.0)\n##   blob                                            1.3.0          2026-01-14 [2] CRAN (R 4.6.0)\n##   blockmodeling                                   1.1.8          2025-07-25 [2] CRAN (R 4.6.0)\n##   BloodCancerMultiOmics2017                       1.31.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BloodGen3Module                                 1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bluster                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BMA                                             3.18.21        2026-03-13 [2] CRAN (R 4.6.0)\n##   bmp                                             0.3.1          2025-09-22 [2] CRAN (R 4.6.0)\n##   bnbc                                            1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bnem                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bnlearn                                         5.1            2025-08-20 [2] CRAN (R 4.6.0)\n##   bnstruct                                        1.0.15         2024-01-09 [2] CRAN (R 4.6.0)\n##   bnviewer                                        0.1.6          2020-09-14 [2] CRAN (R 4.6.0)\n##   BOBaFIT                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bodymapRat                                      1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   bookdown                                        0.46           2025-12-05 [2] CRAN (R 4.6.0)\n##   BoolNet                                         2.1.9          2023-10-02 [2] CRAN (R 4.6.0)\n##   boot                                            1.3-32         2025-08-29 [3] CRAN (R 4.6.0)\n##   bootstrap                                       2019.6         2019-06-17 [2] CRAN (R 4.6.0)\n##   borealis                                        1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Boruta                                          9.0.0          2025-07-22 [2] CRAN (R 4.6.0)\n##   BoutrosLab.plotting.general                     7.1.5          2026-01-22 [2] CRAN (R 4.6.0)\n##   box                                             1.2.2          2026-04-10 [2] CRAN (R 4.6.0)\n##   BP4RNAseq                                       1.21.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   BPRMeth                                         1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BRAIN                                           1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   branchpointer                                   1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bread                                           0.4.1          2023-06-26 [2] CRAN (R 4.6.0)\n##   breakaway                                       4.8.4          2022-11-22 [2] CRAN (R 4.6.0)\n##   breakpointR                                     1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   breakpointRdata                                 1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   breastCancerMAINZ                               1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   breastCancerNKI                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   breastCancerTRANSBIG                            1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   breastCancerUNT                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   breastCancerUPP                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   breastCancerVDX                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   BreastSubtypeR                                  1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   brendaDb                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   brew                                            1.0-10         2023-12-16 [2] CRAN (R 4.6.0)\n##   BREW3R.r                                        1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   brgedata                                        1.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   brglm                                           0.7.3          2025-09-16 [2] CRAN (R 4.6.0)\n##   BridgeDbR                                       2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   brio                                            1.1.5          2024-04-24 [2] CRAN (R 4.6.0)\n##   BRISC                                           1.0.6          2024-10-02 [2] CRAN (R 4.6.0)\n##   broadSeq                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   broman                                          0.92           2025-12-08 [2] CRAN (R 4.6.0)\n##   bronchialIL13                                   1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   broom                                           1.0.12         2026-01-27 [2] CRAN (R 4.6.0)\n##   broom.mixed                                     0.2.9.7        2026-02-17 [2] CRAN (R 4.6.0)\n##   BrowserViz                                      2.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bs4Dash                                         2.3.5          2025-08-25 [2] CRAN (R 4.6.0)\n##   BSDA                                            1.2.2          2023-09-18 [2] CRAN (R 4.6.0)\n##   BSgenome                                        1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BSgenome.Btaurus.UCSC.bosTau6                   1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Btaurus.UCSC.bosTau6.masked            1.3.99         2026-04-20 [2] Bioconductor\n##   BSgenome.Celegans.UCSC.ce10                     1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Celegans.UCSC.ce11                     1.4.2          2026-04-20 [2] Bioconductor\n##   BSgenome.Celegans.UCSC.ce2                      1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Dmelanogaster.UCSC.dm3                 1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Dmelanogaster.UCSC.dm6                 1.4.1          2026-04-20 [2] Bioconductor\n##   BSgenome.Drerio.UCSC.danRer10                   1.4.2          2026-04-20 [2] Bioconductor\n##   BSgenome.Drerio.UCSC.danRer7                    1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Ecoli.NCBI.20080805                    1.3.1000       2026-04-20 [2] Bioconductor\n##   BSgenome.Ggallus.UCSC.galGal3                   1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.1000genomes.hs37d5            0.99.1         2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.NCBI.GRCh38                   1.3.1000       2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.UCSC.hg18                     1.3.1000       2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.UCSC.hg18.masked              1.3.99         2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.UCSC.hg19                     1.4.3          2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.UCSC.hg19.masked              1.3.993        2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.UCSC.hg38                     1.4.5          2026-04-20 [2] Bioconductor\n##   BSgenome.Hsapiens.UCSC.hg38.masked              1.4.5          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmulatta.UCSC.rheMac10                 1.4.2          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm10                    1.4.3          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm10.masked             1.4.3          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm39                    1.4.3          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm8                     1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm8.masked              1.3.99         2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm9                     1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Mmusculus.UCSC.mm9.masked              1.3.99         2026-04-20 [2] Bioconductor\n##   BSgenome.Rnorvegicus.UCSC.rn5                   1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Rnorvegicus.UCSC.rn5.masked            1.3.99         2026-04-20 [2] Bioconductor\n##   BSgenome.Rnorvegicus.UCSC.rn6                   1.4.1          2026-04-20 [2] Bioconductor\n##   BSgenome.Rnorvegicus.UCSC.rn7                   1.4.3          2026-04-20 [2] Bioconductor\n##   BSgenome.Scerevisiae.UCSC.sacCer1               1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Scerevisiae.UCSC.sacCer2               1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenome.Scerevisiae.UCSC.sacCer3               1.4.0          2026-04-20 [2] Bioconductor\n##   BSgenomeForge                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bsicons                                         0.1.2          2023-11-04 [2] CRAN (R 4.6.0)\n##   bslib                                           0.10.0         2026-01-26 [2] CRAN (R 4.6.0)\n##   bsplus                                          0.1.5          2025-04-06 [2] CRAN (R 4.6.0)\n##   bsseq                                           1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bsseqData                                       0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   bst                                             0.3-24         2023-01-06 [2] CRAN (R 4.6.0)\n##   BubbleTree                                      2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BufferedMatrix                                  1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BufferedMatrixMethods                           1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bugphyzz                                        1.5.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   bugsigdbr                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BulkSignalR                                     1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BUMHMM                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   bumphunter                                      1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BumpyMatrix                                     1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BUS                                             1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BUScorrect                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BUSpaRse                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   BUSseq                                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   butcher                                         0.4.0          2025-12-09 [2] CRAN (R 4.6.0)\n##   BWStest                                         0.2.3          2023-10-10 [2] CRAN (R 4.6.0)\n##   c3net                                           1.1.1.1        2022-06-24 [2] CRAN (R 4.6.0)\n##   C50                                             0.2.0          2025-04-03 [2] CRAN (R 4.6.0)\n##   ca                                              0.71.1         2020-01-24 [2] CRAN (R 4.6.0)\n##   cachem                                          1.1.0          2024-05-16 [2] CRAN (R 4.6.0)\n##   cadd.v1.6.hg19                                  3.18.1         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   cadd.v1.6.hg38                                  3.18.1         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   CaDrA                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CAEN                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CAFE                                            1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CAGEfightR                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cageminer                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CAGEr                                           2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CAGEWorkflow                                    1.27.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   Cairo                                           1.7-0          2025-10-29 [2] CRAN (R 4.6.0)\n##   CalibraCurve                                    1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   calibrate                                       1.7.7          2020-06-19 [2] CRAN (R 4.6.0)\n##   callr                                           3.7.6          2024-03-25 [2] CRAN (R 4.6.0)\n##   calm                                            1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CAMERA                                          1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CaMutQC                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   canceR                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cancerclass                                     1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cancerdata                                      1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   capushe                                         1.1.3          2025-09-10 [2] CRAN (R 4.6.0)\n##   car                                             3.1-5          2026-02-03 [2] CRAN (R 4.6.0)\n##   carData                                         3.0-6          2026-01-30 [2] CRAN (R 4.6.0)\n##   cardelino                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Cardinal                                        3.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CardinalIO                                      1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CardinalWorkflows                               1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CARDspa                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   caret                                           7.0-1          2024-12-10 [2] CRAN (R 4.6.0)\n##   caretEnsemble                                   4.0.1          2024-09-12 [2] CRAN (R 4.6.0)\n##   carnation                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CARNIVAL                                        2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   casper                                          2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CATALYST                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   catdata                                         1.2.5          2025-12-04 [2] CRAN (R 4.6.0)\n##   Category                                        2.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   categoryCompare                                 1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CatEncoders                                     0.1.1          2017-03-08 [2] CRAN (R 4.6.0)\n##   caTools                                         1.18.3         2024-09-04 [2] CRAN (R 4.6.0)\n##   CatsCradle                                      1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CATT                                            2.0            2017-05-19 [2] CRAN (R 4.6.0)\n##   CausalR                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cba                                             0.2-25         2024-08-16 [2] CRAN (R 4.6.0)\n##   cbaf                                            1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cBioPortalData                                  2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CBN2Path                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CBNplot                                         1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cbpManager                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CCAFE                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ccaPP                                           0.3.5          2025-10-02 [2] CRAN (R 4.6.0)\n##   ccdata                                          1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ccfindR                                         1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ccImpute                                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CCl4                                            1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CCP                                             1.2            2022-04-21 [2] CRAN (R 4.6.0)\n##   CCPlotR                                         1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CCPROMISE                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ccrepe                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ccTensor                                        1.0.3          2025-08-25 [2] CRAN (R 4.6.0)\n##   CDFt                                            1.2            2021-02-18 [2] CRAN (R 4.6.0)\n##   CDI                                             1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CDM                                             8.3-14         2025-07-13 [2] CRAN (R 4.6.0)\n##   celaref                                         1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   celarefData                                     1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   celda                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   celestial                                       1.5.8          2025-09-02 [2] CRAN (R 4.6.0)\n##   CellBarcode                                     1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cellbaseR                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellBench                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   celldex                                         1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CelliD                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cellity                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellMapper                                      1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellMapperData                                  1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellMentor                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cellmig                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cellmigRation                                   1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellMixS                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellNOptR                                       1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cellranger                                      1.1.0          2016-07-27 [2] CRAN (R 4.6.0)\n##   cellscape                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CellTrails                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cellxgenedp                                     1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CEMiTool                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   censcyt                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CENTREannotation                                0.99.1         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   CENTREprecomputed                               1.1.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Cepo                                            1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ceRNAnetsim                                     1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CeTF                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CexoR                                           1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CFAssay                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cfdnakit                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cfDNAPro                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cfTools                                         1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cfToolsData                                     1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CGEN                                            3.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CGHbase                                         1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CGHcall                                         2.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cghMCR                                          1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CGHnormaliter                                   1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CGHregions                                      1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChAMP                                           2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChAMPdata                                       2.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   changepoint                                     2.3            2024-11-04 [2] CRAN (R 4.6.0)\n##   changepoint.np                                  1.0.5          2022-10-20 [2] CRAN (R 4.6.0)\n##   checkmate                                       2.3.4          2026-02-03 [2] CRAN (R 4.6.0)\n##   ChemmineDrugs                                   1.0.2          2026-04-20 [2] Bioconductor\n##   ChemmineOB                                      1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChemmineR                                       3.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chemometrics                                    1.4.4          2023-08-25 [2] CRAN (R 4.6.0)\n##   ChemoSpec                                       6.3.1          2025-09-09 [2] CRAN (R 4.6.0)\n##   ChemoSpecUtils                                  1.0.5          2025-04-12 [2] CRAN (R 4.6.0)\n##   CHETAH                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chevreulPlot                                    1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chevreulProcess                                 1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chevreulShiny                                   1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Chicago                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chihaya                                         1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chimeraviz                                      1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChimpHumanBrainData                             1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPanalyser                                    1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPDBData                                      1.1.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   chipenrich                                      2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chipenrich.data                                 2.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPexoQual                                     1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPexoQualExample                              1.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPpeakAnno                                    3.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPseeker                                      1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chipseq                                         1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chipseqDB                                       1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   chipseqDBData                                   1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPseqR                                        1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPsim                                         1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPXpress                                      1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChIPXpressData                                  1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   chk                                             0.10.0         2025-01-24 [2] CRAN (R 4.6.0)\n##   chopsticks                                      1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Chromatograms                                   1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chromDraw                                       2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChromHeatMap                                    1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chromhmmData                                    0.99.2         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   chromote                                        0.5.1          2025-04-24 [2] CRAN (R 4.6.0)\n##   chromPlot                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ChromSCape                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chron                                           2.3-62         2024-12-31 [2] CRAN (R 4.6.0)\n##   CHRONOS                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   chunked                                         0.6.2          2026-02-05 [2] CRAN (R 4.6.0)\n##   cicero                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cicerone                                        1.0.4          2021-01-10 [2] CRAN (R 4.6.0)\n##   cigarillo                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CIMICE                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   circlize                                        0.4.18         2026-04-04 [2] CRAN (R 4.6.0)\n##   circRNAprofiler                                 1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CircSeqAlignTk                                  1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CircStats                                       0.2-7          2025-06-19 [2] CRAN (R 4.6.0)\n##   circular                                        0.5-2          2025-09-25 [2] CRAN (R 4.6.0)\n##   CiteFuse                                        1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Ckmeans.1d.dp                                   4.3.5          2023-08-19 [2] CRAN (R 4.6.0)\n##   clarabel                                        0.11.2         2026-03-01 [2] CRAN (R 4.6.0)\n##   class                                           7.3-23         2025-01-01 [3] CRAN (R 4.6.0)\n##   ClassifyR                                       3.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   classInt                                        0.4-11         2025-01-08 [2] CRAN (R 4.6.0)\n##   cleanUpdTSeq                                    1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CleanUpRNAseq                                   1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cleaver                                         1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clevr                                           0.1.2          2023-09-16 [2] CRAN (R 4.6.0)\n##   clevRvis                                        1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cli                                             3.6.6          2026-04-09 [2] CRAN (R 4.6.0)\n##   clinfun                                         1.1.5          2023-10-19 [2] CRAN (R 4.6.0)\n##   clippda                                         1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clipper                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clipr                                           0.8.0          2022-02-22 [2] CRAN (R 4.6.0)\n##   cliProfiler                                     1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cliqueMS                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clisymbols                                      1.2.0          2017-05-21 [2] CRAN (R 4.6.0)\n##   CLL                                             1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CLLmethylation                                  1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   clock                                           0.7.4          2026-01-13 [2] CRAN (R 4.6.0)\n##   Clomial                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClonalSim                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clst                                            1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clstutils                                       1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clue                                            0.3-68         2026-03-26 [2] CRAN (R 4.6.0)\n##   ClueR                                           1.4.2          2023-11-15 [2] CRAN (R 4.6.0)\n##   CluMSID                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CluMSIDdata                                     1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClustAll                                        1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clustComp                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cluster                                         2.1.8.2        2026-02-05 [3] CRAN (R 4.6.0)\n##   clusterCrit                                     1.3.0          2023-11-23 [2] CRAN (R 4.6.0)\n##   clusterExperiment                               2.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClusterFoldSimilarity                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clusterGeneration                               1.3.8          2023-08-16 [2] CRAN (R 4.6.0)\n##   ClusterGVis                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClusterJudge                                    1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clusterProfiler                                 4.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClusterR                                        1.3.6          2025-12-22 [2] CRAN (R 4.6.0)\n##   clusterRepro                                    0.9            2018-10-15 [2] CRAN (R 4.6.0)\n##   clusterSeq                                      1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClusterSignificance                             1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clusterStab                                     1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clustifyr                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clustifyrdatahub                                1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ClustIRR                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clustree                                        0.5.1          2023-11-05 [2] CRAN (R 4.6.0)\n##   clustSIGNAL                                     1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   clustvarsel                                     2.3.5          2025-04-02 [2] CRAN (R 4.6.0)\n##   clValid                                         0.7            2021-02-14 [2] CRAN (R 4.6.0)\n##   CMA                                             1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cMAP                                            1.15.1         2026-04-20 [2] local\n##   cMap2data                                       1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   cmapR                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cmdfun                                          1.0.2          2020-10-10 [2] CRAN (R 4.6.0)\n##   cmprsk                                          2.2-12         2024-05-19 [2] CRAN (R 4.6.0)\n##   cn.farms                                        1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cn.mops                                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNAnorm                                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNEr                                            1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNORdt                                          1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNORfeeder                                      1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNORfuzzy                                       1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNORode                                         1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNTools                                         1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNVfilteR                                       1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cnvGSA                                          1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cnvGSAdata                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNViz                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNVMetrics                                      1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNVPanelizer                                    1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNVRanger                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CNVrd2                                          1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cobalt                                          4.6.2          2026-01-29 [2] CRAN (R 4.6.0)\n##   cobs                                            1.3-9-1        2025-07-02 [2] CRAN (R 4.6.0)\n##   CoCiteStats                                     1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   COCOA                                           2.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   coda                                            0.19-4.1       2024-01-31 [2] CRAN (R 4.6.0)\n##   CodeDepends                                     0.6.7          2026-03-03 [2] CRAN (R 4.6.0)\n##   codelink                                        1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   codemeta                                        0.1.1          2021-12-22 [2] CRAN (R 4.6.0)\n##   codemetar                                       0.3.7          2026-02-11 [2] CRAN (R 4.6.0)\n##   codetools                                       0.2-20         2024-03-31 [3] CRAN (R 4.6.0)\n##   CODEX                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   codingMatrices                                  0.4.0          2023-02-01 [2] CRAN (R 4.6.0)\n##   CoGAPS                                          3.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cogena                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cogeqc                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Cogito                                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   coGPS                                           1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   COHCAPanno                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   coin                                            1.4-3          2023-09-27 [2] CRAN (R 4.6.0)\n##   cola                                            2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   collapse                                        2.1.6          2026-01-11 [2] CRAN (R 4.6.0)\n##   collections                                     0.3.12         2026-03-22 [2] CRAN (R 4.6.0)\n##   colonCA                                         1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   colorBlindness                                  0.1.9          2021-04-17 [2] CRAN (R 4.6.0)\n##   colorRamps                                      2.3.4          2024-03-07 [2] CRAN (R 4.6.0)\n##   colorspace                                      2.1-2          2025-09-22 [2] CRAN (R 4.6.0)\n##   colourpicker                                    1.3.0          2023-08-21 [2] CRAN (R 4.6.0)\n##   colourvalues                                    0.3.11         2025-11-29 [2] CRAN (R 4.6.0)\n##   comapr                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   combi                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   combinat                                        0.0-8          2012-10-29 [2] CRAN (R 4.6.0)\n##   coMethDMR                                       1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   common                                          1.1.5          2026-02-23 [2] CRAN (R 4.6.0)\n##   commonmark                                      2.0.0          2025-07-07 [2] CRAN (R 4.6.0)\n##   compareGroups                                   4.10.2         2026-01-08 [2] CRAN (R 4.6.0)\n##   compcodeR                                       1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CompensAID                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   compEpiTools                                    1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   compiler                                        4.6.0          2026-04-20 [3] local\n##   ComplexHeatmap                                  2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ComplexUpset                                    1.3.3          2021-12-11 [2] CRAN (R 4.6.0)\n##   COMPoissonReg                                   0.8.1          2023-11-29 [2] CRAN (R 4.6.0)\n##   compositions                                    2.0-9          2025-08-21 [2] CRAN (R 4.6.0)\n##   CompoundDb                                      1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CompQuadForm                                    1.4.4          2025-07-13 [2] CRAN (R 4.6.0)\n##   ComPrAn                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   comprehenr                                      0.6.10         2021-01-31 [2] CRAN (R 4.6.0)\n##   compSPOT                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   concaveman                                      1.2.0          2025-10-06 [2] CRAN (R 4.6.0)\n##   concordexR                                      1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   condformat                                      0.10.1         2023-10-08 [2] CRAN (R 4.6.0)\n##   condiments                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   conf.design                                     2.0.0          2013-02-23 [2] CRAN (R 4.6.0)\n##   CONFESS                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CONFESSdata                                     1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   config                                          0.3.2          2023-08-30 [2] CRAN (R 4.6.0)\n##   configr                                         0.3.5          2020-07-17 [2] CRAN (R 4.6.0)\n##   confintr                                        1.0.2          2023-06-04 [2] CRAN (R 4.6.0)\n##   conflicted                                      1.2.0          2023-02-01 [2] CRAN (R 4.6.0)\n##   conicfit                                        1.0.4          2015-10-05 [2] CRAN (R 4.6.0)\n##   ConnectivityMap                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   consensus                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ConsensusClusterPlus                            1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   consensusOV                                     1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   consensusSeekeR                                 1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   consICA                                         2.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ConsRank                                        3.0            2026-02-25 [2] CRAN (R 4.6.0)\n##   CONSTANd                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   contrast                                        0.24.2         2022-10-05 [2] CRAN (R 4.6.0)\n##   conumee                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   convert                                         1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CooccurrenceAffinity                            2.0.0          2026-02-12 [2] CRAN (R 4.6.0)\n##   coop                                            0.6-3          2021-09-19 [2] CRAN (R 4.6.0)\n##   copa                                            1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   COPDSexualDimorphism.data                       1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   copula                                          1.1-7          2026-02-20 [2] CRAN (R 4.6.0)\n##   CopyhelpeR                                      1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CopyNeutralIMA                                  1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CopyNumberPlots                                 1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Coralysis                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   coRdon                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CoreGx                                          2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Cormotif                                        1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   corncob                                         0.4.2          2025-03-29 [2] CRAN (R 4.6.0)\n##   coro                                            1.1.0          2024-11-05 [2] CRAN (R 4.6.0)\n##   corpcor                                         1.6.10         2021-09-16 [2] CRAN (R 4.6.0)\n##   corral                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   corrgram                                        1.14           2021-04-29 [2] CRAN (R 4.6.0)\n##   corrplot                                        0.95           2024-10-14 [2] CRAN (R 4.6.0)\n##   coseq                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CoSIA                                           1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CoSIAdata                                       1.11.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   COSMIC.67                                       1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   cosmiq                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cosmosR                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   COSNet                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   COTAN                                           2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   countrycode                                     1.8.0          2026-04-16 [2] CRAN (R 4.6.0)\n##   countsimQC                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   covEB                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CoverageView                                    1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   covr                                            3.6.5          2025-11-09 [2] CRAN (R 4.6.0)\n##   covRNA                                          1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cowplot                                         1.2.0          2025-07-07 [2] CRAN (R 4.6.0)\n##   coxme                                           2.2-22         2024-08-23 [2] CRAN (R 4.6.0)\n##   coxrobust                                       1.0.2          2025-08-18 [2] CRAN (R 4.6.0)\n##   cp4p                                            0.3.6          2019-02-24 [2] CRAN (R 4.6.0)\n##   cplm                                            0.7-12.1       2024-09-21 [2] CRAN (R 4.6.0)\n##   cpp11                                           0.5.4          2026-04-04 [2] CRAN (R 4.6.0)\n##   CPSM                                            1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cpvSNP                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cqn                                             1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cramer                                          0.9-4          2024-02-05 [2] CRAN (R 4.6.0)\n##   crayon                                          1.5.3          2024-06-20 [2] CRAN (R 4.6.0)\n##   CrcBiomeScreen                                  1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CRCL18                                          1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   credentials                                     2.0.3          2025-09-12 [2] CRAN (R 4.6.0)\n##   crew                                            1.3.0          2025-09-13 [2] CRAN (R 4.6.0)\n##   CRImage                                         1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CRISPRball                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprBase                                      1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprBowtie                                    1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprBwa                                       1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprDesign                                    1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprScore                                     1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprScoreData                                 1.15.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CRISPRseek                                      1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprShiny                                     1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CrispRVariants                                  1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprVerse                                     1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crisprViz                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crlmm                                           1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crmn                                            0.0.21         2020-02-10 [2] CRAN (R 4.6.0)\n##   crochet                                         2.3.0          2020-05-20 [2] CRAN (R 4.6.0)\n##   crosstalk                                       1.2.2          2025-08-26 [2] CRAN (R 4.6.0)\n##   crul                                            1.6.0          2025-07-23 [2] CRAN (R 4.6.0)\n##   crumblr                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   crupR                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CSAR                                            1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   csaw                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   csawBook                                        1.20.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   csawUsersGuide                                  1.27.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   csdR                                            1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CSOA                                            1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CSSQ                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ctc                                             1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CTCF                                            0.99.14        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   CTdata                                          1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CTDquerier                                      2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CTexploreR                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cTRAP                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ctsGE                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CTSV                                            1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cubature                                        2.1.4-1        2025-11-22 [2] CRAN (R 4.6.0)\n##   Cubist                                          0.6.0          2026-03-02 [2] CRAN (R 4.6.0)\n##   cummeRbund                                      2.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedAdipoArray                               1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedAdipoChIP                                1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedAdipoRNA                                 1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   CuratedAtlasQueryR                              1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedBladderData                              1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedBreastData                               2.39.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedCRCData                                  2.43.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedMetagenomicData                          3.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedOvarianData                              1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedPCaData                                  1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedTBData                                   2.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curatedTCGAData                                 1.33.2         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   curl                                            7.1.0          2026-04-22 [2] CRAN (R 4.6.0)\n##   customCMPdb                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   customProDB                                     1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cvar                                            0.6            2025-12-17 [2] CRAN (R 4.6.0)\n##   cvAUC                                           1.1.4          2022-01-17 [2] CRAN (R 4.6.0)\n##   cvms                                            2.0.0          2025-11-10 [2] CRAN (R 4.6.0)\n##   cvTools                                         0.3.3          2024-03-13 [2] CRAN (R 4.6.0)\n##   CVXR                                            1.8.2          2026-04-04 [2] CRAN (R 4.6.0)\n##   cyanoFilter                                     1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cycle                                           1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cydar                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cypress                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CytoDx                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CyTOFpower                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytofQC                                         2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytofWorkflow                                   1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   CytoGLMM                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytoKernel                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytolib                                         2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytomapper                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CytoMDS                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytoMEM                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CytoMethIC                                      1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytometree                                      2.0.6          2025-07-24 [2] CRAN (R 4.6.0)\n##   CytoML                                          2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CytoPipeline                                    1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   CytoPipelineGUI                                 1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   cytoviewer                                      1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dada2                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dagitty                                         0.3-4          2023-12-07 [2] CRAN (R 4.6.0)\n##   dagLogo                                         1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   daMA                                            1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DAMEfinder                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   damidBind                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DaMiRseq                                        2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Damsel                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dandelionR                                      1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DAPAR                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DAPARdata                                       1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   dar                                             1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DART                                            1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dashboardthemes                                 1.1.6          2022-07-13 [2] CRAN (R 4.6.0)\n##   data.table                                      1.18.2.1       2026-01-27 [2] CRAN (R 4.6.0)\n##   data.tree                                       1.2.0          2025-08-25 [2] CRAN (R 4.6.0)\n##   DataEditR                                       1.0.0          2026-03-15 [2] CRAN (R 4.6.0)\n##   datamods                                        1.5.3          2024-10-02 [2] CRAN (R 4.6.0)\n##   datasets                                      * 4.6.0          2026-04-20 [3] local\n##   DataVisualizations                              1.4.0          2025-10-31 [2] CRAN (R 4.6.0)\n##   datawizard                                      1.3.1          2026-04-26 [2] CRAN (R 4.6.0)\n##   davidTiling                                     1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DBI                                             1.3.0          2026-02-25 [2] CRAN (R 4.6.0)\n##   dbplyr                                          2.5.2          2026-02-13 [2] CRAN (R 4.6.0)\n##   dbscan                                          1.2.4          2025-12-19 [2] CRAN (R 4.6.0)\n##   dcanr                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DCATS                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dcGSA                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dcurver                                         0.9.3          2025-10-24 [2] CRAN (R 4.6.0)\n##   ddCt                                            1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ddPCRclust                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DDRTree                                         0.1.6          2026-03-03 [2] CRAN (R 4.6.0)\n##   deadwood                                        0.9.0-3        2026-02-21 [2] CRAN (R 4.6.0)\n##   dearseq                                         1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   debrowser                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   debugme                                         1.2.0          2024-04-25 [2] CRAN (R 4.6.0)\n##   decemedip                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DECIPHER                                        3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   decompTumor2Sig                                 2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DeconRNASeq                                     1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   decontam                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   decontX                                         1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DeconvoBuddies                                  1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deconvR                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   decor                                           1.0.2          2023-07-01 [2] CRAN (R 4.6.0)\n##   decoupleR                                       2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DeeDeeExperiment                                1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DeepPINCS                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deepSNV                                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DeepTarget                                      1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEFormats                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DegCre                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DegNorm                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEGraph                                         1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEGreport                                       1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEGseq                                          1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Delaporte                                       8.4.3          2026-01-09 [2] CRAN (R 4.6.0)\n##   DelayedArray                                    0.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DelayedDataFrame                                1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DelayedMatrixStats                              1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DelayedRandomArray                              1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DelayedTensor                                   1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deldir                                          2.0-4          2024-02-28 [2] CRAN (R 4.6.0)\n##   DELocal                                         1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deltaCaptureC                                   1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deltaGseg                                       1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DeMAND                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deming                                          1.4-1          2024-06-26 [2] CRAN (R 4.6.0)\n##   DeMixT                                          2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   demuxmix                                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   demuxSNP                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dendextend                                      1.19.1         2025-07-15 [2] CRAN (R 4.6.0)\n##   dendsort                                        0.3.4          2021-04-20 [2] CRAN (R 4.6.0)\n##   DenoIST                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   densEstBayes                                    1.0-2.2        2023-03-31 [2] CRAN (R 4.6.0)\n##   densityClust                                    0.3.3          2024-01-29 [2] CRAN (R 4.6.0)\n##   densvis                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEoptim                                         2.2-8          2022-11-11 [2] CRAN (R 4.6.0)\n##   DEoptimR                                        1.1-4          2025-07-27 [2] CRAN (R 4.6.0)\n##   DepecheR                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DepInfeR                                        1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   depmap                                          1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   depmixS4                                        1.5-1          2025-05-11 [2] CRAN (R 4.6.0)\n##   DEqMS                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   derfinder                                       1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   derfinderData                                   2.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   derfinderHelper                                 1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   derfinderPlot                                   1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Deriv                                           4.2.0          2025-06-20 [2] CRAN (R 4.6.0)\n##   desc                                            1.4.3          2023-12-10 [2] CRAN (R 4.6.0)\n##   DEScan2                                         1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DescTools                                       0.99.60        2025-03-28 [2] CRAN (R 4.6.0)\n##   DESeq2                                          1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEsingle                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   deSolve                                         1.42           2026-03-20 [2] CRAN (R 4.6.0)\n##   DeSousa2013                                     1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DESpace                                         2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   destiny                                         3.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEsubs                                          1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   detectseparation                                0.4.0          2026-04-19 [2] CRAN (R 4.6.0)\n##   devEMF                                          4.5-1          2025-03-24 [2] CRAN (R 4.6.0)\n##   devtools                                        2.5.1          2026-04-16 [2] CRAN (R 4.6.0)\n##   DEWSeq                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DExMA                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DExMAdata                                       1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DEXSeq                                          1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DFP                                             1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DFplyr                                          1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DGEobj                                          1.1.2          2022-05-16 [2] CRAN (R 4.6.0)\n##   DGEobj.utils                                    1.0.6          2022-05-19 [2] CRAN (R 4.6.0)\n##   dgof                                            1.5.1          2024-10-09 [2] CRAN (R 4.6.0)\n##   DHARMa                                          0.4.7          2024-10-18 [2] CRAN (R 4.6.0)\n##   diagram                                         1.6.5          2020-09-30 [2] CRAN (R 4.6.0)\n##   DiagrammeR                                      1.0.12         2026-04-27 [2] CRAN (R 4.6.0)\n##   DiceKriging                                     1.6.1          2025-10-21 [2] CRAN (R 4.6.0)\n##   diceR                                           3.1.0          2025-06-19 [2] CRAN (R 4.6.0)\n##   dichromat                                       2.0-0.1        2022-05-02 [2] CRAN (R 4.6.0)\n##   DiffBind                                        3.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffcoexp                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DiffCorr                                        0.4.5          2025-06-08 [2] CRAN (R 4.6.0)\n##   diffcyt                                         1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DifferentialRegulation                          2.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffGeneAnalysis                                1.94.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffHic                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DiffLogo                                        2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffloopdata                                    1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffobj                                         0.3.6          2025-04-21 [2] CRAN (R 4.6.0)\n##   diffuStats                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffUTR                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diffviewer                                      0.1.2          2024-06-12 [2] CRAN (R 4.6.0)\n##   digest                                          0.6.39         2025-11-19 [2] CRAN (R 4.6.0)\n##   diggit                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diggitdata                                      1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Dino                                            1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dinoR                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   diptest                                         0.77-2         2025-08-20 [2] CRAN (R 4.6.0)\n##   dir.expiry                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   directlabels                                    2026.4.23      2026-04-23 [2] CRAN (R 4.6.0)\n##   directPA                                        1.5.1          2023-11-16 [2] CRAN (R 4.6.0)\n##   DirichletMultinomial                            1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DirichletReg                                    0.7-2          2025-05-31 [2] CRAN (R 4.6.0)\n##   dirmult                                         0.1.3-5        2022-03-21 [2] CRAN (R 4.6.0)\n##   discordant                                      1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DiscoRhythm                                     1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   distances                                       0.1.13         2025-11-24 [2] CRAN (R 4.6.0)\n##   distill                                         1.6            2023-10-06 [2] CRAN (R 4.6.0)\n##   distillery                                      1.2-2          2024-11-28 [2] CRAN (R 4.6.0)\n##   distinct                                        1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   distr                                           2.9.7          2025-01-12 [2] CRAN (R 4.6.0)\n##   distributional                                  0.7.0          2026-03-17 [2] CRAN (R 4.6.0)\n##   distributions3                                  0.2.3          2025-09-12 [2] CRAN (R 4.6.0)\n##   dittoSeq                                        1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   divergence                                      1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dixonTest                                       1.0.4          2022-08-22 [2] CRAN (R 4.6.0)\n##   dks                                             1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DLBCL                                           1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   dlstats                                         0.1.7          2023-05-24 [2] CRAN (R 4.6.0)\n##   DMCFB                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DMCHMM                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dmGsea                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dml                                             1.1.0          2015-08-29 [2] CRAN (R 4.6.0)\n##   DMRcaller                                       1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DMRcate                                         3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DMRcatedata                                     2.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DMRScan                                         1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DMRsegaldata                                    0.99.7         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   dmrseq                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNABarcodeCompatibility                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNABarcodes                                     1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNAcopy                                         1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNAcycP2                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNAfusion                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNAshapeR                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNAZooData                                      1.11.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DNEA                                            1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DO.db                                           2.9            2026-04-20 [2] Bioconductor\n##   doBy                                            4.7.1          2025-12-02 [2] CRAN (R 4.6.0)\n##   docopt                                          0.7.2          2025-03-25 [2] CRAN (R 4.6.0)\n##   DoE.base                                        1.2-5          2025-04-16 [2] CRAN (R 4.6.0)\n##   doFuture                                        1.2.1          2026-02-20 [2] CRAN (R 4.6.0)\n##   doMC                                            1.3.8          2022-02-05 [2] CRAN (R 4.6.0)\n##   dominatR                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dominatRData                                    0.99.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DominoEffect                                    1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dominoSignal                                    1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DonaPLLP2013                                    1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   doParallel                                      1.0.17         2022-02-07 [2] CRAN (R 4.6.0)\n##   doppelgangR                                     1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DoReMiTra                                       1.1.2          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   doRNG                                           1.8.6.3        2026-02-05 [2] CRAN (R 4.6.0)\n##   dorothea                                        1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Doscheda                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DOSE                                            4.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   doseR                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   doSNOW                                          1.0.20         2022-02-04 [2] CRAN (R 4.6.0)\n##   dotCall64                                       1.2            2024-10-04 [2] CRAN (R 4.6.0)\n##   DOtools                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DOTSeq                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DoubleExpSeq                                    1.1            2015-09-04 [2] CRAN (R 4.6.0)\n##   doubletrouble                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   downlit                                         0.4.5          2025-11-14 [2] CRAN (R 4.6.0)\n##   downloader                                      0.4.1          2025-03-26 [2] CRAN (R 4.6.0)\n##   downloadthis                                    0.5.0          2025-07-11 [2] CRAN (R 4.6.0)\n##   dplyr                                           1.2.1          2026-04-03 [2] CRAN (R 4.6.0)\n##   dqrng                                           0.4.1          2024-05-28 [2] CRAN (R 4.6.0)\n##   drat                                            0.2.5          2024-10-21 [2] CRAN (R 4.6.0)\n##   drawer                                          0.2.0.1        2022-08-19 [2] CRAN (R 4.6.0)\n##   drawProteins                                    1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   drc                                             3.0-1          2016-08-30 [2] CRAN (R 4.6.0)\n##   dreamlet                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dressCheck                                      0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DrImpute                                        1.0            2017-07-15 [2] CRAN (R 4.6.0)\n##   DRIMSeq                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DriverNet                                       1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DropletTestFiles                                1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DropletUtils                                    1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   drosgenome1.db                                  3.13.0         2026-04-20 [2] Bioconductor\n##   drosophila2probe                                2.18.0         2026-04-20 [2] Bioconductor\n##   drtmle                                          1.1.2          2023-01-05 [2] CRAN (R 4.6.0)\n##   drugfindR                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   drugTargetInteractions                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DrugVsDisease                                   2.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DrugVsDiseasedata                               1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DspikeIn                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DSS                                             2.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dStruct                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DT                                              0.34.0         2025-09-02 [2] CRAN (R 4.6.0)\n##   DTA                                             2.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dtangle                                         2.0.9          2019-12-01 [2] CRAN (R 4.6.0)\n##   dtplyr                                          1.3.3          2026-02-11 [2] CRAN (R 4.6.0)\n##   dtt                                             0.1-2.1        2025-06-17 [2] CRAN (R 4.6.0)\n##   dtw                                             1.23-2         2026-04-09 [2] CRAN (R 4.6.0)\n##   duckdb                                          1.5.2          2026-04-13 [2] CRAN (R 4.6.0)\n##   Dune                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dunn.test                                       1.3.7          2026-02-13 [2] CRAN (R 4.6.0)\n##   DuoClustering2018                               1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   DuplexDiscovereR                                1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dupRadar                                        1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   DvDdata                                         1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   dyebias                                         1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   dyebiasexamples                                 1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   dynamicTreeCut                                  1.63-1         2016-03-11 [2] CRAN (R 4.6.0)\n##   DynDoc                                          1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   e1071                                           1.7-17         2025-12-18 [2] CRAN (R 4.6.0)\n##   earth                                           5.3.5          2026-01-11 [2] CRAN (R 4.6.0)\n##   easier                                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   easierData                                      1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   easy.utils                                      0.1.0          2025-02-19 [2] CRAN (R 4.6.0)\n##   EasyCellType                                    1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   easylift                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   easyPubMed                                      3.1.6          2025-08-25 [2] CRAN (R 4.6.0)\n##   easyreporting                                   1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   easyRNASeq                                      2.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EatonEtAlChIPseq                                0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   EBarrays                                        2.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EBcoexpress                                     1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EBImage                                         4.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EBSEA                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EBSeq                                           2.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   echarts4r                                       0.5.0          2026-02-10 [2] CRAN (R 4.6.0)\n##   ecodist                                         2.1.3          2023-10-30 [2] CRAN (R 4.6.0)\n##   ecodive                                         2.2.6          2026-04-14 [2] CRAN (R 4.6.0)\n##   ecolicdf                                        2.18.0         2026-04-20 [2] Bioconductor\n##   ecoliLeucine                                    1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ecolitk                                         1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ecp                                             3.1.6          2024-08-26 [2] CRAN (R 4.6.0)\n##   Ecume                                           0.9.2          2024-05-28 [2] CRAN (R 4.6.0)\n##   EDASeq                                          2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   edge                                            2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   edgeR                                           4.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EDIRquery                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   edlibR                                          1.0.3          2025-07-20 [2] CRAN (R 4.6.0)\n##   eds                                             1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   effectsize                                      1.0.2          2026-03-11 [2] CRAN (R 4.6.0)\n##   effsize                                         0.8.1          2020-10-05 [2] CRAN (R 4.6.0)\n##   EGAD                                            1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   egg                                             0.4.5          2019-07-13 [2] CRAN (R 4.6.0)\n##   EGSEA                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EGSEA123                                        1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   EGSEAdata                                       1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   einsum                                          0.1.2          2023-08-28 [2] CRAN (R 4.6.0)\n##   eiR                                             1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   eisaR                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   elasticnet                                      1.3            2020-05-15 [2] CRAN (R 4.6.0)\n##   elitism                                         1.1.1          2023-09-02 [2] CRAN (R 4.6.0)\n##   ellipse                                         0.5.0          2023-07-20 [2] CRAN (R 4.6.0)\n##   ellipsis                                        0.3.3          2026-04-04 [2] CRAN (R 4.6.0)\n##   ellmer                                          0.4.0          2025-11-15 [2] CRAN (R 4.6.0)\n##   ELMER                                           2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ELMER.data                                      2.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   elsa                                            1.1-28         2020-03-19 [2] CRAN (R 4.6.0)\n##   ELViS                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   embed                                           1.2.2          2026-01-29 [2] CRAN (R 4.6.0)\n##   emdbook                                         1.3.14         2025-07-23 [2] CRAN (R 4.6.0)\n##   emdist                                          0.3-3          2023-08-18 [2] CRAN (R 4.6.0)\n##   EMDomics                                        2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   emmeans                                         2.0.3          2026-04-09 [2] CRAN (R 4.6.0)\n##   emoji                                           16.0.0         2024-10-28 [2] CRAN (R 4.6.0)\n##   emojifont                                       0.6.0          2026-02-27 [2] CRAN (R 4.6.0)\n##   EmpiricalBrownsMethod                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   emtdata                                         1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   EMTscoreData                                    0.99.10        2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ENCODExplorerData                               0.99.5         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   energy                                          1.7-12         2024-08-24 [2] CRAN (R 4.6.0)\n##   english                                         1.2-6          2021-08-21 [2] CRAN (R 4.6.0)\n##   EnhancedVolcano                                 1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   enhancerHomologSearch                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EnMCB                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ENmix                                           1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EnrichDO                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EnrichedHeatmap                                 1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   enrichit                                        0.1.4          2026-04-08 [2] CRAN (R 4.6.0)\n##   EnrichmentBrowser                               2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   enrichplot                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   enrichR                                         3.4            2025-02-02 [2] CRAN (R 4.6.0)\n##   enrichViewNet                                   1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EnsDb.Hsapiens.v75                              2.99.0         2026-04-20 [2] Bioconductor\n##   EnsDb.Hsapiens.v79                              2.99.0         2026-04-20 [2] Bioconductor\n##   EnsDb.Hsapiens.v86                              2.99.0         2026-04-20 [2] Bioconductor\n##   EnsDb.Mmusculus.v79                             2.99.0         2026-04-20 [2] Bioconductor\n##   ensembldb                                       2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   entropy                                         1.3.2          2025-04-07 [2] CRAN (R 4.6.0)\n##   enviGCMS                                        0.8.0          2025-01-14 [2] CRAN (R 4.6.0)\n##   enviPat                                         2.8            2026-01-29 [2] CRAN (R 4.6.0)\n##   EnvStats                                        3.1.0          2025-04-24 [2] CRAN (R 4.6.0)\n##   eoPredData                                      1.5.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   epialleleR                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiCompare                                      1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EPICv2manifest                                  0.99.7         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   epidecodeR                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiDISH                                         2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epigenomix                                      1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epigraHMM                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiMix                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiMix.data                                     1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   epimutacions                                    1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epimutacionsData                                1.15.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   epiNEM                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpipwR                                          1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpipwR.data                                     1.5.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   epiR                                            2.0.92         2026-04-08 [2] CRAN (R 4.6.0)\n##   epiregulon                                      2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epiregulon.extra                                1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epiRomics                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epiSeeker                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epistack                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epistasisGA                                     1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiTxDb                                         1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiTxDb.Hs.hg38                                 0.99.7         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiTxDb.Mm.mm10                                 0.99.6         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   EpiTxDb.Sc.sacCer3                              0.99.5         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   epivizr                                         2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epivizrChart                                    1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epivizrData                                     1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epivizrServer                                   1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   epivizrStandalone                               1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   erccdashboard                                   1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ERSSA                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   esATAC                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   escape                                          2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   escheR                                          1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   esetVis                                         1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   esquisse                                        2.1.0          2025-02-21 [2] CRAN (R 4.6.0)\n##   estimability                                    1.5.1          2024-05-12 [2] CRAN (R 4.6.0)\n##   estrogen                                        1.57.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   etec16s                                         1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   etrunct                                         0.1            2016-07-04 [2] CRAN (R 4.6.0)\n##   eudysbiome                                      1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   eulerr                                          7.1.0          2026-04-21 [2] CRAN (R 4.6.0)\n##   EuPathDB                                        1.0.1          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   europepmc                                       0.4.3          2023-09-20 [2] CRAN (R 4.6.0)\n##   eva                                             0.2.6          2020-11-15 [2] CRAN (R 4.6.0)\n##   evaluate                                        1.0.5          2025-08-27 [2] CRAN (R 4.6.0)\n##   evaluomeR                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   evd                                             2.3-7.1        2024-09-21 [2] CRAN (R 4.6.0)\n##   EventPointer                                    3.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   evmix                                           2.12           2019-09-03 [2] CRAN (R 4.6.0)\n##   EWCE                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ewceData                                        1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Exact                                           3.3            2024-07-21 [2] CRAN (R 4.6.0)\n##   exactRankTests                                  0.8-36         2026-03-09 [2] CRAN (R 4.6.0)\n##   excelR                                          0.4.0          2020-03-09 [2] CRAN (R 4.6.0)\n##   excluderanges                                   0.99.11        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExCluster                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExiMiR                                          2.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExperimentHub                                   3.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExperimentHubData                               1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExperimentSubset                                1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExpHunterSuite                                  1.19.1         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   expint                                          0.2-1          2026-01-27 [2] CRAN (R 4.6.0)\n##   ExploreModelMatrix                              1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   expm                                            1.0-0          2024-08-19 [2] CRAN (R 4.6.0)\n##   ExpoRiskR                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExPosition                                      2.11.0         2025-04-13 [2] CRAN (R 4.6.0)\n##   ExpressionAtlas                                 2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExpressionNormalizationWorkflow                 1.37.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   ExtDist                                         0.7-4          2025-09-23 [2] CRAN (R 4.6.0)\n##   extraChIPs                                      1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   extraDistr                                      1.10.0.3       2026-04-22 [2] CRAN (R 4.6.0)\n##   extRemes                                        2.2-1          2025-05-16 [2] CRAN (R 4.6.0)\n##   EZtune                                          3.1.1          2021-12-10 [2] CRAN (R 4.6.0)\n##   faahKO                                          1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fabia                                           2.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fabiaData                                       1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fabR                                            2.1.1          2025-06-25 [2] CRAN (R 4.6.0)\n##   fabricatr                                       1.0.2          2024-01-16 [2] CRAN (R 4.6.0)\n##   factDesign                                      1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   factoextra                                      2.0.0          2026-03-03 [2] CRAN (R 4.6.0)\n##   FactoInvestigate                                1.9.1          2025-12-29 [2] CRAN (R 4.6.0)\n##   FactoMineR                                      2.14           2026-04-08 [2] CRAN (R 4.6.0)\n##   factR                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   faers                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FamAgg                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   famat                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fANCOVA                                         0.6-1          2020-11-13 [2] CRAN (R 4.6.0)\n##   fansi                                           1.0.7          2025-11-19 [2] CRAN (R 4.6.0)\n##   FANTOM3and4CAGE                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   farver                                          2.1.2          2024-05-13 [2] CRAN (R 4.6.0)\n##   fastcluster                                     1.3.0          2025-05-07 [2] CRAN (R 4.6.0)\n##   fastDummies                                     1.7.6          2026-04-22 [2] CRAN (R 4.6.0)\n##   fastICA                                         1.2-7          2024-12-11 [2] CRAN (R 4.6.0)\n##   fastLiquidAssociation                           1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fastmap                                         1.2.0          2024-05-15 [2] CRAN (R 4.6.0)\n##   fastmatch                                       1.1-8          2026-01-17 [2] CRAN (R 4.6.0)\n##   fastmatrix                                      0.6-6          2026-01-14 [2] CRAN (R 4.6.0)\n##   FastqCleaner                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fastqcr                                         0.1.3          2023-02-18 [2] CRAN (R 4.6.0)\n##   fastRanges                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fastreeR                                        2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fastseg                                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fastshap                                        0.1.1          2024-02-22 [2] CRAN (R 4.6.0)\n##   fBasics                                         4052.98        2025-12-07 [2] CRAN (R 4.6.0)\n##   fCCAC                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fCI                                             1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fclust                                          2.1.3          2025-10-18 [2] CRAN (R 4.6.0)\n##   FCPS                                            1.3.6          2026-03-26 [2] CRAN (R 4.6.0)\n##   fcScan                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fda                                             6.3.0          2025-05-21 [2] CRAN (R 4.6.0)\n##   fdatest                                         2.1.1          2022-05-04 [2] CRAN (R 4.6.0)\n##   FDb.InfiniumMethylation.hg18                    2.2.0          2026-04-20 [2] Bioconductor\n##   FDb.InfiniumMethylation.hg19                    2.2.0          2026-04-20 [2] Bioconductor\n##   FDb.UCSC.tRNAs                                  1.0.1          2026-04-20 [2] Bioconductor\n##   fdrame                                          1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fdrtool                                         1.2.18         2024-08-20 [2] CRAN (R 4.6.0)\n##   fds                                             1.8            2018-10-31 [2] CRAN (R 4.6.0)\n##   FEAST                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FeatSeekR                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   feature                                         1.2.15         2021-02-10 [2] CRAN (R 4.6.0)\n##   fedup                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FELLA                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fenr                                            1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ff                                              4.5.2          2025-01-13 [2] CRAN (R 4.6.0)\n##   ffpe                                            1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ffpeExampleData                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fftw                                            1.0-9          2024-09-20 [2] CRAN (R 4.6.0)\n##   fftwtools                                       0.9-11         2021-03-01 [2] CRAN (R 4.6.0)\n##   fGarch                                          4052.93        2025-12-12 [2] CRAN (R 4.6.0)\n##   fgga                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FGNet                                           3.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fgsea                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fibroEset                                       1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FieldEffectCrc                                  1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fields                                          17.1           2025-09-08 [2] CRAN (R 4.6.0)\n##   filehash                                        2.4-6          2024-06-25 [2] CRAN (R 4.6.0)\n##   filelock                                        1.0.3          2023-12-11 [2] CRAN (R 4.6.0)\n##   filematrix                                      1.3            2018-02-27 [2] CRAN (R 4.6.0)\n##   filesstrings                                    3.4.0          2024-02-11 [2] CRAN (R 4.6.0)\n##   FilterFFPE                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   findIPs                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FindIT2                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   findpython                                      1.0.9          2024-11-19 [2] CRAN (R 4.6.0)\n##   FinfoMDS                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fingerprint                                     3.5.10         2026-04-04 [2] CRAN (R 4.6.0)\n##   FIs                                             1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FISHalyseR                                      1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fishpond                                        2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fission                                         1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fit.models                                      0.64           2020-08-02 [2] CRAN (R 4.6.0)\n##   fitdistrplus                                    1.2-6          2026-01-24 [2] CRAN (R 4.6.0)\n##   FitHiC                                          1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flagme                                          1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FLAMES                                          2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flashClust                                      1.1-4          2026-03-03 [2] CRAN (R 4.6.0)\n##   flatxml                                         0.1.1          2020-12-01 [2] CRAN (R 4.6.0)\n##   Fletcher2013a                                   1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Fletcher2013b                                   1.47.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   flexclust                                       1.5.0          2025-02-28 [2] CRAN (R 4.6.0)\n##   flexdashboard                                   0.6.3          2026-01-28 [2] CRAN (R 4.6.0)\n##   flexmix                                         2.3-20         2025-02-28 [2] CRAN (R 4.6.0)\n##   FlexParamCurve                                  1.5-7          2025-08-26 [2] CRAN (R 4.6.0)\n##   flextable                                       0.9.11         2026-02-13 [2] CRAN (R 4.6.0)\n##   float                                           0.3-3          2025-03-12 [2] CRAN (R 4.6.0)\n##   flock                                           0.7            2016-11-12 [2] CRAN (R 4.6.0)\n##   flowAI                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowBeads                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowBin                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowcatchR                                      1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowCHIC                                        1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowClean                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowClust                                       3.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowCore                                        2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowCut                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowCyBar                                       1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowDensity                                     1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowFP                                          1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowGate                                        1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowGraph                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowMatch                                       1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowMeans                                       1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowMerge                                       2.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowPeaks                                       1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowPloidy                                      1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowPloidyData                                  1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowPlots                                       1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSOM                                         2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSorted.Blood.450k                           1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSorted.Blood.EPIC                           2.15.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSorted.CordBlood.450k                       1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSorted.CordBloodCombined.450k               1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSorted.CordBloodNorway.450k                 1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   FlowSorted.DLPFC.450k                           1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowSpecs                                       1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowStats                                       4.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowTime                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowTrans                                       1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowViz                                         1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowVS                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowWorkspace                                   4.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   flowWorkspaceData                               3.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fluentGenomics                                  1.23.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   fmcsR                                           1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FME                                             1.3.6.4        2025-07-25 [2] CRAN (R 4.6.0)\n##   fmrs                                            1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fmsb                                            0.7.6          2024-01-19 [2] CRAN (R 4.6.0)\n##   FMStable                                        0.1-4          2022-06-06 [2] CRAN (R 4.6.0)\n##   FNN                                             1.1.4.1        2024-09-22 [2] CRAN (R 4.6.0)\n##   fobitools                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fontawesome                                     0.5.3          2024-11-16 [2] CRAN (R 4.6.0)\n##   fontBitstreamVera                               0.1.1          2017-02-01 [2] CRAN (R 4.6.0)\n##   fontLiberation                                  0.1.0          2016-10-15 [2] CRAN (R 4.6.0)\n##   fontquiver                                      0.2.1          2017-02-01 [2] CRAN (R 4.6.0)\n##   forcats                                         1.0.1          2025-09-25 [2] CRAN (R 4.6.0)\n##   foreach                                         1.5.2          2022-02-02 [2] CRAN (R 4.6.0)\n##   forecast                                        9.0.2          2026-03-18 [2] CRAN (R 4.6.0)\n##   foreign                                         0.8-91         2026-01-29 [3] CRAN (R 4.6.0)\n##   forestplot                                      3.2.0          2026-03-04 [2] CRAN (R 4.6.0)\n##   formatR                                         1.14           2023-01-17 [2] CRAN (R 4.6.0)\n##   formattable                                     0.2.1          2021-01-07 [2] CRAN (R 4.6.0)\n##   Formula                                         1.2-5          2023-02-24 [2] CRAN (R 4.6.0)\n##   formula.tools                                   1.7.1          2018-03-01 [2] CRAN (R 4.6.0)\n##   fossil                                          0.4.0          2020-03-23 [2] CRAN (R 4.6.0)\n##   fourDNData                                      1.11.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   fourSynergy                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fpc                                             2.2-14         2026-01-14 [2] CRAN (R 4.6.0)\n##   fracdiff                                        1.5-4          2026-04-28 [2] CRAN (R 4.6.0)\n##   fractional                                      0.1.3          2016-02-15 [2] CRAN (R 4.6.0)\n##   fRagmentomics                                   1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fraq                                            1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   FRASER                                          2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   frenchFISH                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fresh                                           0.2.2          2025-09-04 [2] CRAN (R 4.6.0)\n##   FrF2                                            2.3-4          2025-04-16 [2] CRAN (R 4.6.0)\n##   FRGEpistasis                                    1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   frma                                            1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   frmaExampleData                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   frmaTools                                       1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   fs                                              2.1.0          2026-04-18 [2] CRAN (R 4.6.0)\n##   FSA                                             0.10.1         2026-01-10 [2] CRAN (R 4.6.0)\n##   fscache                                         1.0.5          2024-06-02 [2] CRAN (R 4.6.0)\n##   FSelector                                       0.34           2023-08-22 [2] CRAN (R 4.6.0)\n##   fst                                             0.9.8          2022-02-08 [2] CRAN (R 4.6.0)\n##   fstcore                                         0.10.0         2025-02-10 [2] CRAN (R 4.6.0)\n##   functional                                      0.6            2014-07-16 [2] CRAN (R 4.6.0)\n##   funkycells                                      1.1.1          2023-08-09 [2] CRAN (R 4.6.0)\n##   funOmics                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   funtooNorm                                      1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   furrowSeg                                       1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   furrr                                           0.4.0          2026-03-31 [2] CRAN (R 4.6.0)\n##   FuseSOM                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   futile.logger                                   1.4.9          2025-12-29 [2] CRAN (R 4.6.0)\n##   futile.options                                  1.0.1          2018-04-20 [2] CRAN (R 4.6.0)\n##   future                                          1.70.0         2026-03-14 [2] CRAN (R 4.6.0)\n##   future.apply                                    1.20.2         2026-02-20 [2] CRAN (R 4.6.0)\n##   fuzzyjoin                                       0.1.8          2026-02-20 [2] CRAN (R 4.6.0)\n##   G4SNVHunter                                     1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GA                                              3.2.5          2026-01-08 [2] CRAN (R 4.6.0)\n##   GA4GHclient                                     1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GA4GHshiny                                      1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gaga                                            2.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gage                                            2.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gageData                                        2.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   gam                                             1.22-7         2025-12-10 [2] CRAN (R 4.6.0)\n##   gamlss                                          5.5-0          2025-08-19 [2] CRAN (R 4.6.0)\n##   gamlss.data                                     6.0-7          2025-09-04 [2] CRAN (R 4.6.0)\n##   gamlss.dist                                     6.1-1          2023-08-23 [2] CRAN (R 4.6.0)\n##   gamlss.tr                                       5.1-9          2024-01-30 [2] CRAN (R 4.6.0)\n##   gamm4                                           0.2-7          2025-04-22 [2] CRAN (R 4.6.0)\n##   gap                                             1.14           2026-02-19 [2] CRAN (R 4.6.0)\n##   gap.datasets                                    0.0.6          2023-08-25 [2] CRAN (R 4.6.0)\n##   GAprediction                                    1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   garfield                                        1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gargle                                          1.6.1          2026-01-29 [2] CRAN (R 4.6.0)\n##   GARS                                            1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gaschYHS                                        1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GateFinder                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gatom                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gbm                                             2.2.3          2026-01-22 [2] CRAN (R 4.6.0)\n##   GBScleanR                                       2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gbutils                                         0.5.1          2025-12-18 [2] CRAN (R 4.6.0)\n##   gcapc                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gcatest                                         2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gclus                                           1.3.3          2025-03-28 [2] CRAN (R 4.6.0)\n##   GCPtools                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gCrisprTools                                    2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gcrma                                           2.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gcspikelite                                     1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   gdata                                           3.0.1          2024-10-22 [2] CRAN (R 4.6.0)\n##   GDCRNATools                                     1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDNAinRNAseqData                                1.11.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDNAx                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDR                                             1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDRcore                                         1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDRimport                                       1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDRstyle                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDRtestData                                     1.9.2          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   gDRutils                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GDSArray                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gdsfmt                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gdtools                                         0.5.0          2026-02-09 [2] CRAN (R 4.6.0)\n##   GeDi                                            1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geeM                                            0.10.1         2018-06-18 [2] CRAN (R 4.6.0)\n##   geepack                                         1.3.13         2025-10-14 [2] CRAN (R 4.6.0)\n##   geigen                                          2.3            2019-05-30 [2] CRAN (R 4.6.0)\n##   GEM                                             1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gemini                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gemma.R                                         3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genalg                                          0.2.1          2022-04-04 [2] CRAN (R 4.6.0)\n##   genArise                                        1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneAttribution                                 1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneBreak                                       1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneClassifiers                                 1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneExpressionFromGEO                           1.3            2025-12-09 [2] CRAN (R 4.6.0)\n##   GeneExpressionSignature                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genefilter                                      1.94.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genefu                                          2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneGA                                          1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genekitr                                        1.2.8          2024-09-06 [2] CRAN (R 4.6.0)\n##   geneLenDataBase                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneMeta                                        1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneNet                                         1.2.17         2025-04-07 [2] CRAN (R 4.6.0)\n##   GeneNetworkBuilder                              1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneOverlap                                     1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneplast                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneplast.data                                  0.99.9         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneplast.data.string.v91                       0.99.6         2026-04-20 [2] Bioconductor\n##   geneplotter                                     1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneRecommender                                 1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneRegionScan                                  1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   generegulation                                  1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   generics                                        0.1.4          2025-05-09 [2] CRAN (R 4.6.0)\n##   geneRxCluster                                   1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneSelectMMD                                   2.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geneset                                         0.2.7          2022-11-20 [2] CRAN (R 4.6.0)\n##   GENESIS                                         2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneStructureTools                              1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneSummary                                     0.99.7         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   geNetClassifier                                 1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genetics                                        1.3.8.1.3      2021-03-01 [2] CRAN (R 4.6.0)\n##   GeneticsPed                                     1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeneTonic                                       3.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GENIE3                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genieclust                                      1.3.0          2026-02-23 [2] CRAN (R 4.6.0)\n##   genio                                           1.1.2          2023-01-06 [2] CRAN (R 4.6.0)\n##   genlasso                                        1.6.1          2022-08-22 [2] CRAN (R 4.6.0)\n##   GENLIB                                          1.1.10         2024-02-19 [2] CRAN (R 4.6.0)\n##   genomation                                      1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genomationData                                  1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomAutomorphism                               1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomeInfoDb                                    1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomeInfoDbData                                1.2.15         2026-04-20 [2] Bioconductor\n##   genomeIntervals                                 1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genomes                                         3.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genomewidesnp5Crlmm                             1.0.6          2026-04-20 [2] local\n##   genomewidesnp6Crlmm                             1.0.7          2026-04-20 [2] Bioconductor\n##   GenomicAlignments                               1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicCoordinates                              1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicDataCommons                              1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicDistributions                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicDistributionsData                        1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicFeatures                                 1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicFiles                                    1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   genomicInstability                              1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicInteractionNodes                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicInteractions                             1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicOZone                                    1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicPlot                                     1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicRanges                                   1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicScores                                   2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicState                                    0.99.17        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicSuperSignature                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenomicTools.fileHandler                        0.1.5.9        2020-03-05 [2] CRAN (R 4.6.0)\n##   GenomicTuples                                   1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenProSeq                                       1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GenSA                                           1.1.15         2025-11-26 [2] CRAN (R 4.6.0)\n##   GenVisR                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeoDiff                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GEOexplorer                                     1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GEOfastq                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GEOmetadb                                       1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geomeTriD                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geometries                                      0.2.5          2025-11-23 [2] CRAN (R 4.6.0)\n##   geometry                                        0.5.2          2025-02-08 [2] CRAN (R 4.6.0)\n##   geomtextpath                                    0.2.0          2025-07-21 [2] CRAN (R 4.6.0)\n##   GeomxTools                                      3.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeoMxWorkflows                                  1.17.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   GEOquery                                        2.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geosphere                                       1.6-8          2026-04-05 [2] CRAN (R 4.6.0)\n##   GEOsubmission                                   1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GeoTcgaData                                     2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gert                                            2.3.1          2026-01-11 [2] CRAN (R 4.6.0)\n##   getDEE2                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   getopt                                          1.21.1         2026-04-27 [2] CRAN (R 4.6.0)\n##   GetoptLong                                      1.1.1          2026-04-08 [2] CRAN (R 4.6.0)\n##   getPass                                         0.2-4          2023-12-10 [2] CRAN (R 4.6.0)\n##   GeuvadisTranscriptExpr                          1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   geva                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GEWIST                                          1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   geyser                                          1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GFA                                             1.0.5          2023-10-21 [2] CRAN (R 4.6.0)\n##   gg4way                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggalluvial                                      0.12.6         2026-02-22 [2] CRAN (R 4.6.0)\n##   GGally                                          2.4.0          2025-08-23 [2] CRAN (R 4.6.0)\n##   gganimate                                       1.0.11         2025-09-04 [2] CRAN (R 4.6.0)\n##   ggarchery                                       0.4.4          2025-07-24 [2] CRAN (R 4.6.0)\n##   ggbeeswarm                                      0.7.3          2025-11-29 [2] CRAN (R 4.6.0)\n##   ggbio                                           1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggcorrplot                                      0.1.4.1        2023-09-05 [2] CRAN (R 4.6.0)\n##   ggcyto                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggdag                                           0.2.13         2024-07-22 [2] CRAN (R 4.6.0)\n##   ggdendro                                        0.2.0          2024-02-23 [2] CRAN (R 4.6.0)\n##   ggdensity                                       1.0.1          2026-02-26 [2] CRAN (R 4.6.0)\n##   ggdist                                          3.3.3          2025-04-23 [2] CRAN (R 4.6.0)\n##   ggeasy                                          0.1.6          2025-06-15 [2] CRAN (R 4.6.0)\n##   ggeffects                                       2.3.2          2025-12-16 [2] CRAN (R 4.6.0)\n##   ggExtra                                         0.11.0         2025-09-01 [2] CRAN (R 4.6.0)\n##   ggfittext                                       0.10.3         2025-12-13 [2] CRAN (R 4.6.0)\n##   ggforce                                         0.5.0          2025-06-18 [2] CRAN (R 4.6.0)\n##   ggformula                                       1.0.1          2026-01-17 [2] CRAN (R 4.6.0)\n##   ggfortify                                       0.4.19         2025-07-27 [2] CRAN (R 4.6.0)\n##   ggfun                                           0.2.0          2025-07-15 [2] CRAN (R 4.6.0)\n##   gggenes                                         0.6.0          2025-12-14 [2] CRAN (R 4.6.0)\n##   ggh4x                                           0.3.1          2025-05-30 [2] CRAN (R 4.6.0)\n##   gghighlight                                     0.5.0          2025-06-14 [2] CRAN (R 4.6.0)\n##   ggHoriPlot                                      1.0.1          2022-10-11 [2] CRAN (R 4.6.0)\n##   ggimage                                         0.3.5          2026-01-08 [2] CRAN (R 4.6.0)\n##   gginnards                                       0.2.0-2        2025-11-12 [2] CRAN (R 4.6.0)\n##   ggiraph                                         0.9.6          2026-02-21 [2] CRAN (R 4.6.0)\n##   ggiraphExtra                                    0.3.0          2020-10-06 [2] CRAN (R 4.6.0)\n##   ggkegg                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggm                                             2.5.2          2025-07-25 [2] CRAN (R 4.6.0)\n##   ggmanh                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggmcmc                                          1.5.1.2        2025-10-02 [2] CRAN (R 4.6.0)\n##   ggmsa                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggnetwork                                       0.5.14         2025-09-10 [2] CRAN (R 4.6.0)\n##   ggnewscale                                      0.5.2          2025-06-20 [2] CRAN (R 4.6.0)\n##   GGPA                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggpattern                                       1.3.1          2026-03-07 [2] CRAN (R 4.6.0)\n##   ggplot.multistats                               1.0.1          2024-09-25 [2] CRAN (R 4.6.0)\n##   ggplot2                                         4.0.3          2026-04-22 [2] CRAN (R 4.6.0)\n##   ggplotify                                       0.1.3          2025-09-20 [2] CRAN (R 4.6.0)\n##   ggpmisc                                         0.7.0          2026-03-23 [2] CRAN (R 4.6.0)\n##   ggpointdensity                                  0.2.1          2025-11-18 [2] CRAN (R 4.6.0)\n##   ggpp                                            0.6.0          2026-01-18 [2] CRAN (R 4.6.0)\n##   ggprism                                         1.0.7          2025-08-23 [2] CRAN (R 4.6.0)\n##   ggpubr                                          0.6.3          2026-02-24 [2] CRAN (R 4.6.0)\n##   ggrain                                          0.1.2          2026-01-23 [2] CRAN (R 4.6.0)\n##   ggraph                                          2.2.2          2025-08-24 [2] CRAN (R 4.6.0)\n##   ggrastr                                         1.0.2          2023-06-01 [2] CRAN (R 4.6.0)\n##   ggrepel                                         0.9.8          2026-03-17 [2] CRAN (R 4.6.0)\n##   ggridges                                        0.5.7          2025-08-27 [2] CRAN (R 4.6.0)\n##   ggsc                                            1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggsci                                           5.0.0          2026-04-17 [2] CRAN (R 4.6.0)\n##   ggseqalign                                      1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggseqlogo                                       0.2.2          2025-12-22 [2] CRAN (R 4.6.0)\n##   ggside                                          0.4.1          2025-11-25 [2] CRAN (R 4.6.0)\n##   ggsignif                                        0.6.4          2022-10-13 [2] CRAN (R 4.6.0)\n##   ggspavis                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggstance                                        0.3.7          2024-04-05 [2] CRAN (R 4.6.0)\n##   ggstar                                          1.0.6          2025-09-19 [2] CRAN (R 4.6.0)\n##   ggstats                                         0.13.0         2026-03-06 [2] CRAN (R 4.6.0)\n##   ggsurvfit                                       1.2.0          2025-09-13 [2] CRAN (R 4.6.0)\n##   ggtangle                                        0.1.2          2026-04-22 [2] CRAN (R 4.6.0)\n##   ggtern                                          4.0.0          2025-11-26 [2] CRAN (R 4.6.0)\n##   ggtext                                          0.1.2          2022-09-16 [2] CRAN (R 4.6.0)\n##   ggthemes                                        5.2.0          2025-11-30 [2] CRAN (R 4.6.0)\n##   ggtree                                          4.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggtreeDendro                                    1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggtreeExtra                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggtreeSpace                                     1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ggupset                                         0.4.1          2025-02-11 [2] CRAN (R 4.6.0)\n##   ggvenn                                          0.1.19         2025-10-08 [2] CRAN (R 4.6.0)\n##   ggVennDiagram                                   1.5.7          2026-01-10 [2] CRAN (R 4.6.0)\n##   ggvis                                           0.4.10         2026-02-10 [2] CRAN (R 4.6.0)\n##   ggwordcloud                                     0.6.2          2024-05-30 [2] CRAN (R 4.6.0)\n##   gh                                              1.5.0          2025-05-26 [2] CRAN (R 4.6.0)\n##   GIGSEA                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GIGSEAdata                                      1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ginmappeR                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gINTomics                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   git2r                                           0.36.2         2025-03-29 [2] CRAN (R 4.6.0)\n##   gitcreds                                        0.1.2          2022-09-08 [2] CRAN (R 4.6.0)\n##   GLAD                                            2.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GladiaTOX                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   glasso                                          1.11           2019-10-01 [2] CRAN (R 4.6.0)\n##   glassoFast                                      1.0.1          2023-08-21 [2] CRAN (R 4.6.0)\n##   gld                                             2.6.8          2025-09-14 [2] CRAN (R 4.6.0)\n##   Glimma                                          2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   glm2                                            1.2.1          2018-08-11 [2] CRAN (R 4.6.0)\n##   glmGamPoi                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   glmmSeq                                         0.5.7          2025-10-02 [2] CRAN (R 4.6.0)\n##   glmmTMB                                         1.1.14         2026-01-15 [2] CRAN (R 4.6.0)\n##   glmnet                                          4.1-10         2025-07-17 [2] CRAN (R 4.6.0)\n##   glmnetUtils                                     1.1.9          2023-09-10 [2] CRAN (R 4.6.0)\n##   glmpca                                          0.2.0          2020-07-18 [2] CRAN (R 4.6.0)\n##   glmSparseNet                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GlobalAncova                                    4.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GlobalOptions                                   0.1.4          2026-04-08 [2] CRAN (R 4.6.0)\n##   globals                                         0.19.1         2026-03-13 [2] CRAN (R 4.6.0)\n##   globalSeq                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   globaltest                                      5.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GloScope                                        2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   glue                                            1.8.1          2026-04-17 [2] CRAN (R 4.6.0)\n##   glycoTraitR                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gmapR                                           1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GmicR                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gmm                                             1.9-1          2025-08-26 [2] CRAN (R 4.6.0)\n##   gmodels                                         2.19.1         2024-03-06 [2] CRAN (R 4.6.0)\n##   gmoviz                                          1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gmp                                             0.7-5.1        2026-02-09 [2] CRAN (R 4.6.0)\n##   GMRP                                            1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GNET2                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gnm                                             1.1-5          2023-09-16 [2] CRAN (R 4.6.0)\n##   GNOSIS                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GO.db                                           3.23.1         2026-04-20 [2] Bioconductor\n##   GOaGO                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   goat                                            1.1.5          2026-02-04 [2] CRAN (R 4.6.0)\n##   goatea                                          2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GOexpress                                       1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GOfan                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GoFKernel                                       2.1-3          2024-12-06 [2] CRAN (R 4.6.0)\n##   goftest                                         1.2-3          2021-10-07 [2] CRAN (R 4.6.0)\n##   golem                                           0.5.1          2024-08-27 [2] CRAN (R 4.6.0)\n##   golubEsets                                      1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   googledrive                                     2.1.2          2025-09-10 [2] CRAN (R 4.6.0)\n##   googlesheets4                                   1.1.2          2025-09-03 [2] CRAN (R 4.6.0)\n##   googleVis                                       0.7.3          2024-05-25 [2] CRAN (R 4.6.0)\n##   GOpro                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   goProfiles                                      1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GOSemSim                                        2.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   goseq                                           1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   goSorensen                                      1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   goSTAG                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GOstats                                         2.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GOTHiC                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   goTools                                         1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gower                                           1.0.2          2024-12-17 [2] CRAN (R 4.6.0)\n##   GPA                                             1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gpaExample                                      1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GPArotation                                     2025.3-1       2025-04-12 [2] CRAN (R 4.6.0)\n##   gplots                                          3.3.0          2025-11-30 [2] CRAN (R 4.6.0)\n##   gpls                                            1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gProfileR                                       0.7.0          2019-11-04 [2] CRAN (R 4.6.0)\n##   gprofiler2                                      0.2.4          2025-11-11 [2] CRAN (R 4.6.0)\n##   GrafGen                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gRain                                           1.4.6          2026-03-02 [2] CRAN (R 4.6.0)\n##   GRaNIE                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   granulator                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   graper                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   graph                                           1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GraphAlignment                                  1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GraphAT                                         1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GraphExperiment                                 1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   graphics                                      * 4.6.0          2026-04-20 [3] local\n##   graphite                                        1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   graphlayouts                                    1.2.3          2026-02-21 [2] CRAN (R 4.6.0)\n##   grasp2db                                        1.1.1          2026-04-20 [2] local\n##   gRbase                                          2.0.3          2024-10-22 [2] CRAN (R 4.6.0)\n##   grDevices                                     * 4.6.0          2026-04-20 [3] local\n##   GRENITS                                         1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GreyListChIP                                    1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   grid                                            4.6.0          2026-04-20 [3] local\n##   gridBase                                        0.4-7          2014-02-24 [2] CRAN (R 4.6.0)\n##   gridExtra                                       2.3            2017-09-09 [2] CRAN (R 4.6.0)\n##   gridGraphics                                    0.5-1          2020-12-13 [2] CRAN (R 4.6.0)\n##   gridpattern                                     1.3.1          2025-01-16 [2] CRAN (R 4.6.0)\n##   gridSVG                                         1.7-7          2025-10-31 [2] CRAN (R 4.6.0)\n##   gridtext                                        0.1.6          2026-02-19 [2] CRAN (R 4.6.0)\n##   grImport                                        0.9-7          2023-03-09 [2] CRAN (R 4.6.0)\n##   grImport2                                       0.3-3          2024-07-30 [2] CRAN (R 4.6.0)\n##   GRmetrics                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   grndata                                         1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   groHMM                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   groupdata2                                      2.0.5          2024-12-18 [2] CRAN (R 4.6.0)\n##   grpreg                                          3.6.0          2026-03-26 [2] CRAN (R 4.6.0)\n##   GSA                                             1.03.3         2024-04-20 [2] CRAN (R 4.6.0)\n##   GSABenchmark                                    1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSALightning                                    1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSAR                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSBenchMark                                     1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSCA                                            2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gscreend                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSE103322                                       1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSE13015                                        1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSE159526                                       1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSE62944                                        1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSEABase                                        1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSEABenchmarkeR                                 1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSEAlm                                          1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSEAmining                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gsean                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSgalgoR                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gsignal                                         0.3-7          2024-09-11 [2] CRAN (R 4.6.0)\n##   gsl                                             2.1-9          2025-11-10 [2] CRAN (R 4.6.0)\n##   gson                                            0.1.0          2023-03-07 [2] CRAN (R 4.6.0)\n##   GSReg                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSRI                                            2.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gss                                             2.2-10         2025-11-19 [2] CRAN (R 4.6.0)\n##   gstat                                           2.1-6          2026-03-30 [2] CRAN (R 4.6.0)\n##   gsubfn                                          0.7            2018-03-16 [2] CRAN (R 4.6.0)\n##   GSVA                                            2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GSVAdata                                        1.47.3         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   gt                                              1.3.0          2026-01-22 [2] CRAN (R 4.6.0)\n##   gtable                                          0.3.6          2024-10-25 [2] CRAN (R 4.6.0)\n##   gtools                                          3.9.5          2023-11-20 [2] CRAN (R 4.6.0)\n##   gtrellis                                        1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GUIDEseq                                        1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Guitar                                          2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GUniFrac                                        1.9            2025-08-25 [2] CRAN (R 4.6.0)\n##   gVenn                                           1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Gviz                                            1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GWAS.BAYES                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gwascat                                         2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gwascatData                                     0.99.6         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   GWASdata                                        1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   GWASExactHW                                     1.2            2024-03-12 [2] CRAN (R 4.6.0)\n##   gwasrapidd                                      0.99.18        2025-05-31 [2] CRAN (R 4.6.0)\n##   GWASTools                                       1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gwasurvivr                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   GWENA                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   gypsum                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   h2o                                             3.44.0.3       2024-01-11 [2] CRAN (R 4.6.0)\n##   h5mread                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   h5vc                                            2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   h5vcData                                        2.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hammers                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapFabia                                        1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapmap100khind                                  1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapmap100kxba                                   1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapmap500knsp                                   1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapmap500ksty                                   1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapmapsnp5                                      1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hapmapsnp6                                      1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   harbChIP                                        1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hardhat                                         1.4.3          2026-04-04 [2] CRAN (R 4.6.0)\n##   HardyWeinberg                                   1.7.9          2025-09-10 [2] CRAN (R 4.6.0)\n##   Harman                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HarmanData                                      1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   harmonicmeanp                                   3.0.1          2024-01-17 [2] CRAN (R 4.6.0)\n##   HarmonizedTCGAData                              1.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HarmonizR                                       1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   harmony                                         2.0.2          2026-04-25 [2] CRAN (R 4.6.0)\n##   hash                                            2.2.6.4        2026-01-21 [2] CRAN (R 4.6.0)\n##   haven                                           2.5.5          2025-05-30 [2] CRAN (R 4.6.0)\n##   hca                                             1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HCAData                                         1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HCATonsilData                                   1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HD2013SGI                                       1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HDCI                                            1.0-2          2017-06-06 [2] CRAN (R 4.6.0)\n##   HDCytoData                                      1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HDF5Array                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hdf5r                                           1.3.12         2025-01-20 [2] CRAN (R 4.6.0)\n##   hdf5r.Extra                                     0.1.0          2024-10-18 [2] CRAN (R 4.6.0)\n##   HDInterval                                      0.2.4          2022-11-17 [2] CRAN (R 4.6.0)\n##   hdrcde                                          3.5.0          2026-01-11 [2] CRAN (R 4.6.0)\n##   HDTD                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hdxmsqc                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   healthyControlsPresenceChecker                  1.15.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   healthyFlowData                                 1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   heatmap3                                        1.1.9          2021-01-06 [2] CRAN (R 4.6.0)\n##   heatmaply                                       1.6.0          2025-07-12 [2] CRAN (R 4.6.0)\n##   heatmaps                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Heatplus                                        3.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HEEBOdata                                       1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HelloRanges                                     1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HelloRangesData                                 1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HELP                                            1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HEM                                             1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   henna                                           0.7.5          2026-02-17 [2] CRAN (R 4.6.0)\n##   here                                            1.0.2          2025-09-15 [2] CRAN (R 4.6.0)\n##   hermes                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HERON                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Herper                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hexbin                                          1.28.5         2024-11-13 [2] CRAN (R 4.6.0)\n##   hexDensity                                      1.4.10         2025-09-28 [2] CRAN (R 4.6.0)\n##   HGC                                             1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hgfocuscdf                                      2.18.0         2026-04-20 [2] Bioconductor\n##   hgfocusprobe                                    2.18.0         2026-04-20 [2] Bioconductor\n##   HGNChelper                                      0.8.15         2024-11-16 [2] CRAN (R 4.6.0)\n##   hgu133a.db                                      3.13.0         2026-04-20 [2] Bioconductor\n##   hgu133a2.db                                     3.13.0         2026-04-20 [2] Bioconductor\n##   hgu133abarcodevecs                              1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hgu133acdf                                      2.18.0         2026-04-20 [2] Bioconductor\n##   hgu133afrmavecs                                 1.5.0          2026-04-20 [2] Bioconductor\n##   hgu133aprobe                                    2.18.0         2026-04-20 [2] Bioconductor\n##   hgu133atagcdf                                   2.18.0         2026-04-20 [2] Bioconductor\n##   hgu133atagprobe                                 2.18.0         2026-04-20 [2] Bioconductor\n##   hgu133plus2.db                                  3.13.0         2026-04-20 [2] Bioconductor\n##   hgu133plus2barcodevecs                          1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hgu133plus2cdf                                  2.18.0         2026-04-20 [2] Bioconductor\n##   hgu133plus2CellScore                            1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hgu133plus2frmavecs                             1.5.0          2026-04-23 [2] Bioconductor\n##   hgu133plus2probe                                2.18.0         2026-04-20 [2] Bioconductor\n##   hgu2beta7                                       1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hgu95acdf                                       2.18.0         2026-04-20 [2] Bioconductor\n##   hgu95av2                                        2.2.0          2026-04-20 [2] Bioconductor\n##   hgu95av2.db                                     3.13.0         2026-04-20 [2] Bioconductor\n##   hgu95av2cdf                                     2.18.0         2026-04-20 [2] Bioconductor\n##   hgu95av2probe                                   2.18.0         2026-04-20 [2] Bioconductor\n##   HIBAG                                           1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiBED                                           1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HicAggR                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCaptuRe                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCBricks                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCcompare                                      1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCDataHumanIMR90                               1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCDataLymphoblast                              1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCDCPlus                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCDOC                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCExperiment                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiContacts                                      1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiContactsData                                  1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCool                                          1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCParser                                       1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiCPotts                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hicVennDiagram                                  1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiddenMarkov                                    1.8-14         2025-01-28 [2] CRAN (R 4.6.0)\n##   hierGWAS                                        1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hierinf                                         1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   highcharter                                     0.9.5          2026-04-22 [2] CRAN (R 4.6.0)\n##   HighFive                                        3.3.0          2026-01-08 [2] CRAN (R 4.6.0)\n##   HighlyReplicatedRNASeq                          1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   highr                                           0.12           2026-03-06 [2] CRAN (R 4.6.0)\n##   highs                                           1.12.0-3       2026-02-08 [2] CRAN (R 4.6.0)\n##   highthroughputassays                            1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   Hiiragi2013                                     1.47.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HilbertCurve                                    2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HilbertVis                                      1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HilbertVisGUI                                   1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiLDA                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hipathia                                        3.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HIPPO                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HIREewas                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiSpaR                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HistoImagePlot                                  1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hitandrun                                       0.5-6          2022-05-27 [2] CRAN (R 4.6.0)\n##   HiTC                                            1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HIVcDNAvantWout03                               1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HiveR                                           0.4.0          2024-07-18 [2] CRAN (R 4.6.0)\n##   hmdbQuery                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Hmisc                                           5.2-5          2026-01-09 [2] CRAN (R 4.6.0)\n##   HMM                                             1.0.2          2025-05-16 [2] CRAN (R 4.6.0)\n##   HMMcopy                                         1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HMP                                             2.0.1          2019-08-31 [2] CRAN (R 4.6.0)\n##   HMP16SData                                      1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hms                                             1.1.4          2025-10-17 [2] CRAN (R 4.6.0)\n##   HoloFoodR                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Homo.sapiens                                    1.3.1          2026-04-20 [2] Bioconductor\n##   homologene                                      1.4.68.19.3.27 2019-03-28 [2] CRAN (R 4.6.0)\n##   homosapienDEE2CellScore                         1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hoodscanR                                       1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hopach                                          2.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HPAanalyze                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hpAnnot                                         1.1.3          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   hpar                                            1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HPiP                                            1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HSMMSingleCell                                  1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   htm2txt                                         2.2.2          2022-06-12 [2] CRAN (R 4.6.0)\n##   htmlTable                                       2.5.0          2026-04-22 [2] CRAN (R 4.6.0)\n##   htmltools                                       0.5.9          2025-12-04 [2] CRAN (R 4.6.0)\n##   HTMLUtils                                       0.1.9          2024-01-25 [2] CRAN (R 4.6.0)\n##   htmlwidgets                                     1.6.4          2023-12-06 [2] CRAN (R 4.6.0)\n##   HTqPCR                                          1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HTSCluster                                      2.0.11         2023-09-05 [2] CRAN (R 4.6.0)\n##   HTSFilter                                       1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   httpcode                                        0.3.0          2020-04-10 [2] CRAN (R 4.6.0)\n##   httptest                                        4.2.3          2025-11-15 [2] CRAN (R 4.6.0)\n##   httptest2                                       1.2.2          2025-11-16 [2] CRAN (R 4.6.0)\n##   httpuv                                          1.6.17         2026-03-18 [2] CRAN (R 4.6.0)\n##   httr                                            1.4.8          2026-02-13 [2] CRAN (R 4.6.0)\n##   httr2                                           1.2.2          2025-12-08 [2] CRAN (R 4.6.0)\n##   hu6800.db                                       3.13.0         2026-04-20 [2] Bioconductor\n##   HuBMAPR                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HubPub                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hues                                            0.2.0          2019-12-01 [2] CRAN (R 4.6.0)\n##   huge                                            1.6            2026-04-13 [2] CRAN (R 4.6.0)\n##   hugene10sttranscriptcluster.db                  8.8.0          2026-04-21 [2] Bioconductor\n##   human.db0                                       3.22.0         2026-04-20 [2] Bioconductor\n##   human370v1cCrlmm                                1.0.2          2026-04-20 [2] Bioconductor\n##   human610quadv1bCrlmm                            1.0.3          2026-04-20 [2] Bioconductor\n##   HumanAffyData                                   1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   humanCHRLOC                                     2.1.6          2026-04-20 [2] Bioconductor\n##   humanHippocampus2024                            1.3.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   HumanRetinaLRSData                              0.99.5         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   humanStemCell                                   0.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   hummingbird                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hunspell                                        3.0.6          2025-03-22 [2] CRAN (R 4.6.0)\n##   HVP                                             1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hwriter                                         1.3.2.1        2022-04-08 [2] CRAN (R 4.6.0)\n##   HybridExpress                                   1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   HybridMTest                                     1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hypeR                                           2.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hyperdraw                                       1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   hypergraph                                      1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iASeq                                           1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iasva                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Ibex                                            1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ibh                                             1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iBMQ                                            1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iC10                                            2.0.2          2024-07-19 [2] CRAN (R 4.6.0)\n##   iC10TrainingData                                2.0.1          2024-07-16 [2] CRAN (R 4.6.0)\n##   ica                                             1.0-3          2022-07-08 [2] CRAN (R 4.6.0)\n##   iCARE                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iCellR                                          1.7.0          2025-10-28 [2] CRAN (R 4.6.0)\n##   Icens                                           1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   icetea                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iCheck                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iChip                                           1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iClusterPlus                                    1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iCNV                                            1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iCOBRA                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ICS                                             1.4-2          2025-03-18 [2] CRAN (R 4.6.0)\n##   ICSNP                                           1.1-2          2023-09-18 [2] CRAN (R 4.6.0)\n##   ideal                                           2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IdeoViz                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   idiogram                                        1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IDPmisc                                         1.1.21         2024-02-08 [2] CRAN (R 4.6.0)\n##   idpr                                            1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   idr                                             1.3            2022-06-21 [2] CRAN (R 4.6.0)\n##   idr2d                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ids                                             1.0.1          2017-05-31 [2] CRAN (R 4.6.0)\n##   ieugwasr                                        1.1.0          2025-07-31 [2] CRAN (R 4.6.0)\n##   IFAA                                            1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   igblastr                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iGC                                             1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IgGeneUsage                                     1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   igraph                                          2.3.0          2026-04-21 [2] CRAN (R 4.6.0)\n##   igraphdata                                      1.0.1          2015-07-13 [2] CRAN (R 4.6.0)\n##   igvR                                            1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   igvShiny                                        1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IHW                                             1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IHWpaper                                        1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ijtiff                                          3.2.0          2026-01-26 [2] CRAN (R 4.6.0)\n##   Illumina450ProbeVariants.db                     1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   IlluminaDataTestFiles                           1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   IlluminaHumanMethylation450kanno.ilmn12.hg19    0.6.1          2026-04-20 [2] Bioconductor\n##   IlluminaHumanMethylation450kmanifest            0.4.0          2026-04-20 [2] Bioconductor\n##   IlluminaHumanMethylationEPICanno.ilm10b2.hg19   0.6.0          2026-04-20 [2] Bioconductor\n##   IlluminaHumanMethylationEPICanno.ilm10b4.hg19   0.6.0          2026-04-20 [2] Bioconductor\n##   IlluminaHumanMethylationEPICmanifest            0.3.0          2026-04-20 [2] Bioconductor\n##   IlluminaHumanMethylationEPICv2anno.20a1.hg38    1.0.1          2026-04-20 [2] Bioconductor\n##   IlluminaHumanMethylationEPICv2manifest          1.0.1          2026-04-20 [2] Bioconductor\n##   illuminaHumanv1.db                              1.26.0         2026-04-20 [2] Bioconductor\n##   illuminaHumanv2.db                              1.26.0         2026-04-23 [2] Bioconductor\n##   illuminaHumanv3.db                              1.26.0         2026-04-20 [2] Bioconductor\n##   illuminaHumanv4.db                              1.26.0         2026-04-20 [2] Bioconductor\n##   illuminaio                                      0.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ILoReg                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ImageArray                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   imageFeatureTCGA                                1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   imager                                          1.0.8          2025-12-23 [2] CRAN (R 4.6.0)\n##   imageTCGA                                       1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   imageTCGAutils                                  1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IMAS                                            1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   imcdatasets                                     1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   imcRtools                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iml                                             0.11.4         2025-02-24 [2] CRAN (R 4.6.0)\n##   IMMAN                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   immApex                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   immLynx                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   immReferent                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   immunoClust                                     1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   immunogenViewer                                 1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   immunotation                                    1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iModMix                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iModMixData                                     1.1.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   imp4p                                           1.2            2021-09-02 [2] CRAN (R 4.6.0)\n##   IMPCdata                                        1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   import                                          1.3.4          2025-10-19 [2] CRAN (R 4.6.0)\n##   impute                                          1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   imputeLCMD                                      2.1            2022-06-10 [2] CRAN (R 4.6.0)\n##   inaparc                                         1.2.1          2025-09-14 [2] CRAN (R 4.6.0)\n##   INDEED                                          2.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ineq                                            0.2-13         2014-07-21 [2] CRAN (R 4.6.0)\n##   iNETgrate                                       1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   INetTool                                        0.1.2          2026-03-20 [2] CRAN (R 4.6.0)\n##   iNEXT                                           3.0.2          2025-07-30 [2] CRAN (R 4.6.0)\n##   infercnv                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   infinityFlow                                    1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   inflection                                      1.3.7          2025-07-17 [2] CRAN (R 4.6.0)\n##   Informeasure                                    1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   infotheo                                        1.2.0.1        2022-04-08 [2] CRAN (R 4.6.0)\n##   ini                                             0.3.1          2018-05-20 [2] CRAN (R 4.6.0)\n##   inline                                          0.3.21         2025-01-09 [2] CRAN (R 4.6.0)\n##   InPAS                                           2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   INPower                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   insight                                         1.5.0          2026-04-14 [2] CRAN (R 4.6.0)\n##   INSPEcT                                         1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   instantiate                                     0.2.3          2024-10-02 [2] CRAN (R 4.6.0)\n##   INTACT                                          1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   InTAD                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   intansv                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   interacCircos                                   1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   InteractionSet                                  1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   InteractiveComplexHeatmap                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   InterCellar                                     2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IntEREst                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   intergraph                                      2.0-4          2024-02-01 [2] CRAN (R 4.6.0)\n##   interp                                          1.1-6          2024-01-26 [2] CRAN (R 4.6.0)\n##   intervals                                       0.15.5         2024-08-23 [2] CRAN (R 4.6.0)\n##   IntramiRExploreR                                1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   intrinsicDimension                              1.2.0          2019-06-07 [2] CRAN (R 4.6.0)\n##   inum                                            1.0-5          2023-03-09 [2] CRAN (R 4.6.0)\n##   InvariantCausalPrediction                       0.8            2019-11-10 [2] CRAN (R 4.6.0)\n##   invgamma                                        1.2            2025-07-02 [2] CRAN (R 4.6.0)\n##   IONiseR                                         2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iPath                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ipdDb                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ipflasso                                        1.1            2019-12-10 [2] CRAN (R 4.6.0)\n##   IPO                                             1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ipred                                           0.9-15         2024-07-18 [2] CRAN (R 4.6.0)\n##   iq                                              2.0.1          2026-03-21 [2] CRAN (R 4.6.0)\n##   IRanges                                         2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IRdisplay                                       1.1            2022-01-04 [2] CRAN (R 4.6.0)\n##   IRkernel                                        1.3.2          2023-01-20 [2] CRAN (R 4.6.0)\n##   irlba                                           2.3.7          2026-01-30 [2] CRAN (R 4.6.0)\n##   irr                                             0.84.1         2019-01-26 [2] CRAN (R 4.6.0)\n##   isa2                                            0.3.6          2023-02-21 [2] CRAN (R 4.6.0)\n##   ISAnalytics                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iscream                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEE                                            2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEde                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEfier                                        1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEhex                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEhub                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEindex                                       1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEpathways                                    1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEtree                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSEEu                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iSeq                                            1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ISLET                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   islify                                          1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Iso                                             0.0-21         2023-10-02 [2] CRAN (R 4.6.0)\n##   isoband                                         0.3.0          2025-12-07 [2] CRAN (R 4.6.0)\n##   isobar                                          1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IsoBayes                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ISOcodes                                        2026.03.28     2026-03-28 [2] CRAN (R 4.6.0)\n##   IsoCorrectoR                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IsoCorrectoRGUI                                 1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IsoformSwitchAnalyzeR                           2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ISoLDE                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   isomiRs                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   isotree                                         0.6.1-5        2026-03-05 [2] CRAN (R 4.6.0)\n##   isva                                            1.10           2026-03-26 [2] CRAN (R 4.6.0)\n##   ITALICS                                         2.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ITALICSData                                     2.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   iterativeBMA                                    1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iterativeBMAsurv                                1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   iterators                                       1.0.14         2022-02-05 [2] CRAN (R 4.6.0)\n##   itertools                                       0.1-3          2014-03-12 [2] CRAN (R 4.6.0)\n##   IVAS                                            2.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ivygapSE                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   IWTomics                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Iyer517                                         1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   jaccard                                         0.1.2          2026-02-03 [2] CRAN (R 4.6.0)\n##   JADE                                            2.0-4          2023-09-17 [2] CRAN (R 4.6.0)\n##   janeaustenr                                     1.0.0          2022-08-26 [2] CRAN (R 4.6.0)\n##   janitor                                         2.2.1          2024-12-22 [2] CRAN (R 4.6.0)\n##   JASPAR2014                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   JASPAR2016                                      1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   JASPAR2018                                      1.1.1          2026-04-20 [2] Bioconductor\n##   JASPAR2020                                      0.99.8         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   JASPAR2022                                      0.99.8         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   JASPAR2024                                      0.99.7         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   jazzPanda                                       1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   JohnsonKinaseData                               1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   jomo                                            2.7-6          2023-04-15 [2] CRAN (R 4.6.0)\n##   jose                                            2.0.0          2026-04-22 [2] CRAN (R 4.6.0)\n##   jpeg                                            0.1-11         2025-03-21 [2] CRAN (R 4.6.0)\n##   jquerylib                                       0.1.4          2021-04-26 [2] CRAN (R 4.6.0)\n##   jsonlite                                        2.0.0          2025-03-27 [2] CRAN (R 4.6.0)\n##   jsonvalidate                                    1.5.0          2025-02-07 [2] CRAN (R 4.6.0)\n##   juicyjuice                                      0.1.0          2022-11-10 [2] CRAN (R 4.6.0)\n##   jvecfor                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   kableExtra                                      1.4.0          2024-01-24 [2] CRAN (R 4.6.0)\n##   karyoploteR                                     1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   katdetectr                                      1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   KBoost                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   KCsmart                                         2.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   kde1d                                           1.1.1          2025-06-12 [2] CRAN (R 4.6.0)\n##   kebabs                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   KEGGandMetacoreDzPathwaysGEO                    1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   KEGGdzPathwaysGEO                               1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   KEGGgraph                                       1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   KEGGlincs                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   keggorthology                                   2.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   KEGGREST                                        1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Kendall                                         2.2.2          2025-12-22 [2] CRAN (R 4.6.0)\n##   keras                                           2.16.1         2026-02-14 [2] CRAN (R 4.6.0)\n##   KernelKnn                                       1.1.6          2025-09-15 [2] CRAN (R 4.6.0)\n##   kernelshap                                      0.9.1          2025-09-20 [2] CRAN (R 4.6.0)\n##   kernlab                                         0.9-33         2024-08-13 [2] CRAN (R 4.6.0)\n##   KernSmooth                                      2.23-26        2025-01-01 [3] CRAN (R 4.6.0)\n##   kerntools                                       1.2.1          2026-01-28 [2] CRAN (R 4.6.0)\n##   keyring                                         1.4.1          2025-06-15 [2] CRAN (R 4.6.0)\n##   keys                                            0.1.1          2021-07-11 [2] CRAN (R 4.6.0)\n##   kidpack                                         1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   kinship2                                        1.9.6.2        2025-09-04 [2] CRAN (R 4.6.0)\n##   KinSwingR                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   kissDE                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   kknn                                            1.4.1          2025-05-19 [2] CRAN (R 4.6.0)\n##   klaR                                            1.7-4          2026-02-23 [2] CRAN (R 4.6.0)\n##   kmcut                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   kmer                                            1.1.3          2026-01-23 [2] CRAN (R 4.6.0)\n##   knitcitations                                   1.0.12         2021-01-10 [2] CRAN (R 4.6.0)\n##   knitr                                           1.51           2025-12-20 [2] CRAN (R 4.6.0)\n##   knitrBootstrap                                  1.0.4          2025-12-08 [2] CRAN (R 4.6.0)\n##   knn.covertree                                   1.1            2025-12-08 [2] CRAN (R 4.6.0)\n##   knnmi                                           1.0            2024-04-02 [2] CRAN (R 4.6.0)\n##   KnowSeq                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   knowYourCG                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   KOdata                                          1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   kohonen                                         3.0.13         2026-01-22 [2] CRAN (R 4.6.0)\n##   koinar                                          1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   koRpus                                          0.13-9         2026-02-03 [2] CRAN (R 4.6.0)\n##   koRpus.lang.en                                  0.1-4          2020-10-24 [2] CRAN (R 4.6.0)\n##   kpeaks                                          1.1.0          2020-02-08 [2] CRAN (R 4.6.0)\n##   kriging                                         1.2            2022-06-24 [2] CRAN (R 4.6.0)\n##   ks                                              1.15.1         2025-05-04 [2] CRAN (R 4.6.0)\n##   kSamples                                        1.2-12         2025-08-26 [2] CRAN (R 4.6.0)\n##   labdsv                                          2.3-1          2026-04-06 [2] CRAN (R 4.6.0)\n##   labeling                                        0.4.3          2023-08-29 [2] CRAN (R 4.6.0)\n##   labelled                                        2.16.0         2025-10-22 [2] CRAN (R 4.6.0)\n##   LACE                                            2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LACHESIS                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   laeken                                          0.5.3          2024-01-25 [2] CRAN (R 4.6.0)\n##   LaF                                             0.8.6          2024-12-13 [2] CRAN (R 4.6.0)\n##   lambda.r                                        1.2.4          2019-09-18 [2] CRAN (R 4.6.0)\n##   LambertW                                        0.6.9-2        2025-08-21 [2] CRAN (R 4.6.0)\n##   lamW                                            2.2.7          2026-03-27 [2] CRAN (R 4.6.0)\n##   LaplacesDemon                                   16.1.8         2026-02-17 [2] CRAN (R 4.6.0)\n##   lars                                            1.3            2022-04-13 [2] CRAN (R 4.6.0)\n##   later                                           1.4.8          2026-03-05 [2] CRAN (R 4.6.0)\n##   latex2exp                                       0.9.8          2026-01-09 [2] CRAN (R 4.6.0)\n##   lattice                                         0.22-9         2026-02-09 [3] CRAN (R 4.6.0)\n##   latticeExtra                                    0.6-31         2025-09-10 [2] CRAN (R 4.6.0)\n##   lava                                            1.9.0          2026-04-05 [2] CRAN (R 4.6.0)\n##   lavaan                                          0.6-21         2025-12-21 [2] CRAN (R 4.6.0)\n##   lazyeval                                        0.2.3          2026-04-04 [2] CRAN (R 4.6.0)\n##   LBE                                             1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lbfgs                                           1.2.1.2        2022-06-23 [2] CRAN (R 4.6.0)\n##   lcmsPlot                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ldblock                                         1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LDlinkR                                         1.4.0          2024-04-10 [2] CRAN (R 4.6.0)\n##   LEA                                             3.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   leaflet                                         2.2.3          2025-09-04 [2] CRAN (R 4.6.0)\n##   leaflet.providers                               3.0.0          2026-03-18 [2] CRAN (R 4.6.0)\n##   leapR                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   leaps                                           3.2            2024-06-10 [2] CRAN (R 4.6.0)\n##   LearnBayes                                      2.15.2         2026-01-31 [2] CRAN (R 4.6.0)\n##   learnr                                          0.11.6         2025-11-13 [2] CRAN (R 4.6.0)\n##   LedPred                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   leeBamViews                                     1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   lefser                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LegATo                                          1.5.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   leiden                                          0.4.3.1        2023-11-17 [2] CRAN (R 4.6.0)\n##   leidenAlg                                       1.1.7          2026-04-16 [2] CRAN (R 4.6.0)\n##   leidenbase                                      0.1.36         2025-12-16 [2] CRAN (R 4.6.0)\n##   lemur                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   les                                             1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   leukemiasEset                                   1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   levi                                            1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lexicon                                         1.2.1          2019-03-21 [2] CRAN (R 4.6.0)\n##   lfa                                             2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lfda                                            1.1.3          2019-07-31 [2] CRAN (R 4.6.0)\n##   lgr                                             0.5.2          2026-01-30 [2] CRAN (R 4.6.0)\n##   Lheuristic                                      1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lhs                                             1.3.0          2026-04-27 [2] CRAN (R 4.6.0)\n##   libcoin                                         1.0-12         2026-03-16 [2] CRAN (R 4.6.0)\n##   LiblineaR                                       2.10-24        2024-09-13 [2] CRAN (R 4.6.0)\n##   LiebermanAidenHiC2009                           0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   lifecycle                                       1.0.5          2026-01-08 [2] CRAN (R 4.6.0)\n##   liftOver                                        1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   lime                                            0.5.4          2025-12-11 [2] CRAN (R 4.6.0)\n##   limma                                           3.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   limmaGUI                                        1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   limpa                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   limpca                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LimROTS                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   limSolve                                        2.0.1          2025-06-24 [2] CRAN (R 4.6.0)\n##   lineagespot                                     1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LinkHD                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   linkSet                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Linnorm                                         2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   linprog                                         0.9-6          2026-01-19 [2] CRAN (R 4.6.0)\n##   lintr                                           3.3.0-1        2025-11-27 [2] CRAN (R 4.6.0)\n##   lionessR                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lipidr                                          2.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LipidTrend                                      1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LiquidAssociation                               1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lisaClust                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   listenv                                         0.10.1         2026-03-10 [2] CRAN (R 4.6.0)\n##   ListerEtAlBSseq                                 1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   LISTO                                           0.7.3          2026-04-25 [2] CRAN (R 4.6.0)\n##   listviewer                                      4.0.0          2023-09-30 [2] CRAN (R 4.6.0)\n##   litedown                                        0.9            2025-12-18 [2] CRAN (R 4.6.0)\n##   liver                                           1.28           2026-04-07 [2] CRAN (R 4.6.0)\n##   lmdme                                           1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lme4                                            2.0-1          2026-03-05 [2] CRAN (R 4.6.0)\n##   lmerTest                                        3.2-1          2026-03-05 [2] CRAN (R 4.6.0)\n##   lmom                                            3.3            2026-03-24 [2] CRAN (R 4.6.0)\n##   Lmoments                                        1.3-2          2025-09-18 [2] CRAN (R 4.6.0)\n##   lmtest                                          0.9-40         2022-03-21 [2] CRAN (R 4.6.0)\n##   lncRna                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LOBSTAHS                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lobstr                                          1.2.1          2026-04-04 [2] CRAN (R 4.6.0)\n##   locfdr                                          1.1-8          2015-07-15 [2] CRAN (R 4.6.0)\n##   locfit                                          1.5-9.12       2025-03-05 [2] CRAN (R 4.6.0)\n##   loci2path                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   locStra                                         1.9            2022-04-12 [2] CRAN (R 4.6.0)\n##   log4r                                           0.4.4          2024-10-12 [2] CRAN (R 4.6.0)\n##   logger                                          0.4.1          2025-09-11 [2] CRAN (R 4.6.0)\n##   logging                                         0.10-108       2019-07-14 [2] CRAN (R 4.6.0)\n##   logicFS                                         2.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LogicReg                                        1.6.6          2023-08-08 [2] CRAN (R 4.6.0)\n##   logistf                                         1.26.1         2025-04-16 [2] CRAN (R 4.6.0)\n##   logitnorm                                       0.8.39         2024-01-24 [2] CRAN (R 4.6.0)\n##   logNormReg                                      0.5-0          2021-11-08 [2] CRAN (R 4.6.0)\n##   logr                                            1.3.9          2025-03-26 [2] CRAN (R 4.6.0)\n##   lokern                                          1.1-12         2024-07-30 [2] CRAN (R 4.6.0)\n##   LOLA                                            1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   longitudinal                                    1.1.13         2021-11-13 [2] CRAN (R 4.6.0)\n##   loo                                             2.9.0          2025-12-23 [2] CRAN (R 4.6.0)\n##   looking4clusters                                1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LoomExperiment                                  1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LPE                                             1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lpNet                                           2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lpSolve                                         5.6.23         2024-12-14 [2] CRAN (R 4.6.0)\n##   lpSolveAPI                                      5.5.2.0-17.15  2026-02-13 [2] CRAN (R 4.6.0)\n##   lpsymphony                                      1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LRBaseDbi                                       2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LRcell                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LRcellTypeMarkers                               1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   lsa                                             0.73.4         2026-01-11 [2] CRAN (R 4.6.0)\n##   LSD                                             4.1-0          2020-06-17 [2] CRAN (R 4.6.0)\n##   lsr                                             0.5.2          2021-12-01 [2] CRAN (R 4.6.0)\n##   lubridate                                       1.9.5          2026-02-04 [2] CRAN (R 4.6.0)\n##   lumi                                            2.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   lumiBarnes                                      1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   lumiHumanAll.db                                 1.22.0         2026-04-20 [2] Bioconductor\n##   lumiHumanIDMapping                              1.10.1         2026-04-20 [2] Bioconductor\n##   LungCancerACvsSCCGEO                            1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   LungCancerLines                                 0.49.2         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   lungExpression                                  0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   lwgeom                                          0.2-15         2026-01-12 [2] CRAN (R 4.6.0)\n##   lydata                                          1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   LymphoSeq                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   LymphoSeqDB                                     0.99.2         2026-04-20 [2] Bioconductor\n##   M3C                                             1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   M3DExampleData                                  1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   M3Drop                                          1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   m6Aboost                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Maaslin2                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maaslin3                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Macarron                                        1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maCorrPlot                                      1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   macrophage                                      1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MACSdata                                        1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MACSQuantifyR                                   1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MACSr                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   made4                                           1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maEndToEnd                                      2.31.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   MafDb.1Kgenomes.phase1.hs37d5                   3.10.0         2026-04-20 [2] Bioconductor\n##   MafDb.1Kgenomes.phase3.GRCh38                   3.10.0         2026-04-20 [2] Bioconductor\n##   MafDb.1Kgenomes.phase3.hs37d5                   3.10.0         2026-04-20 [2] Bioconductor\n##   MafDb.ExAC.r1.0.hs37d5                          3.10.0         2026-04-20 [2] Bioconductor\n##   MafDb.gnomADex.r2.1.hs37d5                      3.10.0         2026-04-20 [2] Bioconductor\n##   MafH5.gnomAD.v4.0.GRCh38                        3.19.0         2026-04-20 [2] Bioconductor\n##   maftools                                        2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MAGAR                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   magic                                           1.6-1          2022-11-16 [2] CRAN (R 4.6.0)\n##   magicaxis                                       2.5.1          2025-09-02 [2] CRAN (R 4.6.0)\n##   magick                                          2.9.1          2026-02-28 [2] CRAN (R 4.6.0)\n##   magpie                                          1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   magrene                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   magrittr                                        2.0.5          2026-04-04 [2] CRAN (R 4.6.0)\n##   MAI                                             1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MAIT                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   makecdfenv                                      1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MALDIquant                                      1.22.3         2024-08-19 [2] CRAN (R 4.6.0)\n##   MALDIquantForeign                               0.14.1         2024-01-22 [2] CRAN (R 4.6.0)\n##   mammaPrintData                                  1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   manipulateWidget                                0.11.2         2026-01-13 [2] CRAN (R 4.6.0)\n##   MANOR                                           1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MantelCorr                                      1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MAPFX                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mapplots                                        1.5.3          2025-06-26 [2] CRAN (R 4.6.0)\n##   mapproj                                         1.2.12         2025-05-19 [2] CRAN (R 4.6.0)\n##   maPredictDSC                                    1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maps                                            3.4.3          2025-05-26 [2] CRAN (R 4.6.0)\n##   mapscape                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maptree                                         1.4-9          2025-07-22 [2] CRAN (R 4.6.0)\n##   maqcExpression4plex                             1.55.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MAQCsubset                                      1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   marginaleffects                                 0.32.0         2026-02-14 [2] CRAN (R 4.6.0)\n##   mariner                                         1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   marinerData                                     1.11.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   markdown                                        2.0            2025-03-23 [2] CRAN (R 4.6.0)\n##   markeR                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   marr                                            1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   marray                                          1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   martini                                         1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maser                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mashr                                           0.2.79         2023-10-18 [2] CRAN (R 4.6.0)\n##   maSigPro                                        1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maskBAD                                         1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MASS                                            7.3-65         2025-02-28 [3] CRAN (R 4.6.0)\n##   MassArray                                       1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   massiR                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MassSpecWavelet                                 1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MAST                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mastR                                           1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   matchBox                                        1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   matchingR                                       2.0.0          2025-09-23 [2] CRAN (R 4.6.0)\n##   MatchIt                                         4.7.2          2025-05-30 [2] CRAN (R 4.6.0)\n##   mathjaxr                                        2.0-0          2025-12-01 [2] CRAN (R 4.6.0)\n##   matlab                                          1.0.4.1        2024-07-01 [2] CRAN (R 4.6.0)\n##   Matrix                                          1.7-5          2026-03-21 [3] CRAN (R 4.6.0)\n##   matrixcalc                                      1.0-6          2022-09-14 [2] CRAN (R 4.6.0)\n##   MatrixCorrelation                               0.10.1         2025-07-28 [2] CRAN (R 4.6.0)\n##   MatrixEQTL                                      2.3            2019-12-22 [2] CRAN (R 4.6.0)\n##   MatrixExtra                                     0.1.15         2024-01-22 [2] CRAN (R 4.6.0)\n##   MatrixGenerics                                  1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MatrixModels                                    0.5-4          2025-03-26 [2] CRAN (R 4.6.0)\n##   MatrixQCvis                                     1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MatrixRider                                     1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   matrixStats                                     1.5.0          2025-01-07 [2] CRAN (R 4.6.0)\n##   matrixTests                                     0.2.3.1        2025-10-17 [2] CRAN (R 4.6.0)\n##   matter                                          2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   maxLik                                          1.5-2.2        2025-12-29 [2] CRAN (R 4.6.0)\n##   maxstat                                         0.7-26         2025-05-02 [2] CRAN (R 4.6.0)\n##   MBA                                             0.1-2          2024-09-23 [2] CRAN (R 4.6.0)\n##   MBAmethyl                                       1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MBASED                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MBCB                                            1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MBECS                                           1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mbest                                           0.6.1          2025-04-24 [2] CRAN (R 4.6.0)\n##   mbkmeans                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mboost                                          2.9-11         2024-08-22 [2] CRAN (R 4.6.0)\n##   mBPCR                                           1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MBQN                                            2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mbQTL                                           1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MBttest                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MCbiclust                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mcbiopi                                         1.1.7          2026-01-25 [2] CRAN (R 4.6.0)\n##   MCL                                             1.0            2015-03-11 [2] CRAN (R 4.6.0)\n##   mclust                                          6.1.2          2025-10-31 [2] CRAN (R 4.6.0)\n##   mclustcomp                                      0.3.5          2025-09-22 [2] CRAN (R 4.6.0)\n##   mcmc                                            0.9-8          2023-11-16 [2] CRAN (R 4.6.0)\n##   MCMCglmm                                        2.36           2024-05-06 [2] CRAN (R 4.6.0)\n##   MCMCpack                                        1.7-1          2024-08-27 [2] CRAN (R 4.6.0)\n##   MCMCprecision                                   0.4.2          2025-07-22 [2] CRAN (R 4.6.0)\n##   mco                                             1.17           2024-08-19 [2] CRAN (R 4.6.0)\n##   mcprogress                                      0.1.1          2024-09-26 [2] CRAN (R 4.6.0)\n##   mcr                                             1.3.3.1        2024-09-23 [2] CRAN (R 4.6.0)\n##   mCSEA                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mCSEAdata                                       1.31.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   mcsurvdata                                      1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   mdendro                                         2.2.3          2025-09-04 [2] CRAN (R 4.6.0)\n##   mdp                                             1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mdqc                                            1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MDSvis                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MDTS                                            1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEAL                                            1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MeasurementError.cor                            1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEAT                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEB                                             1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mediation                                       4.5.1          2025-06-07 [2] CRAN (R 4.6.0)\n##   MEDIPS                                          1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEDIPSData                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEDME                                           1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEEBOdata                                       1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   mefa                                            3.2-10         2025-07-13 [2] CRAN (R 4.6.0)\n##   megadepth                                       1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MEIGOR                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Melissa                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MeLSI                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   memes                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   memoise                                         2.0.1          2021-11-26 [2] CRAN (R 4.6.0)\n##   memuse                                          4.2-3          2023-01-24 [2] CRAN (R 4.6.0)\n##   MerfishData                                     1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Mergeomics                                      1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MeSHDbi                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   meshes                                          1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   meshr                                           2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MesKit                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MESS                                            0.6.0          2025-09-13 [2] CRAN (R 4.6.0)\n##   messina                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   meta                                            8.3-0          2026-04-02 [2] CRAN (R 4.6.0)\n##   metabCombiner                                   1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metabinR                                        2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaboAnnotation                                1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaboAnnotatoR                                 1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaboCoreUtils                                 1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaboDynamics                                  2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaboliteIDmapping                             0.99.11        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   metabolomicsWorkbenchR                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metabom8                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metabomxtr                                      1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metabook                                        0.2-0          2026-03-13 [2] CRAN (R 4.6.0)\n##   MetaboSignal                                    1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaCCA                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaCycle                                       1.2.1          2026-02-02 [2] CRAN (R 4.6.0)\n##   MetaCyto                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metadat                                         1.4-0          2026-04-02 [2] CRAN (R 4.6.0)\n##   MetaDICT                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metafor                                         5.0-1          2026-04-26 [2] CRAN (R 4.6.0)\n##   metagene2                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metagenomeSeq                                   1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaGxBreast                                    1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaGxOvarian                                   1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaGxPancreas                                  1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   metahdep                                        1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaMS                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaMSdata                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaNeighbor                                    1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metap                                           1.13           2025-12-18 [2] CRAN (R 4.6.0)\n##   MetaPhOR                                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metapod                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metapone                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetaProViz                                      4.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaRNASeq                                      1.0.8          2025-03-26 [2] CRAN (R 4.6.0)\n##   MetaScope                                       1.99.10        2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaSeq                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metaseqR2                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetBrewer                                       0.2.0          2022-03-21 [2] CRAN (R 4.6.0)\n##   MetCirc                                         1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methimpute                                      1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methInheritSim                                  1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methodical                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methods                                       * 4.6.0          2026-04-20 [3] local\n##   MethPed                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethReg                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methrix                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethTargetedNGS                                 1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethylAid                                       1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethylAidData                                   1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylationArrayAnalysis                        1.35.2         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylCC                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylclock                                     1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylclockData                                 1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylGSA                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methyLImp2                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylInheritance                               1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylKit                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethylMix                                       2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylMnM                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylPipe                                      1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylscaper                                    1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethylSeekR                                     1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MethylSeqData                                   1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylSig                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   methylumi                                       2.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetID                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetMashR                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MetNet                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   metR                                            0.18.3         2025-12-09 [2] CRAN (R 4.6.0)\n##   metrica                                         2.1.1          2026-03-18 [2] CRAN (R 4.6.0)\n##   Metrics                                         0.1.4          2018-07-09 [2] CRAN (R 4.6.0)\n##   mets                                            1.3.9          2026-01-11 [2] CRAN (R 4.6.0)\n##   mfa                                             1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Mfuzz                                           2.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mgcv                                            1.9-4          2025-11-07 [3] CRAN (R 4.6.0)\n##   MGFM                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MGFR                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MGLM                                            0.2.1          2022-04-13 [2] CRAN (R 4.6.0)\n##   MGnifyR                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mgsa                                            1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mgsub                                           1.7.3          2021-07-28 [2] CRAN (R 4.6.0)\n##   mhsmm                                           0.4.21         2023-08-23 [2] CRAN (R 4.6.0)\n##   mia                                             1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miaDash                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miaSim                                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miaTime                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miaViz                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mice                                            3.19.0         2025-12-10 [2] CRAN (R 4.6.0)\n##   miceadds                                        3.19-16        2026-03-13 [2] CRAN (R 4.6.0)\n##   MiChip                                          1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   microbenchmark                                  1.5.0          2024-09-04 [2] CRAN (R 4.6.0)\n##   microbiome                                      1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MicrobiomeBenchmarkData                         1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   microbiomeDASim                                 1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   microbiomeDataSets                              1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   microbiomeExplorer                              1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MicrobiomeProfiler                              1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MicrobiomeStat                                  1.4            2026-03-03 [2] CRAN (R 4.6.0)\n##   MicrobiotaProcess                               1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   microRNA                                        1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   microRNAome                                     1.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   microSTASIS                                     1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MICSQTL                                         1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   midasHLA                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mikropml                                        1.7.0          2025-10-29 [2] CRAN (R 4.6.0)\n##   miloR                                           2.7.2          2026-04-22 [2] Bioconductor 3.23 (R 4.6.0)\n##   mimager                                         1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mime                                            0.13           2025-03-17 [2] CRAN (R 4.6.0)\n##   mina                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   minerva                                         1.5.10         2021-06-17 [2] CRAN (R 4.6.0)\n##   minet                                           3.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   minfi                                           1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   minfiData                                       0.57.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   minfiDataEPIC                                   1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MinimumDistance                                 1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   minionSummaryData                               1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   miniUI                                          0.1.2          2025-04-17 [2] CRAN (R 4.6.0)\n##   minpack.lm                                      1.2-4          2023-09-11 [2] CRAN (R 4.6.0)\n##   minqa                                           1.2.8          2024-08-17 [2] CRAN (R 4.6.0)\n##   minty                                           0.0.6          2026-01-23 [2] CRAN (R 4.6.0)\n##   MiPP                                            1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miQC                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MIRA                                            1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MiRaGE                                          1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mirai                                           2.6.1          2026-03-02 [2] CRAN (R 4.6.0)\n##   miRBaseConverter                                1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRBaseVersions.db                              1.1.0          2026-04-20 [2] Bioconductor\n##   miRcomp                                         1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRcompData                                     1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   mirIntegrator                                   1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MIRit                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRLAB                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mirna10cdf                                      2.18.0         2026-04-20 [2] Bioconductor\n##   miRNAmeConverter                                1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRNApath                                       1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRNAtap                                        1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRNAtap.db                                     0.99.10        2026-04-20 [2] Bioconductor\n##   miRNATarget                                     1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRSM                                           2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   miRspongeR                                      2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mirt                                            1.46.1         2026-03-07 [2] CRAN (R 4.6.0)\n##   mirTarRnaSeq                                    1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   misc3d                                          0.9-2          2026-01-28 [2] CRAN (R 4.6.0)\n##   miscTools                                       0.6-30         2026-01-20 [2] CRAN (R 4.6.0)\n##   missForest                                      1.6.1          2025-10-26 [2] CRAN (R 4.6.0)\n##   missMDA                                         1.21           2026-02-12 [2] CRAN (R 4.6.0)\n##   missMethyl                                      1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   missRows                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mist                                            1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mistyR                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mitch                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mitml                                           0.4-5          2023-03-08 [2] CRAN (R 4.6.0)\n##   mitoClone2                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mitology                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mitools                                         2.4            2019-04-26 [2] CRAN (R 4.6.0)\n##   mixOmics                                        6.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mixsmsn                                         1.1-12         2026-01-21 [2] CRAN (R 4.6.0)\n##   mixsqp                                          0.3-54         2023-12-20 [2] CRAN (R 4.6.0)\n##   mixtools                                        2.0.0.1        2025-03-08 [2] CRAN (R 4.6.0)\n##   MKdescr                                         0.9            2025-09-10 [2] CRAN (R 4.6.0)\n##   MKinfer                                         1.3            2025-12-15 [2] CRAN (R 4.6.0)\n##   MKmisc                                          1.9            2022-11-19 [2] CRAN (R 4.6.0)\n##   mlapi                                           0.1.1          2022-04-24 [2] CRAN (R 4.6.0)\n##   mlbench                                         2.1-8          2026-03-26 [2] CRAN (R 4.6.0)\n##   MLeval                                          0.3            2020-02-12 [2] CRAN (R 4.6.0)\n##   MLInterfaces                                    1.92.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MLmetrics                                       1.1.3          2024-04-13 [2] CRAN (R 4.6.0)\n##   MLP                                             1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mlr                                             2.19.3         2025-08-22 [2] CRAN (R 4.6.0)\n##   mlr3                                            1.6.0          2026-04-02 [2] CRAN (R 4.6.0)\n##   mlr3learners                                    0.14.0         2025-12-13 [2] CRAN (R 4.6.0)\n##   mlr3mbo                                         1.1.1          2026-04-24 [2] CRAN (R 4.6.0)\n##   mlr3measures                                    1.3.0          2026-04-17 [2] CRAN (R 4.6.0)\n##   mlr3misc                                        0.21.0         2026-02-26 [2] CRAN (R 4.6.0)\n##   mlr3pipelines                                   0.11.0         2026-03-01 [2] CRAN (R 4.6.0)\n##   mlr3tuning                                      1.6.0          2026-03-16 [2] CRAN (R 4.6.0)\n##   mlrMBO                                          1.1.6          2026-03-01 [2] CRAN (R 4.6.0)\n##   MLSeq                                           2.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mltools                                         0.3.5          2018-05-12 [2] CRAN (R 4.6.0)\n##   mmand                                           1.7.0          2026-04-12 [2] CRAN (R 4.6.0)\n##   MMDiff2                                         1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MMDiffBamSubset                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MMUPHin                                         2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mnem                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mnormt                                          2.1.2          2026-01-27 [2] CRAN (R 4.6.0)\n##   moanin                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mobileRNA                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mockery                                         0.4.5          2025-09-04 [2] CRAN (R 4.6.0)\n##   mockr                                           0.2.2          2025-05-01 [2] CRAN (R 4.6.0)\n##   MODA                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ModCon                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   modeest                                         2.4.0          2019-11-18 [2] CRAN (R 4.6.0)\n##   ModelMetrics                                    1.2.2.2        2020-03-17 [2] CRAN (R 4.6.0)\n##   modelr                                          0.1.11         2023-03-22 [2] CRAN (R 4.6.0)\n##   modeltools                                      0.2-24         2025-05-02 [2] CRAN (R 4.6.0)\n##   Modstrings                                      1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MOFA2                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MOFAdata                                        1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MOGAMUN                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mogsa                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MoleculeExperiment                              1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MOMA                                            1.23.0         2026-04-22 [2] Bioconductor 3.23 (R 4.6.0)\n##   moments                                         0.14.1         2022-05-02 [2] CRAN (R 4.6.0)\n##   monaLisa                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   monocle                                         2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MonoPoly                                        0.3-10         2019-04-24 [2] CRAN (R 4.6.0)\n##   Moonlight2R                                     1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MoonlightR                                      1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mosaicCore                                      0.9.5          2025-07-30 [2] CRAN (R 4.6.0)\n##   mosaics                                         2.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mosaicsExample                                  1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MOSClip                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mosdef                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MOSim                                           2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Motif2Site                                      1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   motifbreakR                                     2.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   motifcounter                                    1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MotifDb                                         1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   motifmatchr                                     1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MotifPeeker                                     1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   motifStack                                      1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   motifTestR                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mouse4302.db                                    3.13.0         2026-04-20 [2] Bioconductor\n##   mouse4302barcodevecs                            1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   mouse4302cdf                                    2.18.0         2026-04-20 [2] Bioconductor\n##   mouse4302frmavecs                               1.5.0          2026-04-20 [2] Bioconductor\n##   MouseAgingData                                  1.7.1          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MouseFM                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MouseGastrulationData                           1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MouseThymusAgeing                               1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MPAC                                            1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mpath                                           0.4-2.26       2024-06-27 [2] CRAN (R 4.6.0)\n##   MPFE                                            1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mpm                                             1.0-23         2022-04-01 [2] CRAN (R 4.6.0)\n##   MPO.db                                          0.99.8         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   mpra                                            1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MPRAnalyze                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mrfDepth                                        1.0.17         2024-05-24 [2] CRAN (R 4.6.0)\n##   mRMRe                                           2.1.2.2        2024-11-05 [2] CRAN (R 4.6.0)\n##   msa                                             1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSA2dist                                        1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsBackendMassbank                               1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsBackendMetaboLights                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsBackendMgf                                    1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsBackendMsp                                    1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsBackendRawFileReader                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsBackendSql                                    1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsCoreUtils                                     1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msd16s                                          1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   msdata                                          0.51.2         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsDataHub                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msentropy                                       0.1.4          2023-08-07 [2] CRAN (R 4.6.0)\n##   MsExperiment                                    1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsFeatures                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msgbsR                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msigdb                                          1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   msigdbr                                         26.1.0         2026-03-12 [2] CRAN (R 4.6.0)\n##   msImpute                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mslp                                            1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msm                                             1.8.2          2024-11-07 [2] CRAN (R 4.6.0)\n##   MSMB                                            1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   msmsEDA                                         1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msmsTests                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSnbase                                         2.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSnID                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mspms                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSPrep                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msPurity                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   msPurityData                                    1.39.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   msqc1                                           1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   msqrob2                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MsQuality                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstats                                         4.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsBig                                      1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsBioNet                                   1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsConvert                                  1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsLiP                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsLOBD                                     1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsPTM                                      2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsQC                                       2.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsQCgui                                    1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsResponse                                 1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsShiny                                    1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MSstatsTMT                                      2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mstate                                          0.3.3          2024-07-11 [2] CRAN (R 4.6.0)\n##   mtbls2                                          1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MTLR                                            0.2.1          2019-06-03 [2] CRAN (R 4.6.0)\n##   MuData                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MUGAExampleData                                 1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   Mulcom                                          1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   muleaData                                       1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   multcomp                                        1.4-30         2026-03-09 [2] CRAN (R 4.6.0)\n##   multcompView                                    0.1-11         2026-02-16 [2] CRAN (R 4.6.0)\n##   MultiAssayExperiment                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MultiBaC                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multiClust                                      1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multicool                                       1.0.1          2024-02-05 [2] CRAN (R 4.6.0)\n##   multicrispr                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MultiDataSet                                    1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multiGSEA                                       1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multiHiCcompare                                 1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MultiMed                                        2.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multiMiR                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MultimodalExperiment                            1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multinet                                        4.3.4          2026-03-05 [2] CRAN (R 4.6.0)\n##   MultiRNAflow                                    1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multiscan                                       1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multistateQTL                                   2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multitaper                                      1.0-17         2023-07-20 [2] CRAN (R 4.6.0)\n##   multiWGCNA                                      1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   multiWGCNAdata                                  1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   multtest                                        2.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MuMIn                                           1.48.19        2026-03-27 [2] CRAN (R 4.6.0)\n##   mumosa                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MungeSumstats                                   1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Mus.musculus                                    1.3.1          2026-04-20 [2] Bioconductor\n##   muscat                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   muscData                                        1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   muscle                                          3.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   musicatk                                        2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   muSpaData                                       1.3.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MutationalPatterns                              3.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mutoss                                          0.1-14         2026-01-08 [2] CRAN (R 4.6.0)\n##   mutscan                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MutSeqR                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   MutSeqRData                                     0.99.4         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   MUVR2                                           0.1.0          2024-09-16 [2] CRAN (R 4.6.0)\n##   MVCClass                                        1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mvnfast                                         0.2.8          2023-02-23 [2] CRAN (R 4.6.0)\n##   mvoutData                                       1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   mvoutlier                                       2.1.4          2026-02-26 [2] CRAN (R 4.6.0)\n##   mvtnorm                                         1.3-7          2026-04-15 [2] CRAN (R 4.6.0)\n##   MWASTools                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mwcsr                                           0.1.10         2025-11-05 [2] CRAN (R 4.6.0)\n##   mycor                                           0.1.1          2018-04-10 [2] CRAN (R 4.6.0)\n##   mygene                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   myvariant                                       1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mzID                                            1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   mzR                                             2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   N2R                                             1.0.5          2026-03-30 [2] CRAN (R 4.6.0)\n##   nabor                                           0.5.0          2018-07-11 [2] CRAN (R 4.6.0)\n##   NADfinder                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   naivebayes                                      1.0.0          2024-03-16 [2] CRAN (R 4.6.0)\n##   naniar                                          1.1.0          2024-03-05 [2] CRAN (R 4.6.0)\n##   nanoarrow                                       0.8.0          2026-02-10 [2] CRAN (R 4.6.0)\n##   NanoMethViz                                     3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nanonext                                        1.8.2          2026-04-04 [2] CRAN (R 4.6.0)\n##   nanoparquet                                     0.5.1          2026-04-20 [2] CRAN (R 4.6.0)\n##   NanoporeRNASeq                                  1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   NanoStringDiff                                  1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NanoStringNCTools                               1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nanotime                                        0.3.14         2026-04-22 [2] CRAN (R 4.6.0)\n##   NanoTube                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nanotubes                                       1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   nat                                             1.8.25         2025-08-18 [2] CRAN (R 4.6.0)\n##   nat.utils                                       0.6.1          2023-06-07 [2] CRAN (R 4.6.0)\n##   naturalsort                                     0.1.3          2016-08-30 [2] CRAN (R 4.6.0)\n##   NBAMSeq                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NbClust                                         3.0.1          2022-05-02 [2] CRAN (R 4.6.0)\n##   NBPSeq                                          0.3.1          2022-06-09 [2] CRAN (R 4.6.0)\n##   ncdf4                                           1.24           2025-03-25 [2] CRAN (R 4.6.0)\n##   ncdfFlow                                        2.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ncGTW                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NCIgraph                                        1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NCIgraphData                                    1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   NCmisc                                          1.3.1          2026-02-19 [2] CRAN (R 4.6.0)\n##   ncRNAtools                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ndexr                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Nebulosa                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nempi                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NestLink                                        1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   NetActivity                                     1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NetActivityData                                 1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   netboost                                        2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   netgsa                                          4.0.7          2026-01-16 [2] CRAN (R 4.6.0)\n##   nethet                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NetPathMiner                                    1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   netprioR                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NetRep                                          1.2.10         2026-04-12 [2] CRAN (R 4.6.0)\n##   netresponse                                     1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NetSAM                                          1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   netSmooth                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   network                                         1.20.0         2026-02-07 [2] CRAN (R 4.6.0)\n##   networkD3                                       0.4.1          2025-04-14 [2] CRAN (R 4.6.0)\n##   neuralnet                                       1.44.2         2019-02-07 [2] CRAN (R 4.6.0)\n##   Neve2006                                        0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   NGLVieweR                                       1.4.0          2024-11-22 [2] CRAN (R 4.6.0)\n##   NGScopyData                                     1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ngsReports                                      2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NHPoisson                                       3.4            2026-01-26 [2] CRAN (R 4.6.0)\n##   nipals                                          1.0            2024-12-02 [2] CRAN (R 4.6.0)\n##   nipalsMCIA                                      1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NISTunits                                       1.0.1          2016-08-11 [2] CRAN (R 4.6.0)\n##   nlcv                                            0.3.6          2025-05-06 [2] CRAN (R 4.6.0)\n##   nleqslv                                         3.3.7          2026-04-10 [2] CRAN (R 4.6.0)\n##   nlme                                            3.1-169        2026-03-27 [3] CRAN (R 4.6.0)\n##   nloptr                                          2.2.1          2025-03-17 [2] CRAN (R 4.6.0)\n##   NLP                                             0.3-2          2024-11-20 [2] CRAN (R 4.6.0)\n##   nls2                                            0.3-4          2024-07-14 [2] CRAN (R 4.6.0)\n##   NMF                                             0.28           2024-08-22 [2] CRAN (R 4.6.0)\n##   NMFN                                            2.0.1          2022-06-23 [2] CRAN (R 4.6.0)\n##   NMI                                             2.0            2016-08-20 [2] CRAN (R 4.6.0)\n##   nmrdata                                         1.1.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   NMRphasing                                      1.0.7          2025-06-24 [2] CRAN (R 4.6.0)\n##   nnet                                            7.3-20         2025-01-01 [3] CRAN (R 4.6.0)\n##   nnlasso                                         0.3            2016-03-10 [2] CRAN (R 4.6.0)\n##   nnls                                            1.6            2024-10-23 [2] CRAN (R 4.6.0)\n##   nnNorm                                          2.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nnSVG                                           1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nnTensor                                        1.3.0          2024-05-13 [2] CRAN (R 4.6.0)\n##   NOISeq                                          2.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nondetects                                      2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nor1mix                                         1.3-3          2024-04-06 [2] CRAN (R 4.6.0)\n##   NoRCE                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   norm                                            1.0-11.1       2023-06-18 [2] CRAN (R 4.6.0)\n##   normalize450K                                   1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NormalyzerDE                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NormqPCR                                        1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   normr                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nortest                                         1.0-4          2015-07-30 [2] CRAN (R 4.6.0)\n##   notame                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   notameStats                                     1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   notameViz                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   np                                              0.60-20        2026-02-12 [2] CRAN (R 4.6.0)\n##   NPARC                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   npGSEA                                          1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nsga2R                                          1.1            2022-05-23 [2] CRAN (R 4.6.0)\n##   NTW                                             1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nucleoSim                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nucleR                                          2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nuCpos                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nullranges                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   nullrangesData                                  1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   numbers                                         0.9-2          2025-11-20 [2] CRAN (R 4.6.0)\n##   numDeriv                                        2016.8-1.1     2019-06-06 [2] CRAN (R 4.6.0)\n##   NuPoP                                           2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   NxtIRFdata                                      1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   OAtools                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   objectProperties                                0.6.8          2022-05-02 [2] CRAN (R 4.6.0)\n##   objectSignals                                   0.10.3         2022-04-05 [2] CRAN (R 4.6.0)\n##   ObMiTi                                          1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   occugene                                        1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OCplus                                          1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   oct4                                            1.27.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   octad                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   octad.db                                        1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   odseq                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   officer                                         0.7.4          2026-04-24 [2] CRAN (R 4.6.0)\n##   OGRE                                            1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OHCA                                            1.8.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   oligo                                           1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   oligoClasses                                    1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   oligoData                                       1.8.0          2026-04-20 [2] Bioconductor\n##   OLIN                                            1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OLINgui                                         1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OlinkAnalyze                                    5.0.0          2026-03-28 [2] CRAN (R 4.6.0)\n##   OMA                                             1.0.0          2026-04-29 [1] Bioconductor 3.23 (R 4.6.0)\n##   omada                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OmaDB                                           2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   omicade4                                        1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OmicCircos                                      1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   omicplotR                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   omicsGMF                                        1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OmicsMLRepoR                                    1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OMICsPCA                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OMICsPCAdata                                    1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   omicsPrint                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   omicsViewer                                     1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Omixer                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   omnibus                                         1.2.15         2025-04-03 [2] CRAN (R 4.6.0)\n##   OmnipathR                                       4.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ompBAM                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   omXplore                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OnassisJavaLibs                                 1.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   oncomix                                         1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   oncoscanR                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OncoScore                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OncoSimulR                                      4.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Oncotree                                        0.3.5          2023-09-27 [2] CRAN (R 4.6.0)\n##   onlineFDR                                       2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ontologyIndex                                   2.12           2024-02-27 [2] CRAN (R 4.6.0)\n##   ontologyPlot                                    1.7            2024-02-20 [2] CRAN (R 4.6.0)\n##   ontoProc                                        2.5.2          2026-04-27 [2] Bioconductor 3.23 (R 4.6.0)\n##   ontoProcData                                    0.99.9904      2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   openair                                         3.0.0          2026-04-02 [2] CRAN (R 4.6.0)\n##   opencpu                                         2.2.14         2024-10-04 [2] CRAN (R 4.6.0)\n##   openCyto                                        2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   openEBGM                                        0.9.1          2023-09-14 [2] CRAN (R 4.6.0)\n##   openPrimeR                                      1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   openssl                                         2.4.0          2026-04-15 [2] CRAN (R 4.6.0)\n##   OpenStats                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   openxlsx                                        4.2.8.1        2025-10-31 [2] CRAN (R 4.6.0)\n##   operator.tools                                  1.6.3.1        2026-01-29 [2] CRAN (R 4.6.0)\n##   oposSOM                                         2.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   oppar                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   optimalFlow                                     1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   optimalFlowData                                 1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   optimParallel                                   1.0-2          2021-02-11 [2] CRAN (R 4.6.0)\n##   optimx                                          2025-4.9       2025-04-10 [2] CRAN (R 4.6.0)\n##   optparse                                        1.8.2          2026-04-17 [2] CRAN (R 4.6.0)\n##   OPWeight                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OrderedList                                     1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ordinal                                         2025.12-29     2026-01-10 [2] CRAN (R 4.6.0)\n##   ore                                             1.7.5.1        2025-03-14 [2] CRAN (R 4.6.0)\n##   ORFhunteR                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ORFik                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   org.Ag.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.At.tair.db                                  3.22.0         2026-04-20 [2] Bioconductor\n##   org.Bt.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.Ce.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.Cf.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.Dm.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.Dr.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.EcK12.eg.db                                 3.22.0         2026-04-20 [2] Bioconductor\n##   org.EcSakai.eg.db                               3.22.0         2026-04-20 [2] Bioconductor\n##   org.Gg.eg.db                                    3.22.0         2026-04-20 [2] Bioconductor\n##   org.Hbacteriophora.eg.db                        0.99.1         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   org.Hs.eg.db                                    3.23.1         2026-04-20 [2] Bioconductor\n##   org.Mm.eg.db                                    3.23.0         2026-04-20 [2] Bioconductor\n##   org.Mmu.eg.db                                   3.23.0         2026-04-20 [2] Bioconductor\n##   org.Mxanthus.db                                 1.0.27         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   org.Pt.eg.db                                    3.23.0         2026-04-20 [2] Bioconductor\n##   org.Rn.eg.db                                    3.23.0         2026-04-20 [2] Bioconductor\n##   org.Sc.sgd.db                                   3.22.0         2026-04-20 [2] Bioconductor\n##   org.Ss.eg.db                                    3.23.0         2026-04-20 [2] Bioconductor\n##   org.Xl.eg.db                                    3.23.0         2026-04-20 [2] Bioconductor\n##   Organism.dplyr                                  1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OrganismDbi                                     1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OrgMassSpecR                                    0.5-4          2026-01-27 [2] CRAN (R 4.6.0)\n##   origami                                         1.0.7          2022-10-19 [2] CRAN (R 4.6.0)\n##   orthogene                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   orthos                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   orthosData                                      1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSAT                                            1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSCA                                            1.22.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSCA.advanced                                   1.20.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSCA.basic                                      1.20.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSCA.intro                                      1.20.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSCA.multisample                                1.20.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSCA.workflows                                  1.20.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   Oscope                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   osfr                                            0.2.9          2022-09-25 [2] CRAN (R 4.6.0)\n##   osqp                                            1.0.0          2026-03-01 [2] CRAN (R 4.6.0)\n##   OSTA                                            1.2.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   OSTA.data                                       1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   otel                                            0.2.0          2025-08-29 [2] CRAN (R 4.6.0)\n##   OTUbase                                         1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   outliers                                        0.15           2022-03-26 [2] CRAN (R 4.6.0)\n##   OUTRIDER                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OutSplice                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   OVESEG                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PAA                                             1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   packcircles                                     0.3.7          2024-11-21 [2] CRAN (R 4.6.0)\n##   packFinder                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   padma                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PADOG                                           1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pageRank                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pagoda2                                         1.0.15         2026-03-31 [2] CRAN (R 4.6.0)\n##   paintmap                                        1.0            2016-08-31 [2] CRAN (R 4.6.0)\n##   PAIRADISE                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   paircompviz                                     1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PairedData                                      1.1.1          2018-06-02 [2] CRAN (R 4.6.0)\n##   pairedGSEA                                      1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pairkat                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pairsD3                                         0.1.3          2022-06-06 [2] CRAN (R 4.6.0)\n##   pak                                             0.9.5          2026-04-27 [2] CRAN (R 4.6.0)\n##   paletteer                                       1.7.0          2026-01-08 [2] CRAN (R 4.6.0)\n##   palmerpenguins                                  0.1.1          2022-08-15 [2] CRAN (R 4.6.0)\n##   pals                                            1.10           2025-03-07 [2] CRAN (R 4.6.0)\n##   pamr                                            1.57           2024-07-01 [2] CRAN (R 4.6.0)\n##   pan                                             1.9            2023-12-07 [2] CRAN (R 4.6.0)\n##   pandaR                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pander                                          0.6.6          2025-03-01 [2] CRAN (R 4.6.0)\n##   panelcn.mops                                    1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PanomiR                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   panp                                            1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PANR                                            1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PANTHER.db                                      1.0.12         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   paradox                                         1.0.1          2024-07-09 [2] CRAN (R 4.6.0)\n##   parallel                                        4.6.0          2026-04-20 [3] local\n##   parallelDist                                    0.2.7          2025-09-27 [2] CRAN (R 4.6.0)\n##   ParallelLogger                                  3.5.1          2025-10-29 [2] CRAN (R 4.6.0)\n##   parallelly                                      1.47.0         2026-04-17 [2] CRAN (R 4.6.0)\n##   parallelMap                                     1.5.1          2021-06-28 [2] CRAN (R 4.6.0)\n##   parameters                                      0.28.3         2025-11-25 [2] CRAN (R 4.6.0)\n##   ParamHelpers                                    1.14.2         2025-01-09 [2] CRAN (R 4.6.0)\n##   parati                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   parglms                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   parmigene                                       1.1.1          2024-10-21 [2] CRAN (R 4.6.0)\n##   parody                                          1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   parsedate                                       1.3.2          2024-12-09 [2] CRAN (R 4.6.0)\n##   partCNV                                         1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   partitions                                      1.10-9         2025-04-30 [2] CRAN (R 4.6.0)\n##   party                                           1.3-20         2026-03-26 [2] CRAN (R 4.6.0)\n##   partykit                                        1.2-27         2026-03-13 [2] CRAN (R 4.6.0)\n##   pasilla                                         1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   pasillaBamSubset                                0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PasillaTranscriptExpr                           1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PAST                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pastecs                                         1.4.2          2024-02-01 [2] CRAN (R 4.6.0)\n##   patchwork                                       1.3.2          2025-08-25 [2] CRAN (R 4.6.0)\n##   Path2PPI                                        1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pathifier                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pathlinkR                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pathMED                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PathNet                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PathNetData                                     1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PathoStat                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pathRender                                      1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pathview                                        1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pathwayPCA                                      1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   patrick                                         0.3.1          2025-12-02 [2] CRAN (R 4.6.0)\n##   paws                                            0.9.0          2025-03-17 [2] CRAN (R 4.6.0)\n##   paws.analytics                                  0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.application.integration                    0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.common                                     0.8.9          2026-02-17 [2] CRAN (R 4.6.0)\n##   paws.compute                                    0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.cost.management                            0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.customer.engagement                        0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.database                                   0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.developer.tools                            0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.end.user.computing                         0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.machine.learning                           0.9.0          2025-03-15 [2] CRAN (R 4.6.0)\n##   paws.management                                 0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.networking                                 0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.security.identity                          0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   paws.storage                                    0.9.0          2025-03-14 [2] CRAN (R 4.6.0)\n##   pbapply                                         1.7-4          2025-07-20 [2] CRAN (R 4.6.0)\n##   pbdZMQ                                          0.3-14         2025-04-13 [2] CRAN (R 4.6.0)\n##   pbivnorm                                        0.6.0          2015-01-23 [2] CRAN (R 4.6.0)\n##   pbkrtest                                        0.5.5          2025-07-18 [2] CRAN (R 4.6.0)\n##   pbmcapply                                       1.5.1          2022-04-28 [2] CRAN (R 4.6.0)\n##   pbs                                             1.1            2013-06-08 [2] CRAN (R 4.6.0)\n##   pbv                                             0.5-47         2023-11-30 [2] CRAN (R 4.6.0)\n##   pcaExplorer                                     3.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pcalg                                           2.7-12         2024-09-12 [2] CRAN (R 4.6.0)\n##   pcaMethods                                      2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PCAN                                            1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pcaPP                                           2.0-5          2024-08-19 [2] CRAN (R 4.6.0)\n##   PCAtools                                        2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PCHiCdata                                       1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   pd.atdschip.tiling                              0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   pd.genomewidesnp.5                              3.14.1         2026-04-20 [2] Bioconductor\n##   pd.genomewidesnp.6                              3.14.1         2026-04-20 [2] Bioconductor\n##   pd.hg.u95a                                      3.12.0         2026-04-20 [2] Bioconductor\n##   pd.hg.u95av2                                    3.12.0         2026-04-20 [2] Bioconductor\n##   pd.hg18.60mer.expr                              3.12.0         2026-04-20 [2] Bioconductor\n##   pd.huex.1.0.st.v2                               3.14.1         2026-04-20 [2] Bioconductor\n##   pd.hugene.1.0.st.v1                             3.14.1         2026-04-20 [2] Bioconductor\n##   pd.mapping250k.nsp                              3.12.0         2026-04-20 [2] Bioconductor\n##   pd.mapping250k.sty                              3.12.0         2026-04-20 [2] Bioconductor\n##   pd.mapping50k.hind240                           3.12.0         2026-04-20 [2] Bioconductor\n##   pd.mapping50k.xba240                            3.12.0         2026-04-20 [2] Bioconductor\n##   PDATK                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pdfCluster                                      1.0-4          2022-12-02 [2] CRAN (R 4.6.0)\n##   pdftools                                        3.8.0          2026-04-11 [2] CRAN (R 4.6.0)\n##   pdInfoBuilder                                   1.76.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pdist                                           1.2.1          2022-05-02 [2] CRAN (R 4.6.0)\n##   PeacoQC                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   peakCombiner                                    1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   peakPantheR                                     1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pec                                             2025.06.24     2025-07-24 [2] CRAN (R 4.6.0)\n##   PECA                                            1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   peco                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Pedixplorer                                     1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   penalized                                       0.9-53         2025-10-02 [2] CRAN (R 4.6.0)\n##   pengls                                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pepDat                                          1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PepSetTest                                      1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PepsNMR                                         1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PepsNMRData                                     1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   pepStat                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Peptides                                        2.4.6          2023-12-13 [2] CRAN (R 4.6.0)\n##   pepXMLTab                                       1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PerfMeas                                        1.2.5          2022-09-14 [2] CRAN (R 4.6.0)\n##   performance                                     0.16.0         2026-02-04 [2] CRAN (R 4.6.0)\n##   PerformanceAnalytics                            2.1.0          2026-04-11 [2] CRAN (R 4.6.0)\n##   periodicDNA                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PERMANOVA                                       0.2.0          2021-09-06 [2] CRAN (R 4.6.0)\n##   permute                                         0.9-10         2026-02-06 [2] CRAN (R 4.6.0)\n##   perturbR                                        0.1.3          2019-02-19 [2] CRAN (R 4.6.0)\n##   PFAM.db                                         3.22.0         2026-04-20 [2] Bioconductor\n##   pfamAnalyzeR                                    1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pgca                                            1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pgxRpi                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phangorn                                        2.12.1         2024-09-17 [2] CRAN (R 4.6.0)\n##   phantasus                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phantasusLite                                   1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PharmacoGx                                      3.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phastCons100way.UCSC.hg19                       3.7.2          2026-04-20 [2] Bioconductor\n##   phastCons100way.UCSC.hg38                       3.7.1          2026-04-20 [2] Bioconductor\n##   phastCons30way.UCSC.hg38                        3.13.1         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   pheatmap                                        1.0.13         2025-06-05 [2] CRAN (R 4.6.0)\n##   PhenoGeneRanker                                 1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phenomis                                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phenopath                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phenoTest                                       1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   philentropy                                     0.10.0         2025-11-03 [2] CRAN (R 4.6.0)\n##   philr                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PhIPData                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phosphonormalizer                               1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phosphoricons                                   0.2.1          2024-04-08 [2] CRAN (R 4.6.0)\n##   PhosR                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phyclust                                        0.1-34         2023-09-06 [2] CRAN (R 4.6.0)\n##   phylobase                                       0.8.12         2024-01-30 [2] CRAN (R 4.6.0)\n##   phylogram                                       2.1.0          2018-06-25 [2] CRAN (R 4.6.0)\n##   phylolm                                         2.6.5          2024-09-30 [2] CRAN (R 4.6.0)\n##   PhyloProfile                                    2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PhyloProfileData                                1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   phyloseq                                        1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   phytools                                        2.5-2          2025-09-19 [2] CRAN (R 4.6.0)\n##   piano                                           2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PICB                                            1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pickgene                                        1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Pigengene                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   piggyback                                       0.1.5          2023-07-10 [2] CRAN (R 4.6.0)\n##   pillar                                          1.11.1         2025-09-17 [2] CRAN (R 4.6.0)\n##   pinfsc50                                        1.3.0          2023-12-05 [2] CRAN (R 4.6.0)\n##   pingr                                           2.0.5          2024-12-12 [2] CRAN (R 4.6.0)\n##   pipeComp                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pipeFrame                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PIPETS                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Pirat                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   piton                                           1.0.1          2025-11-30 [2] CRAN (R 4.6.0)\n##   PIUMA                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pixmap                                          0.4-14         2025-07-26 [2] CRAN (R 4.6.0)\n##   PK                                              1.3-6          2023-09-12 [2] CRAN (R 4.6.0)\n##   pkgbuild                                        1.4.8          2025-05-26 [2] CRAN (R 4.6.0)\n##   pkgcond                                         0.1.1          2021-04-28 [2] CRAN (R 4.6.0)\n##   pkgconfig                                       2.0.3          2019-09-22 [2] CRAN (R 4.6.0)\n##   pkgdown                                         2.2.0          2025-11-06 [2] CRAN (R 4.6.0)\n##   pkgload                                         1.5.2          2026-04-22 [2] CRAN (R 4.6.0)\n##   pkgndep                                         2.0.0          2026-04-08 [2] CRAN (R 4.6.0)\n##   pkgsearch                                       3.1.5          2025-04-12 [2] CRAN (R 4.6.0)\n##   plaid                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   planet                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   planttfhunter                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plasmodiumanophelescdf                          2.18.0         2026-04-20 [2] Bioconductor\n##   plasmut                                         1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plgem                                           1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plier                                           1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PlinkMatrix                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plot3D                                          1.4.2          2025-07-25 [2] CRAN (R 4.6.0)\n##   plot3Drgl                                       1.0.5          2025-07-25 [2] CRAN (R 4.6.0)\n##   plotfunctions                                   1.5            2025-12-22 [2] CRAN (R 4.6.0)\n##   plotgardener                                    1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plotgardenerData                                1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   plotGrouper                                     1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plotly                                          4.12.0         2026-01-24 [2] CRAN (R 4.6.0)\n##   plotmo                                          3.7.0          2026-01-09 [2] CRAN (R 4.6.0)\n##   plotrix                                         3.8-14         2026-02-13 [2] CRAN (R 4.6.0)\n##   plotROC                                         2.3.3          2025-08-25 [2] CRAN (R 4.6.0)\n##   PlotTools                                       0.4.0          2026-01-29 [2] CRAN (R 4.6.0)\n##   PLPE                                            1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pls                                             2.9-0          2026-02-21 [2] CRAN (R 4.6.0)\n##   PLSDAbatch                                      2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plsgenomics                                     1.5-3          2024-03-28 [2] CRAN (R 4.6.0)\n##   plsVarSel                                       0.10.0         2026-02-13 [2] CRAN (R 4.6.0)\n##   plyinteractions                                 1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plyr                                            1.8.9          2023-10-02 [2] CRAN (R 4.6.0)\n##   plyranges                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   plyxp                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PMA                                             1.2-4          2024-09-03 [2] CRAN (R 4.6.0)\n##   PMCMRplus                                       1.9.12         2024-09-08 [2] CRAN (R 4.6.0)\n##   pmm                                             1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pmp                                             1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PMScanR                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   png                                             0.1-9          2026-03-15 [2] CRAN (R 4.6.0)\n##   PoDCall                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   podkat                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   poem                                            1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pogos                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   poibin                                          1.6            2024-08-23 [2] CRAN (R 4.6.0)\n##   PoiClaClu                                       1.0.2.1        2019-01-04 [2] CRAN (R 4.6.0)\n##   polspline                                       1.1.25         2024-05-10 [2] CRAN (R 4.6.0)\n##   Polychrome                                      1.5.4          2025-04-06 [2] CRAN (R 4.6.0)\n##   polyclip                                        1.10-7         2024-07-23 [2] CRAN (R 4.6.0)\n##   polycor                                         0.8-2          2025-12-14 [2] CRAN (R 4.6.0)\n##   polyCub                                         0.9.4          2026-04-24 [2] CRAN (R 4.6.0)\n##   polylabelr                                      1.0.0          2026-01-19 [2] CRAN (R 4.6.0)\n##   polynom                                         1.4-1          2022-04-11 [2] CRAN (R 4.6.0)\n##   PolynomF                                        2.0-8          2024-03-03 [2] CRAN (R 4.6.0)\n##   PolyPhen.Hsapiens.dbSNP131                      1.0.2          2026-04-20 [2] Bioconductor\n##   PolySTest                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Polytect                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   POMA                                            1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pool                                            1.0.4          2024-10-07 [2] CRAN (R 4.6.0)\n##   poolr                                           1.2-0          2026-04-02 [2] CRAN (R 4.6.0)\n##   poorman                                         0.2.7          2023-10-30 [2] CRAN (R 4.6.0)\n##   posDemux                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   posterior                                       1.7.0          2026-04-01 [2] CRAN (R 4.6.0)\n##   postNet                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   poweRlaw                                        1.0.0          2025-02-03 [2] CRAN (R 4.6.0)\n##   powerTCR                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   POWSC                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ppclust                                         1.1.0.1        2023-12-13 [2] CRAN (R 4.6.0)\n##   ppcor                                           1.1            2015-12-03 [2] CRAN (R 4.6.0)\n##   ppcseq                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PPInfer                                         1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pqsfinder                                       2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   prabclus                                        2.3-5          2026-01-14 [2] CRAN (R 4.6.0)\n##   pracma                                          2.4.6          2025-10-22 [2] CRAN (R 4.6.0)\n##   praise                                          1.0.0          2015-08-11 [2] CRAN (R 4.6.0)\n##   pram                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   praznik                                         12.0.0         2025-11-11 [2] CRAN (R 4.6.0)\n##   prebs                                           1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   prebsdata                                       1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   preciseTAD                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   preciseTADhub                                   1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   precrec                                         0.14.5         2025-05-15 [2] CRAN (R 4.6.0)\n##   PREDA                                           1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PREDAsampledata                                 0.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   preprocessCore                                  1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   preseqR                                         4.0.0          2018-06-27 [2] CRAN (R 4.6.0)\n##   prettydoc                                       0.4.1          2021-01-10 [2] CRAN (R 4.6.0)\n##   prettyGraphs                                    2.2.0          2025-04-12 [2] CRAN (R 4.6.0)\n##   prettyunits                                     1.2.0          2023-09-24 [2] CRAN (R 4.6.0)\n##   primes                                          1.6.1          2025-02-04 [2] CRAN (R 4.6.0)\n##   primirTSS                                       1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PRIMME                                          3.2-6          2024-01-09 [2] CRAN (R 4.6.0)\n##   PrInCE                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   princurve                                       2.1.6          2021-01-18 [2] CRAN (R 4.6.0)\n##   printr                                          0.3            2023-03-08 [2] CRAN (R 4.6.0)\n##   prismatic                                       1.1.2          2024-04-10 [2] CRAN (R 4.6.0)\n##   proActiv                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   proBAMr                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   proBatch                                        2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pROC                                            1.19.0.1       2025-07-31 [2] CRAN (R 4.6.0)\n##   PROcess                                         1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   processx                                        3.9.0          2026-04-22 [2] CRAN (R 4.6.0)\n##   procoil                                         2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   proDA                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ProData                                         1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   prodlim                                         2026.03.11     2026-03-11 [2] CRAN (R 4.6.0)\n##   profileModel                                    0.6.2          2026-02-06 [2] CRAN (R 4.6.0)\n##   profileScoreDist                                1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   profmem                                         0.7.0          2025-05-02 [2] CRAN (R 4.6.0)\n##   profvis                                         0.4.0          2024-09-20 [2] CRAN (R 4.6.0)\n##   progeny                                         1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   progress                                        1.2.3          2023-12-06 [2] CRAN (R 4.6.0)\n##   progressr                                       0.19.0         2026-03-31 [2] CRAN (R 4.6.0)\n##   projectR                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pRoloc                                          1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pRolocdata                                      1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   pRolocGUI                                       2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PROMISE                                         1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   promises                                        1.5.0          2025-11-01 [2] CRAN (R 4.6.0)\n##   prompter                                        1.2.1          2025-07-01 [2] CRAN (R 4.6.0)\n##   PRONE                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   propagate                                       1.1-0          2026-02-25 [2] CRAN (R 4.6.0)\n##   PROPER                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PROPS                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Prostar                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   prostateCancerCamcap                            1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   prostateCancerGrasso                            1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   prostateCancerStockholm                         1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   prostateCancerTaylor                            1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   prostateCancerVarambally                        1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ProteinGymR                                     1.5.1          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   proteinProfiles                                 1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ProteoDisco                                     1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ProteoMM                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   protGear                                        1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ProtGenerics                                    1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   proto                                           1.0.0          2016-10-29 [2] CRAN (R 4.6.0)\n##   protolite                                       2.4.0          2026-03-12 [2] CRAN (R 4.6.0)\n##   protr                                           1.7-5          2025-08-21 [2] CRAN (R 4.6.0)\n##   protViz                                         0.7.9          2023-12-12 [2] CRAN (R 4.6.0)\n##   proxy                                           0.4-29         2025-12-29 [2] CRAN (R 4.6.0)\n##   proxyC                                          0.5.2          2025-04-25 [2] CRAN (R 4.6.0)\n##   PRROC                                           1.4            2025-03-18 [2] CRAN (R 4.6.0)\n##   ps                                              1.9.3          2026-04-20 [2] CRAN (R 4.6.0)\n##   PSCBS                                           0.68.0         2025-04-18 [2] CRAN (R 4.6.0)\n##   pscl                                            1.5.9          2024-01-31 [2] CRAN (R 4.6.0)\n##   psichomics                                      1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PSMatch                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pspline                                         1.0-21         2024-12-11 [2] CRAN (R 4.6.0)\n##   psych                                           2.6.3          2026-03-25 [2] CRAN (R 4.6.0)\n##   ptairData                                       1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ptairMS                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PtH2O2lipids                                    1.37.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PTMods                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ptw                                             1.9-17         2026-01-22 [2] CRAN (R 4.6.0)\n##   Publish                                         2025.07.24     2025-07-24 [2] CRAN (R 4.6.0)\n##   pulsar                                          0.3.13         2026-03-29 [2] CRAN (R 4.6.0)\n##   puma                                            3.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pumadata                                        2.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PupillometryR                                   0.0.7          2025-12-19 [2] CRAN (R 4.6.0)\n##   PureCN                                          2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   purrr                                           1.2.2          2026-04-10 [2] CRAN (R 4.6.0)\n##   pushbar                                         0.1.0          2019-03-15 [2] CRAN (R 4.6.0)\n##   pvac                                            1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pvca                                            1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pvclust                                         2.2-0          2019-11-19 [2] CRAN (R 4.6.0)\n##   Pviz                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   pwalign                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PWMEnrich                                       4.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   PWMEnrich.Dmelanogaster.background              4.45.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PWMEnrich.Hsapiens.background                   4.45.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   PWMEnrich.Mmusculus.background                  4.45.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   pwr                                             1.3-0          2020-03-17 [2] CRAN (R 4.6.0)\n##   qap                                             0.1-2          2022-06-27 [2] CRAN (R 4.6.0)\n##   qcc                                             2.7            2017-07-11 [2] CRAN (R 4.6.0)\n##   qcmetrics                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qdapRegex                                       0.7.10         2025-03-24 [2] CRAN (R 4.6.0)\n##   qdapTools                                       1.3.7          2023-05-10 [2] CRAN (R 4.6.0)\n##   QDNAseq                                         1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   QDNAseq.hg19                                    1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   QDNAseq.mm10                                    1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   QFeatures                                       1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qgam                                            2.0.0          2025-04-10 [2] CRAN (R 4.6.0)\n##   qgraph                                          1.9.8          2023-11-03 [2] CRAN (R 4.6.0)\n##   qlcMatrix                                       0.9.9          2025-07-23 [2] CRAN (R 4.6.0)\n##   qmtools                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qpcR                                            1.4-2          2025-06-10 [2] CRAN (R 4.6.0)\n##   qpcrNorm                                        1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qpdf                                            1.4.1          2025-07-02 [2] CRAN (R 4.6.0)\n##   qpgraph                                         2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qPLEXanalyzer                                   1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qPLEXdata                                       1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   qqconf                                          1.3.2          2023-04-14 [2] CRAN (R 4.6.0)\n##   qqman                                           0.1.9          2023-08-23 [2] CRAN (R 4.6.0)\n##   QRscore                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qs2                                             0.2.0          2026-04-22 [2] CRAN (R 4.6.0)\n##   qsea                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qsmooth                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   QSutils                                         1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qsvaR                                           1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qtl                                             1.74           2025-12-08 [2] CRAN (R 4.6.0)\n##   QTLExperiment                                   2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Qtlizer                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   quadprog                                        1.5-8          2019-11-20 [2] CRAN (R 4.6.0)\n##   qualV                                           0.3-5          2023-07-02 [2] CRAN (R 4.6.0)\n##   quanteda                                        4.4            2026-04-06 [2] CRAN (R 4.6.0)\n##   quantiseqr                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   quantmod                                        0.4.28         2025-06-19 [2] CRAN (R 4.6.0)\n##   quantreg                                        6.1            2025-03-10 [2] CRAN (R 4.6.0)\n##   quantro                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   quantsmooth                                     1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   quarto                                          1.5.1          2025-09-04 [2] CRAN (R 4.6.0)\n##   QuasR                                           1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   QuaternaryProd                                  1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   QUBIC                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   QUBICdata                                       1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   queeems                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   queryup                                         1.0.5          2023-06-05 [2] CRAN (R 4.6.0)\n##   questionr                                       0.8.2          2026-01-21 [2] CRAN (R 4.6.0)\n##   QuickJSR                                        1.9.2          2026-04-17 [2] CRAN (R 4.6.0)\n##   quitefastmst                                    0.9.1          2026-02-11 [2] CRAN (R 4.6.0)\n##   qusage                                          2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qvalue                                          2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   qvcalc                                          1.0.4          2025-01-24 [2] CRAN (R 4.6.0)\n##   R.cache                                         0.17.0         2025-05-02 [2] CRAN (R 4.6.0)\n##   R.devices                                       2.17.3         2025-12-18 [2] CRAN (R 4.6.0)\n##   R.filesets                                      2.15.1         2024-01-24 [2] CRAN (R 4.6.0)\n##   R.huge                                          0.10.1         2024-01-24 [2] CRAN (R 4.6.0)\n##   R.matlab                                        3.7.0          2022-08-25 [2] CRAN (R 4.6.0)\n##   R.methodsS3                                     1.8.2          2022-06-13 [2] CRAN (R 4.6.0)\n##   R.oo                                            1.27.1         2025-05-02 [2] CRAN (R 4.6.0)\n##   R.rsp                                           0.46.0         2024-02-17 [2] CRAN (R 4.6.0)\n##   R.utils                                         2.13.0         2025-02-24 [2] CRAN (R 4.6.0)\n##   r2glmm                                          0.1.3          2025-04-28 [2] CRAN (R 4.6.0)\n##   R2HTML                                          2.3.4          2024-06-16 [2] CRAN (R 4.6.0)\n##   R2jags                                          0.8-9          2024-10-13 [2] CRAN (R 4.6.0)\n##   r2r                                             0.1.2          2024-11-09 [2] CRAN (R 4.6.0)\n##   R2WinBUGS                                       2.1-24         2026-02-23 [2] CRAN (R 4.6.0)\n##   R3CPET                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   r3Cseq                                          1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   r3dmol                                          0.1.2          2021-03-14 [2] CRAN (R 4.6.0)\n##   R453Plus1Toolbox                                1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   R4RNA                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   R6                                              2.6.1          2025-02-15 [2] CRAN (R 4.6.0)\n##   R6P                                             0.4.0          2024-12-22 [2] CRAN (R 4.6.0)\n##   RADanalysis                                     1.0.1          2025-04-28 [2] CRAN (R 4.6.0)\n##   radiant.data                                    1.6.8          2025-09-16 [2] CRAN (R 4.6.0)\n##   RadioGx                                         2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rae230a.db                                      3.13.0         2026-04-20 [2] Bioconductor\n##   rae230aprobe                                    2.18.0         2026-04-20 [2] Bioconductor\n##   raer                                            1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   raerdata                                        1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rafalib                                         1.0.4          2025-04-08 [2] CRAN (R 4.6.0)\n##   ragg                                            1.5.2          2026-03-23 [2] CRAN (R 4.6.0)\n##   RaggedExperiment                                1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RAIDS                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rain                                            1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rainbow                                         3.8            2024-01-23 [2] CRAN (R 4.6.0)\n##   ramr                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RaMS                                            1.4.3          2024-10-09 [2] CRAN (R 4.6.0)\n##   ramwas                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   randomcoloR                                     1.1.0.1        2019-11-24 [2] CRAN (R 4.6.0)\n##   randomForest                                    4.7-1.2        2024-09-22 [2] CRAN (R 4.6.0)\n##   randomForestSRC                                 3.6.2          2026-04-19 [2] CRAN (R 4.6.0)\n##   randomizr                                       1.0.1          2026-02-02 [2] CRAN (R 4.6.0)\n##   randPack                                        1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   randRotation                                    1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   randtests                                       1.0.2          2024-04-23 [2] CRAN (R 4.6.0)\n##   randtoolbox                                     2.0.5          2024-10-18 [2] CRAN (R 4.6.0)\n##   ranger                                          0.18.0         2026-01-16 [2] CRAN (R 4.6.0)\n##   RankAggreg                                      0.6.6          2020-05-09 [2] CRAN (R 4.6.0)\n##   RankMap                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RankProd                                        3.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RANN                                            2.6.2          2024-08-25 [2] CRAN (R 4.6.0)\n##   rapiclient                                      0.1.8          2024-09-30 [2] CRAN (R 4.6.0)\n##   rapidjsonr                                      1.2.1          2025-11-24 [2] CRAN (R 4.6.0)\n##   rappdirs                                        0.3.4          2026-01-17 [2] CRAN (R 4.6.0)\n##   rapportools                                     1.2            2025-02-28 [2] CRAN (R 4.6.0)\n##   RAREsim                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RareVariantVis                                  2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rARPACK                                         0.11-0         2016-03-10 [2] CRAN (R 4.6.0)\n##   Rarr                                            2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   raster                                          3.6-32         2025-03-28 [2] CRAN (R 4.6.0)\n##   rat2302frmavecs                                 0.99.11        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rattus.norvegicus                               1.3.1          2026-04-20 [2] Bioconductor\n##   rawDiag                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rawrr                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RbcBook1                                        1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rbec                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RBedMethyl                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rbenchmark                                      1.0.0          2012-08-30 [2] CRAN (R 4.6.0)\n##   rBeta2009                                       1.0.1          2024-11-04 [2] CRAN (R 4.6.0)\n##   RBGL                                            1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rbibutils                                       2.4.1          2026-01-21 [2] CRAN (R 4.6.0)\n##   rbioapi                                         0.8.3          2025-07-03 [2] CRAN (R 4.6.0)\n##   RBioFormats                                     1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rBiopaxParser                                   2.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rBLAST                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RBM                                             1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rbowtie                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rbowtie2                                        2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rbsurv                                          2.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rbwa                                            1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rcapture                                        1.4-4          2022-05-04 [2] CRAN (R 4.6.0)\n##   RCAS                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RCASPAR                                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rcdd                                            1.6-1          2026-01-12 [2] CRAN (R 4.6.0)\n##   rcdk                                            3.8.2          2025-11-30 [2] CRAN (R 4.6.0)\n##   rcdklibs                                        2.9            2024-03-03 [2] CRAN (R 4.6.0)\n##   rcellminer                                      2.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rcellminerData                                  2.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rCGH                                            1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RCircos                                         1.2.2          2021-12-19 [2] CRAN (R 4.6.0)\n##   RcisTarget                                      1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RcisTarget.hg19.motifDBs.cisbpOnly.500bp        1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rclipboard                                      0.2.1          2023-11-15 [2] CRAN (R 4.6.0)\n##   RCM                                             1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rcmdcheck                                       1.4.0          2021-09-27 [2] CRAN (R 4.6.0)\n##   Rcollectl                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RColorBrewer                                    1.1-3          2022-04-03 [2] CRAN (R 4.6.0)\n##   rcompanion                                      2.5.2          2026-01-11 [2] CRAN (R 4.6.0)\n##   Rcpi                                            1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rcpp                                            1.1.1-1.1      2026-04-24 [2] CRAN (R 4.6.0)\n##   RcppAlgos                                       2.10.0         2026-03-08 [2] CRAN (R 4.6.0)\n##   RcppAnnoy                                       0.0.23         2026-01-12 [2] CRAN (R 4.6.0)\n##   RcppArmadillo                                   15.2.6-1       2026-04-21 [2] CRAN (R 4.6.0)\n##   RcppCCTZ                                        0.2.14         2026-01-08 [2] CRAN (R 4.6.0)\n##   RcppDate                                        0.0.6          2025-05-29 [2] CRAN (R 4.6.0)\n##   RcppDE                                          0.1.9          2026-03-11 [2] CRAN (R 4.6.0)\n##   RcppDist                                        0.1.1.1        2025-06-12 [2] CRAN (R 4.6.0)\n##   RcppEigen                                       0.3.4.0.2      2024-08-24 [2] CRAN (R 4.6.0)\n##   RcppGSL                                         0.3.14         2026-03-05 [2] CRAN (R 4.6.0)\n##   RcppHMM                                         1.2.2.1        2025-09-17 [2] CRAN (R 4.6.0)\n##   RcppHNSW                                        0.6.0          2024-02-04 [2] CRAN (R 4.6.0)\n##   RcppHungarian                                   0.3            2023-09-05 [2] CRAN (R 4.6.0)\n##   RcppInt64                                       0.0.5          2024-04-30 [2] CRAN (R 4.6.0)\n##   RcppML                                          0.3.7.1        2026-03-09 [2] CRAN (R 4.6.0)\n##   RcppNumerical                                   0.7-0          2026-02-28 [2] CRAN (R 4.6.0)\n##   RcppParallel                                    5.1.11-2       2026-03-05 [2] CRAN (R 4.6.0)\n##   RcppPlanc                                       2.0.15         2026-02-26 [2] CRAN (R 4.6.0)\n##   RcppProgress                                    0.4.2          2020-02-06 [2] CRAN (R 4.6.0)\n##   RcppRoll                                        0.3.2          2026-03-28 [2] CRAN (R 4.6.0)\n##   RcppSpdlog                                      0.0.28         2026-03-20 [2] CRAN (R 4.6.0)\n##   RcppThread                                      2.3.0          2026-01-16 [2] CRAN (R 4.6.0)\n##   RcppTOML                                        0.2.3          2025-03-08 [2] CRAN (R 4.6.0)\n##   RCSL                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RCurl                                           1.98-1.18      2026-03-21 [2] CRAN (R 4.6.0)\n##   Rcwl                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RcwlPipelines                                   1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RCX                                             1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RCy3                                            2.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RCyjs                                           2.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rdisop                                          1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rdist                                           0.0.5          2020-05-04 [2] CRAN (R 4.6.0)\n##   Rdpack                                          2.6.6          2026-02-08 [2] CRAN (R 4.6.0)\n##   RDRToolbox                                      1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   reactable                                       0.4.5          2025-12-01 [2] CRAN (R 4.6.0)\n##   reactome.db                                     1.96.0         2026-04-20 [2] Bioconductor\n##   ReactomeGSA                                     1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ReactomeGSA.data                                1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   ReactomePA                                      1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   reactR                                          0.6.1          2024-09-14 [2] CRAN (R 4.6.0)\n##   readbitmap                                      0.1.5          2018-06-27 [2] CRAN (R 4.6.0)\n##   readBrukerFlexData                              1.9.3          2024-10-02 [2] CRAN (R 4.6.0)\n##   reader                                          1.1.0          2026-02-19 [2] CRAN (R 4.6.0)\n##   readJDX                                         0.6.4          2023-11-18 [2] CRAN (R 4.6.0)\n##   readMzXmlData                                   2.8.4          2025-10-17 [2] CRAN (R 4.6.0)\n##   readODS                                         2.3.5          2026-04-13 [2] CRAN (R 4.6.0)\n##   ReadqPCR                                        1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   readr                                           2.2.0          2026-02-19 [2] CRAN (R 4.6.0)\n##   readxl                                          1.4.5          2025-03-07 [2] CRAN (R 4.6.0)\n##   rearrr                                          0.3.5          2025-03-03 [2] CRAN (R 4.6.0)\n##   REBET                                           1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rebook                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rebus                                           0.1-3          2017-04-25 [2] CRAN (R 4.6.0)\n##   rebus.base                                      0.0-3          2017-04-25 [2] CRAN (R 4.6.0)\n##   rebus.datetimes                                 0.0-2.1        2025-12-22 [2] CRAN (R 4.6.0)\n##   rebus.numbers                                   0.0-1.1        2025-07-10 [2] CRAN (R 4.6.0)\n##   rebus.unicode                                   0.0-2.1        2025-09-23 [2] CRAN (R 4.6.0)\n##   receptLoss                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   recipes                                         1.3.2          2026-04-02 [2] CRAN (R 4.6.0)\n##   recommenderlab                                  1.0.7          2025-05-31 [2] CRAN (R 4.6.0)\n##   reconsi                                         1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RecordLinkage                                   0.4-12.6       2026-01-25 [2] CRAN (R 4.6.0)\n##   recosystem                                      0.5.1          2023-05-05 [2] CRAN (R 4.6.0)\n##   recount                                         1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   recount3                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   recountmethylation                              1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   recountWorkflow                                 1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   recoup                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RedeR                                           3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RedisParam                                      1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   REDseq                                          1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ReducedExperiment                               1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   redux                                           1.1.5          2025-09-01 [2] CRAN (R 4.6.0)\n##   RefManageR                                      1.4.0          2022-09-30 [2] CRAN (R 4.6.0)\n##   reformulas                                      0.4.4          2026-02-02 [2] CRAN (R 4.6.0)\n##   refund                                          0.1-40         2026-03-21 [2] CRAN (R 4.6.0)\n##   Rega                                            1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RegEnrich                                       1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   regionalpcs                                     1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RegionalST                                      1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   regioneR                                        1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   regioneReloaded                                 1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   regionReport                                    1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   registry                                        0.5-1          2019-03-05 [2] CRAN (R 4.6.0)\n##   RegParallel                                     1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   regsplice                                       1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   regutools                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   relations                                       0.6-17         2026-03-26 [2] CRAN (R 4.6.0)\n##   reldist                                         1.7-2          2023-02-17 [2] CRAN (R 4.6.0)\n##   relimp                                          1.0-5          2016-03-30 [2] CRAN (R 4.6.0)\n##   remaCor                                         0.0.20         2025-08-20 [2] CRAN (R 4.6.0)\n##   rematch                                         2.0.0          2023-08-30 [2] CRAN (R 4.6.0)\n##   rematch2                                        2.1.2          2020-05-01 [2] CRAN (R 4.6.0)\n##   remotes                                         2.5.0          2024-03-17 [2] CRAN (R 4.6.0)\n##   REMP                                            1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rentrez                                         1.2.4          2025-06-11 [2] CRAN (R 4.6.0)\n##   renv                                            1.2.2          2026-04-16 [2] CRAN (R 4.6.0)\n##   repmis                                          0.5.1          2025-07-02 [2] CRAN (R 4.6.0)\n##   ReportingTools                                  2.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   reportr                                         1.3.1          2025-03-29 [2] CRAN (R 4.6.0)\n##   reportROC                                       3.6            2022-06-17 [2] CRAN (R 4.6.0)\n##   repr                                            1.1.7          2024-03-22 [2] CRAN (R 4.6.0)\n##   reprex                                          2.1.1          2024-07-06 [2] CRAN (R 4.6.0)\n##   RepViz                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   reshape                                         0.8.10         2025-06-19 [2] CRAN (R 4.6.0)\n##   reshape2                                        1.4.5          2025-11-12 [2] CRAN (R 4.6.0)\n##   ResidualMatrix                                  1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RESOLVE                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   restfulr                                        0.0.16         2025-06-27 [2] CRAN (R 4.6.0)\n##   reticulate                                      1.46.0         2026-04-09 [2] CRAN (R 4.6.0)\n##   retrofit                                        1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ReUseData                                       1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rex                                             1.2.2          2026-03-28 [2] CRAN (R 4.6.0)\n##   rfaRm                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rfast                                           2.1.5.2        2025-10-10 [2] CRAN (R 4.6.0)\n##   Rfastp                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RFGeneRank                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RFLOMICS                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RforProteomics                                  1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rfPred                                          1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RGCCA                                           3.0.3          2023-12-11 [2] CRAN (R 4.6.0)\n##   rGenomeTracks                                   1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rGenomeTracksData                               0.99.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   rgenoud                                         5.9-0.11       2024-09-04 [2] CRAN (R 4.6.0)\n##   rgl                                             1.3.36         2026-03-06 [2] CRAN (R 4.6.0)\n##   RgnTX                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rgoslin                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RGraph2js                                       1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rgraphviz                                       2.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rGREAT                                          2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RGSEA                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rgsepd                                          1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rhandsontable                                   0.3.8          2021-05-27 [2] CRAN (R 4.6.0)\n##   rhdf5                                           2.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rhdf5client                                     1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rhdf5filters                                    1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rhdf5lib                                        2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rheumaticConditionWOLLBOLD                      1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rhinotypeR                                      1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rhisat2                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RhpcBLASctl                                     0.23-42        2023-02-11 [2] CRAN (R 4.6.0)\n##   Rhtslib                                         3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RiboCrypt                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RiboDiPA                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RiboProfiling                                   1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ribor                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   riboSeqR                                        1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ribosomeProfilingQC                             1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ridge                                           3.3            2022-04-11 [2] CRAN (R 4.6.0)\n##   rifi                                            1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rifiComparative                                 1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rigraphlib                                      1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rigvf                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RImageJROI                                      0.1.3          2024-08-17 [2] CRAN (R 4.6.0)\n##   RImmPort                                        1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rintrojs                                        0.3.4          2024-01-11 [2] CRAN (R 4.6.0)\n##   rio                                             1.3.0          2026-04-02 [2] CRAN (R 4.6.0)\n##   riskRegression                                  2026.03.11     2026-03-12 [2] CRAN (R 4.6.0)\n##   RISmed                                          2.3.0          2021-07-05 [2] CRAN (R 4.6.0)\n##   RITAN                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RITANdata                                       1.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RIVER                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rjags                                           4-17           2025-03-24 [2] CRAN (R 4.6.0)\n##   rJava                                           1.0-18         2026-04-08 [2] CRAN (R 4.6.0)\n##   RJMCMCNucleosomes                               1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rjson                                           0.2.23         2024-09-16 [2] CRAN (R 4.6.0)\n##   rjsoncons                                       1.3.2          2025-03-15 [2] CRAN (R 4.6.0)\n##   RJSONIO                                         2.0.0          2025-04-05 [2] CRAN (R 4.6.0)\n##   Rlab                                            4.5.1          2026-02-11 [2] CRAN (R 4.6.0)\n##   rlang                                           1.2.0          2026-04-06 [2] CRAN (R 4.6.0)\n##   RLassoCox                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rlecuyer                                        0.3-8          2023-12-02 [2] CRAN (R 4.6.0)\n##   rliger                                          2.2.1          2025-08-26 [2] CRAN (R 4.6.0)\n##   rlist                                           0.4.6.2        2021-09-03 [2] CRAN (R 4.6.0)\n##   RLMM                                            1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RLRsim                                          3.1-9          2025-11-28 [2] CRAN (R 4.6.0)\n##   Rmagpie                                         1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RMariaDB                                        1.3.5          2026-02-06 [2] CRAN (R 4.6.0)\n##   rmarkdown                                       2.31           2026-03-26 [2] CRAN (R 4.6.0)\n##   RMassBank                                       3.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RMassBankData                                   1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rmcorr                                          0.7.0          2024-07-26 [2] CRAN (R 4.6.0)\n##   rmdformats                                      1.0.4          2022-05-17 [2] CRAN (R 4.6.0)\n##   rmelting                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rmeta                                           3.0            2018-03-20 [2] CRAN (R 4.6.0)\n##   rmio                                            0.4.0          2022-02-17 [2] CRAN (R 4.6.0)\n##   Rmisc                                           1.5.1          2022-05-02 [2] CRAN (R 4.6.0)\n##   Rmixmod                                         2.1.10         2023-12-13 [2] CRAN (R 4.6.0)\n##   Rmmquant                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rmpfr                                           1.1-2          2025-10-27 [2] CRAN (R 4.6.0)\n##   Rmpi                                            0.7-3.4        2026-04-22 [2] CRAN (R 4.6.0)\n##   rms                                             8.1-1          2026-02-18 [2] CRAN (R 4.6.0)\n##   rmspc                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RMTstat                                         0.3.1          2022-04-12 [2] CRAN (R 4.6.0)\n##   rmutil                                          1.1.10         2022-10-27 [2] CRAN (R 4.6.0)\n##   RMySQL                                          0.11.3         2026-04-11 [2] CRAN (R 4.6.0)\n##   rmzqc                                           0.7.0          2025-07-16 [2] CRAN (R 4.6.0)\n##   RNAAgeCalc                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAdecay                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rnaEditr                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAmodR                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAmodR.AlkAnilineSeq                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAmodR.Data                                    1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAmodR.ML                                      1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAmodR.RiboMethSeq                             1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAsense                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAseq123                                       1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   rnaseqcomp                                      1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAseqCovarImpute                               1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAseqData.HNRNPC.bam.chr14                     0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rnaseqDTU                                       1.31.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   rnaseqGene                                      1.35.3         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnaSeqGeneEdgeRQL                               1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNASeqPower                                     1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnaSeqSampleSize                                2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnaSeqSampleSizeData                            1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNAshapeQC                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnBeads                                         2.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnBeads.hg19                                    1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnBeads.hg38                                    1.43.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnBeads.mm10                                    2.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnBeads.mm9                                     1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RnBeads.rn5                                     1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rncl                                            0.8.9          2026-01-21 [2] CRAN (R 4.6.0)\n##   RNeXML                                          2.4.11         2023-02-01 [2] CRAN (R 4.6.0)\n##   rngtools                                        1.5.2          2021-09-20 [2] CRAN (R 4.6.0)\n##   rngWELL                                         0.10-10        2024-10-17 [2] CRAN (R 4.6.0)\n##   RNifti                                          1.9.0          2026-01-13 [2] CRAN (R 4.6.0)\n##   Rnits                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RNOmni                                          1.0.1.2        2023-09-11 [2] CRAN (R 4.6.0)\n##   roar                                            1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   roastgsa                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   robin                                           2.0.0          2025-01-22 [2] CRAN (R 4.6.0)\n##   robslopes                                       1.1.4          2025-12-19 [2] CRAN (R 4.6.0)\n##   robust                                          0.7-5          2024-08-17 [2] CRAN (R 4.6.0)\n##   robustbase                                      0.99-7         2026-02-05 [2] CRAN (R 4.6.0)\n##   RobustRankAggreg                                1.2.1          2022-10-03 [2] CRAN (R 4.6.0)\n##   ROC                                             1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ROCit                                           2.1.2          2024-05-16 [2] CRAN (R 4.6.0)\n##   ROCpAI                                          1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ROCR                                            1.0-12         2026-01-23 [2] CRAN (R 4.6.0)\n##   ROI                                             1.0-2          2026-01-12 [2] CRAN (R 4.6.0)\n##   ROI.plugin.lpsolve                              1.0-2          2023-07-07 [2] CRAN (R 4.6.0)\n##   RolDE                                           1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   roll                                            1.2.1          2026-03-28 [2] CRAN (R 4.6.0)\n##   rols                                            3.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ROntoTools                                      2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rook                                            1.2            2022-11-07 [2] CRAN (R 4.6.0)\n##   rootSolve                                       1.8.2.4        2023-09-21 [2] CRAN (R 4.6.0)\n##   ropls                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   roptim                                          0.1.7          2025-10-03 [2] CRAN (R 4.6.0)\n##   ROSeq                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ROTS                                            2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   roxygen2                                        7.3.3          2025-09-03 [2] CRAN (R 4.6.0)\n##   roxyglobals                                     1.0.0          2023-08-21 [2] CRAN (R 4.6.0)\n##   roxytest                                        0.0.2          2023-01-11 [2] CRAN (R 4.6.0)\n##   RPA                                             1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rpart                                           4.1.27         2026-03-27 [3] CRAN (R 4.6.0)\n##   rpart.plot                                      3.1.4          2026-01-08 [2] CRAN (R 4.6.0)\n##   rphylopic                                       1.6.0          2025-11-18 [2] CRAN (R 4.6.0)\n##   RPMM                                            1.25           2017-02-28 [2] CRAN (R 4.6.0)\n##   RPostgres                                       1.4.10         2026-02-16 [2] CRAN (R 4.6.0)\n##   RPostgreSQL                                     0.7-8          2025-03-28 [2] CRAN (R 4.6.0)\n##   rprimer                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rprojroot                                       2.1.1          2025-08-26 [2] CRAN (R 4.6.0)\n##   RProtoBufLib                                    2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rpx                                             2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rqc                                             1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rqt                                             1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rrapply                                         1.2.8          2025-11-25 [2] CRAN (R 4.6.0)\n##   rrBLUP                                          4.6.3          2023-12-10 [2] CRAN (R 4.6.0)\n##   RRBSdata                                        1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   rrcov                                           1.7-7          2025-04-21 [2] CRAN (R 4.6.0)\n##   RRHO                                            1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rrvgo                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rsample                                         1.3.2          2026-01-30 [2] CRAN (R 4.6.0)\n##   Rsamtools                                       2.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rsbml                                           2.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rScudo                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rsemmed                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RSeqAn                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RSKC                                            2.4.2          2016-08-28 [2] CRAN (R 4.6.0)\n##   rslurm                                          0.6.2          2023-02-24 [2] CRAN (R 4.6.0)\n##   rsm                                             2.10.6         2025-03-24 [2] CRAN (R 4.6.0)\n##   RSNNS                                           0.4-18         2026-01-30 [2] CRAN (R 4.6.0)\n##   Rsolnp                                          2.0.1          2025-06-30 [2] CRAN (R 4.6.0)\n##   rsparse                                         0.5.3          2025-02-17 [2] CRAN (R 4.6.0)\n##   RSpectra                                        0.16-2         2024-07-18 [2] CRAN (R 4.6.0)\n##   rSpectral                                       1.0.0.14       2025-12-07 [2] CRAN (R 4.6.0)\n##   rsq                                             2.7            2024-09-29 [2] CRAN (R 4.6.0)\n##   RSQLite                                         2.4.6          2026-02-06 [2] CRAN (R 4.6.0)\n##   rstan                                           2.32.7         2025-03-10 [2] CRAN (R 4.6.0)\n##   rstantools                                      2.6.0          2026-01-10 [2] CRAN (R 4.6.0)\n##   rstatix                                         0.7.3          2025-10-18 [2] CRAN (R 4.6.0)\n##   rstudioapi                                      0.18.0         2026-01-16 [2] CRAN (R 4.6.0)\n##   Rsubread                                        2.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rsvd                                            1.0.5          2021-04-16 [2] CRAN (R 4.6.0)\n##   rsvg                                            2.7.0          2025-09-08 [2] CRAN (R 4.6.0)\n##   RSVSim                                          1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rSWeeP                                          1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCA                                            1.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA                                           1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.clinical                                  20151101.41.0  2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.CNV                                       1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.methylation                               1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.miRNASeq                                  1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.mRNA                                      1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.mutations                                 20151101.41.0  2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.PANCAN12                                  1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.rnaseq                                    20151101.41.0  2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGA.RPPA                                      1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTCGAToolbox                                    2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rTensor                                         1.4.9          2025-08-25 [2] CRAN (R 4.6.0)\n##   RTN                                             2.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTNduals                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTNsurvival                                     1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTopper                                         1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rtpca                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rtracklayer                                     1.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RTriangle                                       1.6-0.15       2025-04-14 [2] CRAN (R 4.6.0)\n##   rTRM                                            1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rTRMui                                          1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Rtsne                                           0.17           2023-12-07 [2] CRAN (R 4.6.0)\n##   RUCova                                          1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RUnit                                           0.4.33.1       2025-06-17 [2] CRAN (R 4.6.0)\n##   runonce                                         0.3.3          2025-10-07 [2] CRAN (R 4.6.0)\n##   ruv                                             0.9.7.1        2019-08-30 [2] CRAN (R 4.6.0)\n##   RUVcorr                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RUVnormalize                                    1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RUVnormalizeData                                1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   RUVSeq                                          1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rvcheck                                         0.2.1          2021-10-22 [2] CRAN (R 4.6.0)\n##   rversions                                       3.0.0          2025-10-09 [2] CRAN (R 4.6.0)\n##   rvest                                           1.0.5          2025-08-29 [2] CRAN (R 4.6.0)\n##   rvinecopulib                                    0.7.3.1.0      2025-06-13 [2] CRAN (R 4.6.0)\n##   Rvisdiff                                        1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RVS                                             1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   RWeka                                           0.4-48         2026-03-26 [2] CRAN (R 4.6.0)\n##   RWekajars                                       3.9.3-2        2019-10-19 [2] CRAN (R 4.6.0)\n##   rWikiPathways                                   1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   rworkflows                                      1.0.11         2026-03-26 [2] CRAN (R 4.6.0)\n##   s2                                              1.1.9          2025-05-23 [2] CRAN (R 4.6.0)\n##   S4Arrays                                        1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   S4Vectors                                       0.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   S7                                              0.2.2          2026-04-22 [2] CRAN (R 4.6.0)\n##   sabre                                           0.4.3          2022-08-17 [2] CRAN (R 4.6.0)\n##   safe                                            3.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   safetensors                                     0.2.1          2026-04-27 [2] CRAN (R 4.6.0)\n##   sagenhaft                                       1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SAIGEgds                                        2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sampleClassifier                                1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sampleClassifierData                            1.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   sampling                                        2.11           2025-07-10 [2] CRAN (R 4.6.0)\n##   samr                                            3.0.1          2026-04-10 [2] CRAN (R 4.6.0)\n##   SamSPECTRAL                                     1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sandwich                                        3.1-1          2024-09-15 [2] CRAN (R 4.6.0)\n##   sangeranalyseR                                  1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sangerseqR                                      1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SanityR                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SANTA                                           2.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sarks                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   saseR                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sass                                            0.4.10         2025-04-11 [2] CRAN (R 4.6.0)\n##   satuRn                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SAVER                                           1.1.2          2019-11-13 [2] CRAN (R 4.6.0)\n##   SBGNview                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SBGNview.data                                   1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SBMLR                                           2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SC3                                             1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scaeData                                        1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scafari                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Scale4C                                         1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ScaledMatrix                                    1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scales                                          1.4.0          2025-04-24 [2] CRAN (R 4.6.0)\n##   scam                                            1.2-22         2026-03-12 [2] CRAN (R 4.6.0)\n##   SCAN.UPC                                        2.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scanMiR                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scanMiRApp                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scanMiRData                                     1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scAnnotatR                                      1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scAnnotatR.models                               0.99.10        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCANVIS                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCArray                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCArray.sat                                     1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scATAC.Explorer                                 1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scater                                          1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scatterHatch                                    1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scattermore                                     1.2            2023-06-12 [2] CRAN (R 4.6.0)\n##   scatterpie                                      0.2.6          2025-09-12 [2] CRAN (R 4.6.0)\n##   scatterplot3d                                   0.3-45         2026-02-23 [2] CRAN (R 4.6.0)\n##   scBFA                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCBN                                            1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scBubbletree                                    1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scCB2                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scClassify                                      1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sccomp                                          2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scConform                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sccore                                          1.0.7          2026-04-06 [2] CRAN (R 4.6.0)\n##   scCustomize                                     3.2.4          2025-12-11 [2] CRAN (R 4.6.0)\n##   scDataviz                                       1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scDblFinder                                     1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scDD                                            1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scDDboost                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scde                                            2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scDesign3                                       1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scDiagnostics                                   1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scDotPlot                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scds                                            2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scECODA                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCFA                                            1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scFeatureFilter                                 1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scFeatures                                      1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scGPS                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scGraphVerse                                    1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sched                                           1.0.3          2024-10-02 [2] CRAN (R 4.6.0)\n##   schex                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scHiCcompare                                    1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scHOT                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scico                                           1.5.0          2023-08-14 [2] CRAN (R 4.6.0)\n##   scider                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scifer                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scLANE                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scLang                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCLCBam                                         1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scmap                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scMerge                                         1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scMET                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scmeth                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scMitoMut                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scMultiome                                      1.11.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scMultiSim                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCnorm                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scone                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Sconify                                         1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCOPE                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scoreInvHap                                     1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scoup                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scp                                             1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scPassport                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scPCA                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scpdata                                         1.19.1         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scPipe                                          2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SCpubr                                          3.0.1          2026-01-09 [2] CRAN (R 4.6.0)\n##   scQTLtools                                      1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scran                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scrapbook                                       1.0.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   scrapper                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scReClassify                                    1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scRecover                                       1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   screenCounter                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ScreenR                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scRepertoire                                    2.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scrime                                          1.3.7          2026-01-25 [2] CRAN (R 4.6.0)\n##   scRNAseq                                        2.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scRNAseqApp                                     1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scruff                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scry                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scrypt                                          0.1.6          2023-01-29 [2] CRAN (R 4.6.0)\n##   scs                                             3.2.7          2025-04-14 [2] CRAN (R 4.6.0)\n##   scShapes                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scTensor                                        2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scTGIF                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scTHI                                           1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scTHI.data                                      1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   scToppR                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sctransform                                     0.4.3          2026-01-10 [2] CRAN (R 4.6.0)\n##   scTreeViz                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scTypeEval                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scuttle                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   scviR                                           1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sda                                             1.3.9          2025-04-08 [2] CRAN (R 4.6.0)\n##   SDAMS                                           1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seahtrue                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sechm                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seewave                                         2.2.4          2025-08-19 [2] CRAN (R 4.6.0)\n##   segclust2d                                      0.3.3          2024-04-24 [2] CRAN (R 4.6.0)\n##   segmented                                       2.2-1          2026-01-29 [2] CRAN (R 4.6.0)\n##   segmenter                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   segmentSeq                                      2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   selectKSigs                                     1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   selectr                                         0.5-1          2025-12-17 [2] CRAN (R 4.6.0)\n##   SELEX                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SemDist                                         1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   semisup                                         1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SEMPLR                                          1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sendmailR                                       1.4-1          2026-04-12 [2] CRAN (R 4.6.0)\n##   seq.hotSPOT                                     1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seq2pathway                                     1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seq2pathway.data                                1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SeqArray                                        1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqc                                            1.45.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqCAT                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqcombo                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SeqGate                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SeqGSEA                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Seqinfo                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqinr                                          4.2-44         2026-04-28 [2] CRAN (R 4.6.0)\n##   seqLogo                                         1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqmagick                                       0.1.8          2026-01-31 [2] CRAN (R 4.6.0)\n##   seqminer                                        9.9            2026-02-24 [2] CRAN (R 4.6.0)\n##   seqpac                                          1.11.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqPattern                                      1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seqsetvis                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SeqSQC                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Seqtometry                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sequencing                                      1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   SeqVarTools                                     1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SEraster                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seriation                                       1.5.8          2025-08-20 [2] CRAN (R 4.6.0)\n##   serumStimulation                                1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   servr                                           0.32           2024-10-04 [2] CRAN (R 4.6.0)\n##   sesame                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sesameData                                      1.29.10        2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   sessioninfo                                     1.2.3          2025-02-05 [2] CRAN (R 4.6.0)\n##   SETA                                            1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SEtools                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   setRNG                                          2024.2-1       2024-02-18 [2] CRAN (R 4.6.0)\n##   sets                                            1.0-25         2023-12-06 [2] CRAN (R 4.6.0)\n##   settings                                        0.2.7          2021-05-07 [2] CRAN (R 4.6.0)\n##   Seurat                                          5.5.0          2026-04-22 [2] CRAN (R 4.6.0)\n##   SeuratObject                                    5.4.0          2026-04-11 [2] CRAN (R 4.6.0)\n##   sevenbridges                                    1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sevenC                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   seventyGeneData                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   sf                                              1.1-0          2026-02-24 [2] CRAN (R 4.6.0)\n##   sfarrow                                         0.4.1          2021-10-27 [2] CRAN (R 4.6.0)\n##   sfdep                                           0.2.5          2024-09-13 [2] CRAN (R 4.6.0)\n##   SFEData                                         1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   sfheaders                                       0.4.5          2025-11-25 [2] CRAN (R 4.6.0)\n##   sfi                                             1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sfsmisc                                         1.1-23         2025-11-21 [2] CRAN (R 4.6.0)\n##   sftime                                          0.3.1          2025-08-19 [2] CRAN (R 4.6.0)\n##   SGCP                                            1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sgdGMF                                          1.0.1          2025-05-17 [2] CRAN (R 4.6.0)\n##   sgeostat                                        1.0-27         2016-02-03 [2] CRAN (R 4.6.0)\n##   SGSeq                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   shades                                          1.4.0          2019-08-02 [2] CRAN (R 4.6.0)\n##   shadowtext                                      0.1.6          2025-08-24 [2] CRAN (R 4.6.0)\n##   shape                                           1.4.6.1        2024-02-23 [2] CRAN (R 4.6.0)\n##   shapefiles                                      0.7.2          2022-08-25 [2] CRAN (R 4.6.0)\n##   shapr                                           1.0.8          2026-01-20 [2] CRAN (R 4.6.0)\n##   shiny                                           1.13.0         2026-02-20 [2] CRAN (R 4.6.0)\n##   shiny.gosling                                   1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   shiny.react                                     0.4.0          2024-05-20 [2] CRAN (R 4.6.0)\n##   shinyAce                                        0.4.4          2025-02-03 [2] CRAN (R 4.6.0)\n##   shinyalert                                      3.1.0          2024-04-27 [2] CRAN (R 4.6.0)\n##   shinybiocloader                                 1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   shinyBS                                         0.65.0         2026-03-18 [2] CRAN (R 4.6.0)\n##   shinybusy                                       0.3.3          2024-03-09 [2] CRAN (R 4.6.0)\n##   shinycssloaders                                 1.1.0          2024-07-30 [2] CRAN (R 4.6.0)\n##   shinycustomloader                               0.9.0          2018-03-27 [2] CRAN (R 4.6.0)\n##   shinyCyJS                                       1.0.0          2023-09-26 [2] CRAN (R 4.6.0)\n##   shinydashboard                                  0.7.3          2025-04-21 [2] CRAN (R 4.6.0)\n##   shinydashboardPlus                              2.0.6          2025-08-25 [2] CRAN (R 4.6.0)\n##   shinyDSP                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   shinyepico                                      1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   shinyFeedback                                   0.4.0          2021-09-23 [2] CRAN (R 4.6.0)\n##   shinyFiles                                      0.9.3          2022-08-19 [2] CRAN (R 4.6.0)\n##   shinyHeatmaply                                  0.2.0          2020-04-06 [2] CRAN (R 4.6.0)\n##   shinyhelper                                     0.3.2          2019-11-09 [2] CRAN (R 4.6.0)\n##   shinyjqui                                       0.4.1          2022-02-03 [2] CRAN (R 4.6.0)\n##   shinyjs                                         2.1.1          2026-01-15 [2] CRAN (R 4.6.0)\n##   shinylogs                                       0.2.1          2022-04-18 [2] CRAN (R 4.6.0)\n##   shinymanager                                    1.0.410        2022-09-27 [2] CRAN (R 4.6.0)\n##   shinyMatrix                                     0.8.1          2026-03-05 [2] CRAN (R 4.6.0)\n##   shinymeta                                       0.2.2          2026-03-02 [2] CRAN (R 4.6.0)\n##   shinyMethyl                                     1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   shinyMethylData                                 1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   shinyscreenshot                                 0.2.1          2023-08-21 [2] CRAN (R 4.6.0)\n##   shinytest                                       1.6.1          2024-05-30 [2] CRAN (R 4.6.0)\n##   shinytest2                                      0.5.1          2026-02-25 [2] CRAN (R 4.6.0)\n##   shinythemes                                     1.2.0          2021-01-25 [2] CRAN (R 4.6.0)\n##   shinytitle                                      0.1.0          2021-06-16 [2] CRAN (R 4.6.0)\n##   shinytoastr                                     2.2.0          2023-08-30 [2] CRAN (R 4.6.0)\n##   shinyTree                                       0.3.1          2023-08-07 [2] CRAN (R 4.6.0)\n##   shinyvalidate                                   0.1.3          2023-10-04 [2] CRAN (R 4.6.0)\n##   shinyWidgets                                    0.9.1          2026-03-09 [2] CRAN (R 4.6.0)\n##   ShortRead                                       1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   showimage                                       1.0.0          2018-01-24 [2] CRAN (R 4.6.0)\n##   showtext                                        0.9-8          2026-03-21 [2] CRAN (R 4.6.0)\n##   showtextdb                                      3.0            2020-06-04 [2] CRAN (R 4.6.0)\n##   SIAMCAT                                         2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SICtools                                        1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SIFT.Hsapiens.dbSNP132                          1.0.2          2026-04-20 [2] Bioconductor\n##   SIFT.Hsapiens.dbSNP137                          1.0.0          2026-04-20 [2] Bioconductor\n##   SigCheck                                        2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sigclust                                        1.1.0.1        2022-06-27 [2] CRAN (R 4.6.0)\n##   sigFeature                                      1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SigFuge                                         1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   siggenes                                        1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sights                                          1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sigmajs                                         0.1.5          2020-06-18 [2] CRAN (R 4.6.0)\n##   Signac                                          1.17.1         2026-04-06 [2] CRAN (R 4.6.0)\n##   signal                                          1.8-1          2024-06-26 [2] CRAN (R 4.6.0)\n##   signalHsmm                                      1.5            2018-11-15 [2] CRAN (R 4.6.0)\n##   signatureSearch                                 1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   signatureSearchData                             1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   signeR                                          2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   signifinder                                     1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sigora                                          3.2.0          2026-03-21 [2] CRAN (R 4.6.0)\n##   SigsPack                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sigsquared                                      1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SIM                                             1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SIMAT                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SimBenchData                                    1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SimBu                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SIMD                                            1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SimDesign                                       2.25           2026-03-31 [2] CRAN (R 4.6.0)\n##   SimFFPE                                         1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   similaRpeak                                     1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SIMLR                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   simona                                          1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   simPIC                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   simpIntLists                                    1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   simpleCache                                     0.5.0          2026-03-01 [2] CRAN (R 4.6.0)\n##   simpleSeg                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   simpleSingleCell                                1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   SimpleUpset                                     0.1.4          2025-11-29 [2] CRAN (R 4.6.0)\n##   simplifyEnrichment                              2.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sincell                                         1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   singIST                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Single.mTEC.Transcriptomes                      1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleCellAlleleExperiment                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleCellExperiment                            1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleCellMultiModal                            1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleCellSignalR                               2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   singleCellTK                                    2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleMoleculeFootprintingData                  1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleR                                         2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingleRBook                                     1.22.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   singscore                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SingscoreAMLMutations                           1.27.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   SiPSiC                                          1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sirt                                            4.2-133        2025-09-27 [2] CRAN (R 4.6.0)\n##   sitadela                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Site2Target                                     1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sitePath                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sitmo                                           2.0.2          2021-10-13 [2] CRAN (R 4.6.0)\n##   sizepower                                       1.82.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sjlabelled                                      1.2.0          2022-04-10 [2] CRAN (R 4.6.0)\n##   sjmisc                                          2.8.11         2025-07-30 [2] CRAN (R 4.6.0)\n##   SKAT                                            2.2.5          2023-01-15 [2] CRAN (R 4.6.0)\n##   sketchR                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   skewr                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   skmeans                                         0.2-20         2026-03-26 [2] CRAN (R 4.6.0)\n##   slalom                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   slam                                            0.1-55         2024-11-13 [2] CRAN (R 4.6.0)\n##   slider                                          0.3.3          2025-11-14 [2] CRAN (R 4.6.0)\n##   slingshot                                       2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SLqPCR                                          1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sm                                              2.2-6.0        2024-02-17 [2] CRAN (R 4.6.0)\n##   smacof                                          2.1-7          2024-10-10 [2] CRAN (R 4.6.0)\n##   SMAD                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   smartid                                         1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SmartPhos                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SmartSVA                                        0.1.3          2017-05-28 [2] CRAN (R 4.6.0)\n##   smatr                                           3.4-8          2018-03-18 [2] CRAN (R 4.6.0)\n##   SMITE                                           1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   smokingMouse                                    1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   smoof                                           1.7.0          2026-02-24 [2] CRAN (R 4.6.0)\n##   smoothclust                                     1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   smoothie                                        1.0-4          2024-11-28 [2] CRAN (R 4.6.0)\n##   smoothr                                         1.2.1          2025-10-21 [2] CRAN (R 4.6.0)\n##   smoppix                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SMTrackR                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   smurf                                           1.1.8          2025-09-19 [2] CRAN (R 4.6.0)\n##   sn                                              2.1.3          2026-02-24 [2] CRAN (R 4.6.0)\n##   sna                                             2.8            2024-09-08 [2] CRAN (R 4.6.0)\n##   SNAData                                         1.57.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SNAGEE                                          1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SNAGEEdata                                      1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   snakecase                                       0.11.1         2023-08-27 [2] CRAN (R 4.6.0)\n##   snapcount                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SNFtool                                         2.3.1          2021-06-11 [2] CRAN (R 4.6.0)\n##   snifter                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   snm                                             1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   snow                                            0.4-4          2021-10-27 [2] CRAN (R 4.6.0)\n##   SnowballC                                       0.7.1          2023-04-25 [2] CRAN (R 4.6.0)\n##   snowfall                                        1.84-6.3       2023-11-26 [2] CRAN (R 4.6.0)\n##   SNPediaR                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SNPhood                                         1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SNPhoodData                                     1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SNPlocs.Hsapiens.dbSNP144.GRCh37                0.99.20        2026-04-20 [2] Bioconductor\n##   SNPlocs.Hsapiens.dbSNP144.GRCh38                0.99.20        2026-04-20 [2] Bioconductor\n##   SNPlocs.Hsapiens.dbSNP155.GRCh37                0.99.24        2026-04-20 [2] Bioconductor\n##   SNPlocs.Hsapiens.dbSNP155.GRCh38                0.99.24        2026-04-20 [2] Bioconductor\n##   SNPRelate                                       1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   snpStats                                        1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   softImpute                                      1.4-3          2025-05-12 [2] CRAN (R 4.6.0)\n##   soGGi                                           1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   som                                             0.3-5.2        2024-09-18 [2] CRAN (R 4.6.0)\n##   SomaDataIO                                      6.5.0          2026-02-06 [2] CRAN (R 4.6.0)\n##   SomaScan.db                                     0.99.10        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   SomatiCAData                                    1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SomaticCancerAlterations                        1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SomaticSignatures                               2.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SOMbrero                                        1.5.0          2025-10-06 [2] CRAN (R 4.6.0)\n##   SOMNiBUS                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sortable                                        0.6.0          2025-12-14 [2] CRAN (R 4.6.0)\n##   sosta                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SoupX                                           1.6.2          2022-11-01 [2] CRAN (R 4.6.0)\n##   sourcetools                                     0.1.7-2        2026-03-28 [2] CRAN (R 4.6.0)\n##   sp                                              2.2-1          2026-02-13 [2] CRAN (R 4.6.0)\n##   spacefillr                                      0.4.0          2025-02-24 [2] CRAN (R 4.6.0)\n##   SpaceMarkers                                    2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spacetime                                       1.3-3          2025-02-13 [2] CRAN (R 4.6.0)\n##   SpaceTrooper                                    1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spacexr                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spam                                            2.11-3         2026-01-08 [2] CRAN (R 4.6.0)\n##   Spaniel                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpaNorm                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sparcl                                          1.0.4          2018-10-24 [2] CRAN (R 4.6.0)\n##   spARI                                           1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sparkline                                       2.0            2016-11-12 [2] CRAN (R 4.6.0)\n##   sparklyr                                        1.9.4          2026-04-18 [2] CRAN (R 4.6.0)\n##   sparrow                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SparseArray                                     1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SparseDC                                        0.1.17         2018-01-04 [2] CRAN (R 4.6.0)\n##   SparseM                                         1.84-2         2024-07-17 [2] CRAN (R 4.6.0)\n##   sparseMatrixStats                               1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sparseMVN                                       0.2.2          2021-10-25 [2] CRAN (R 4.6.0)\n##   sparsenetgls                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sparsepca                                       0.1.2          2018-04-11 [2] CRAN (R 4.6.0)\n##   SparseSignatures                                2.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sparsesvd                                       0.2-3          2025-08-18 [2] CRAN (R 4.6.0)\n##   sparsevctrs                                     0.3.6          2026-01-27 [2] CRAN (R 4.6.0)\n##   spaSim                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPAtest                                         3.1.2          2020-09-04 [2] CRAN (R 4.6.0)\n##   spatial                                         7.3-18         2025-01-01 [3] CRAN (R 4.6.0)\n##   SpatialArtifacts                                1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialCPie                                     1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialDatasets                                 1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   spatialDE                                       1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialDecon                                    1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spatialDmelxsim                                 1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   spatialEco                                      2.0-4          2026-04-04 [2] CRAN (R 4.6.0)\n##   SpatialExperiment                               1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialExperimentIO                             1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialExtremes                                 2.1-0          2022-04-19 [2] CRAN (R 4.6.0)\n##   spatialFDA                                      1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialFeatureExperiment                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spatialHeatmap                                  2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spatialLIBD                                     1.23.2         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialOmicsOverlay                             1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialPack                                     0.4-1          2024-09-29 [2] CRAN (R 4.6.0)\n##   spatialreg                                      1.4-3          2026-03-21 [2] CRAN (R 4.6.0)\n##   spatialSimGP                                    1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpatialTools                                    1.0.5          2023-07-18 [2] CRAN (R 4.6.0)\n##   spatstat                                        3.6-0          2026-04-02 [2] CRAN (R 4.6.0)\n##   spatstat.data                                   3.1-9          2025-10-18 [2] CRAN (R 4.6.0)\n##   spatstat.explore                                3.8-0          2026-03-22 [2] CRAN (R 4.6.0)\n##   spatstat.geom                                   3.7-3          2026-03-23 [2] CRAN (R 4.6.0)\n##   spatstat.linnet                                 3.5-0          2026-03-31 [2] CRAN (R 4.6.0)\n##   spatstat.model                                  3.7-0          2026-03-29 [2] CRAN (R 4.6.0)\n##   spatstat.random                                 3.4-5          2026-03-22 [2] CRAN (R 4.6.0)\n##   spatstat.sparse                                 3.1-0          2024-06-21 [2] CRAN (R 4.6.0)\n##   spatstat.univar                                 3.1-7          2026-03-18 [2] CRAN (R 4.6.0)\n##   spatstat.utils                                  3.2-2          2026-03-10 [2] CRAN (R 4.6.0)\n##   spatzie                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spBayes                                         0.4-8          2024-09-23 [2] CRAN (R 4.6.0)\n##   spData                                          2.3.4          2025-01-08 [2] CRAN (R 4.6.0)\n##   spdep                                           1.4-2          2026-02-13 [2] CRAN (R 4.6.0)\n##   spdl                                            0.0.5          2023-06-18 [2] CRAN (R 4.6.0)\n##   speaq                                           2.7.0          2022-05-23 [2] CRAN (R 4.6.0)\n##   speckle                                         1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   specL                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpeCond                                         1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Spectra                                         1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpectralTAD                                     1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpectraQL                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpectriPy                                       1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   speedglm                                        0.3-5          2023-05-06 [2] CRAN (R 4.6.0)\n##   spelling                                        2.3.2          2025-08-18 [2] CRAN (R 4.6.0)\n##   SPEM                                            1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPIA                                            2.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPIAT                                           1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPICEY                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spicyR                                          1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpiecEasi                                       2.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpikeIn                                         1.53.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpikeInSubset                                   1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   spikeLI                                         2.72.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spiky                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spillR                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spkTools                                        1.68.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   splancs                                         2.01-45        2024-05-27 [2] CRAN (R 4.6.0)\n##   splatter                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpliceImpactR                                   1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   splicelogic                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpliceWiz                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SplicingFactory                                 1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SplicingGraphs                                  1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SplineDV                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   splines                                         4.6.0          2026-04-20 [3] local\n##   splines2                                        0.5.4          2025-02-28 [2] CRAN (R 4.6.0)\n##   splineTimeR                                     1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPLINTER                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   splitstackshape                                 1.4.8.1        2026-03-21 [2] CRAN (R 4.6.0)\n##   splots                                          1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   splus2R                                         1.3-5          2024-02-18 [2] CRAN (R 4.6.0)\n##   SpNeigh                                         1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPONGE                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spoon                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpotClean                                       1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SPOTlight                                       1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SpotSweeper                                     1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spqn                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spqnData                                        1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   spsComps                                        0.3.4.0        2025-07-23 [2] CRAN (R 4.6.0)\n##   SPsimSeq                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   spsUtil                                         0.2.2.1        2025-09-28 [2] CRAN (R 4.6.0)\n##   SQLDataFrame                                    1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sqldf                                           0.4-12         2026-01-30 [2] CRAN (R 4.6.0)\n##   sqlq                                            1.0.1          2025-09-16 [2] CRAN (R 4.6.0)\n##   SQN                                             1.0.6          2022-06-10 [2] CRAN (R 4.6.0)\n##   squallms                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SQUAREM                                         2026.1         2026-03-12 [2] CRAN (R 4.6.0)\n##   squash                                          1.0.9          2020-02-20 [2] CRAN (R 4.6.0)\n##   sRACIPE                                         2.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SRAdb                                           1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   srnadiff                                        1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ssc                                             2.1-0          2019-12-15 [2] CRAN (R 4.6.0)\n##   sscu                                            2.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sSeq                                            1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ssize                                           1.86.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sSNAPPY                                         1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ssPATHS                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ssrch                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ssviz                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   st                                              1.2.7          2021-11-27 [2] CRAN (R 4.6.0)\n##   stable                                          1.1.7          2026-02-15 [2] CRAN (R 4.6.0)\n##   stabledist                                      0.7-2          2024-08-17 [2] CRAN (R 4.6.0)\n##   StabMap                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   stabs                                           0.7-1          2026-01-31 [2] CRAN (R 4.6.0)\n##   STADyUM                                         1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   stageR                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   standR                                          1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   StanHeaders                                     2.32.10        2024-07-15 [2] CRAN (R 4.6.0)\n##   staRgate                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   stars                                           0.7-2          2026-04-03 [2] CRAN (R 4.6.0)\n##   startupmsg                                      1.0.0          2025-01-12 [2] CRAN (R 4.6.0)\n##   statebins                                       1.4.0          2020-07-08 [2] CRAN (R 4.6.0)\n##   STATegRa                                        1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   StatescopeR                                     1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Statial                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   statip                                          0.2.3          2019-11-17 [2] CRAN (R 4.6.0)\n##   statisfactory                                   1.0.4          2023-08-21 [2] CRAN (R 4.6.0)\n##   statmod                                         1.5.1          2025-10-09 [2] CRAN (R 4.6.0)\n##   statnet.common                                  4.13.0         2025-12-16 [2] CRAN (R 4.6.0)\n##   stats                                         * 4.6.0          2026-04-20 [3] local\n##   stats4                                          4.6.0          2026-04-20 [3] local\n##   statTarget                                      1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   stemHypoxia                                     1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   stepNorm                                        1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   STexampleData                                   1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   stJoincount                                     1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   stopwords                                       2.3            2021-10-28 [2] CRAN (R 4.6.0)\n##   storr                                           1.2.6          2025-04-15 [2] CRAN (R 4.6.0)\n##   stPipe                                          1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   strandCheckR                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   strawr                                          0.0.92         2024-07-16 [2] CRAN (R 4.6.0)\n##   strex                                           2.0.1          2024-10-03 [2] CRAN (R 4.6.0)\n##   STRINGdb                                        2.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   stringdist                                      0.9.17         2026-01-16 [2] CRAN (R 4.6.0)\n##   stringfish                                      0.19.0         2026-04-21 [2] CRAN (R 4.6.0)\n##   stringi                                         1.8.7          2025-03-27 [2] CRAN (R 4.6.0)\n##   stringr                                         1.6.0          2025-11-04 [2] CRAN (R 4.6.0)\n##   strucchange                                     1.5-4          2024-09-02 [2] CRAN (R 4.6.0)\n##   struct                                          1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Structstrings                                   1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   structToolbox                                   1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   StructuralVariantAnnotation                     1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   styler                                          1.11.0         2025-10-13 [2] CRAN (R 4.6.0)\n##   SubCellBarCode                                  1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SubcellularSpatialData                          1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   subSeq                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SUITOR                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SummarizedExperiment                            1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   summarytools                                    1.1.5          2026-01-27 [2] CRAN (R 4.6.0)\n##   Summix                                          2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SuperCell                                       1.1            2025-12-16 [2] CRAN (R 4.6.0)\n##   SuperCellCyto                                   1.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SuperExactTest                                  1.1.0          2022-03-23 [2] CRAN (R 4.6.0)\n##   superheat                                       0.1.0          2017-02-04 [2] CRAN (R 4.6.0)\n##   SuperLearner                                    2.0-40         2025-12-21 [2] CRAN (R 4.6.0)\n##   supersigs                                       1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SuppDists                                       1.1-9.9        2025-03-24 [2] CRAN (R 4.6.0)\n##   surfaltr                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SurfR                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   survClust                                       1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   survcomp                                        1.62.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   survey                                          4.5            2026-02-24 [2] CRAN (R 4.6.0)\n##   survival                                        3.8-6          2026-01-16 [3] CRAN (R 4.6.0)\n##   survivalROC                                     1.0.3.1        2022-12-05 [2] CRAN (R 4.6.0)\n##   survivalsvm                                     0.0.6          2025-04-04 [2] CRAN (R 4.6.0)\n##   SurvMetrics                                     0.5.1          2025-02-05 [2] CRAN (R 4.6.0)\n##   survminer                                       0.5.2          2026-02-25 [2] CRAN (R 4.6.0)\n##   survtype                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sva                                             3.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   svaNUMT                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   svaRetro                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   svd                                             0.5.8          2025-01-10 [2] CRAN (R 4.6.0)\n##   svglite                                         2.2.2          2025-10-21 [2] CRAN (R 4.6.0)\n##   svgPanZoom                                      0.3.4          2020-02-15 [2] CRAN (R 4.6.0)\n##   SVM2CRMdata                                     1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   SVMDO                                           1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   svMisc                                          1.4.3          2024-11-14 [2] CRAN (R 4.6.0)\n##   SVP                                             1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   svUnit                                          1.0.8          2025-08-26 [2] CRAN (R 4.6.0)\n##   swamp                                           1.5.1          2019-12-06 [2] CRAN (R 4.6.0)\n##   SWATH2stats                                     1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SwathXtend                                      2.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   swfdr                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   switchBox                                       1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   switchde                                        1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sylly                                           0.1-7          2026-02-02 [2] CRAN (R 4.6.0)\n##   sylly.en                                        0.1-3          2018-03-19 [2] CRAN (R 4.6.0)\n##   synapsis                                        1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   synaptome.data                                  0.99.6         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   synaptome.db                                    0.99.17        2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   synergyfinder                                   3.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SynExtend                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   synlet                                          2.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   SynMut                                          1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   syntenet                                        1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   sys                                             3.4.3          2024-10-04 [2] CRAN (R 4.6.0)\n##   sysfonts                                        0.8.9          2024-03-02 [2] CRAN (R 4.6.0)\n##   systemfonts                                     1.3.2          2026-03-05 [2] CRAN (R 4.6.0)\n##   systemPipeR                                     2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   systemPipeRdata                                 2.15.6         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   systemPipeShiny                                 1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   systemPipeTools                                 1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   syuzhet                                         1.0.7          2023-08-11 [2] CRAN (R 4.6.0)\n##   TabulaMurisData                                 1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TabulaMurisSenisData                            1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tadar                                           1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TADCompare                                      1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tagcloud                                        0.7.0          2025-06-28 [2] CRAN (R 4.6.0)\n##   TAM                                             4.3-25         2025-08-28 [2] CRAN (R 4.6.0)\n##   tanggle                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TAPseq                                          1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   target                                          1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TargetDecoy                                     1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TargetScore                                     1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TargetScoreData                                 1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TargetSearch                                    2.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TargetSearchData                                1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tartare                                         1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   taxonomizr                                      0.11.1         2025-03-13 [2] CRAN (R 4.6.0)\n##   TaxSEA                                          1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TBSignatureProfiler                             1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TBX20BamSubset                                  1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCA                                             1.2.1          2021-02-14 [2] CRAN (R 4.6.0)\n##   TCC                                             1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAbiolinks                                    2.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAbiolinksGUI.data                            1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAcrcmiRNA                                    1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAcrcmRNA                                     1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAMethylation450k                             1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAutils                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TCGAWorkflowData                                1.35.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tcltk                                           4.6.0          2026-04-20 [3] local\n##   tcltk2                                          1.6.1          2025-06-01 [2] CRAN (R 4.6.0)\n##   TCseq                                           1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TDbasedUFE                                      1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TDbasedUFEadv                                   1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TeachingDemos                                   2.13           2024-02-16 [2] CRAN (R 4.6.0)\n##   TEKRABber                                       1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENET                                           1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENET.AnnotationHub                             1.1.0          2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENET.ExperimentHub                             1.3.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tensor                                          1.5.1          2025-06-17 [2] CRAN (R 4.6.0)\n##   tensorA                                         0.36.2.1       2023-12-13 [2] CRAN (R 4.6.0)\n##   tensorflow                                      2.20.0         2025-08-22 [2] CRAN (R 4.6.0)\n##   TENxBrainData                                   1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENxBUSData                                     1.25.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENxIO                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENxPBMCData                                    1.29.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tenXplore                                       1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENxVisiumData                                  1.19.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TENxXeniumData                                  1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TEQC                                            4.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   terapadog                                       1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ternarynet                                      1.56.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   terra                                           1.9-11         2026-03-26 [2] CRAN (R 4.6.0)\n##   terraTCGAdata                                   1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tester                                          0.3.0          2025-09-22 [2] CRAN (R 4.6.0)\n##   testthat                                        3.3.2          2026-01-11 [2] CRAN (R 4.6.0)\n##   text2vec                                        0.6.6          2025-12-01 [2] CRAN (R 4.6.0)\n##   textclean                                       0.9.7          2026-03-05 [2] CRAN (R 4.6.0)\n##   textshape                                       1.7.5          2024-04-01 [2] CRAN (R 4.6.0)\n##   textshaping                                     1.0.5          2026-03-06 [2] CRAN (R 4.6.0)\n##   textstem                                        0.1.4          2018-04-09 [2] CRAN (R 4.6.0)\n##   TFARM                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tfautograph                                     0.3.2          2021-09-17 [2] CRAN (R 4.6.0)\n##   TFBSTools                                       1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TFEA.ChIP                                       1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TFHAZ                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TFisher                                         0.2.0          2018-03-21 [2] CRAN (R 4.6.0)\n##   TFMPvalue                                       1.0.0          2026-01-19 [2] CRAN (R 4.6.0)\n##   tfruns                                          1.5.4          2025-08-20 [2] CRAN (R 4.6.0)\n##   TFutils                                         1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TH.data                                         1.1-5          2025-11-17 [2] CRAN (R 4.6.0)\n##   threejs                                         0.3.4          2025-04-21 [2] CRAN (R 4.6.0)\n##   tibble                                          3.3.1          2026-01-11 [2] CRAN (R 4.6.0)\n##   tictoc                                          1.2.1          2024-03-18 [2] CRAN (R 4.6.0)\n##   tidybayes                                       3.0.7          2024-09-15 [2] CRAN (R 4.6.0)\n##   tidybulk                                        2.2.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidyCoverage                                    1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidydr                                          0.0.6          2025-07-25 [2] CRAN (R 4.6.0)\n##   tidyexposomics                                  1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidyFlowCore                                    1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidygate                                        1.0.19         2025-12-10 [2] CRAN (R 4.6.0)\n##   tidygraph                                       1.3.1          2024-01-30 [2] CRAN (R 4.6.0)\n##   tidyHeatmap                                     1.13.1         2025-10-30 [2] CRAN (R 4.6.0)\n##   tidyomics                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidyprint                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidyr                                           1.3.2          2025-12-19 [2] CRAN (R 4.6.0)\n##   tidysbml                                        1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidyselect                                      1.2.1          2024-03-11 [2] CRAN (R 4.6.0)\n##   tidyseurat                                      0.8.10         2026-02-26 [2] CRAN (R 4.6.0)\n##   tidySingleCellExperiment                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidySpatialExperiment                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidySummarizedExperiment                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidytext                                        0.4.3          2025-07-25 [2] CRAN (R 4.6.0)\n##   tidytof                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tidytree                                        0.4.7          2026-01-08 [2] CRAN (R 4.6.0)\n##   tidyverse                                       2.0.0          2023-02-22 [2] CRAN (R 4.6.0)\n##   tidyxl                                          1.0.10         2023-12-21 [2] CRAN (R 4.6.0)\n##   tiff                                            0.1-12         2023-11-28 [2] CRAN (R 4.6.0)\n##   tightClust                                      1.1            2018-06-12 [2] CRAN (R 4.6.0)\n##   tigre                                           1.66.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tiledb                                          0.33.0         2025-10-01 [2] CRAN (R 4.6.0)\n##   TileDBArray                                     1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tilingArray                                     1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   timechange                                      0.4.0          2026-01-29 [2] CRAN (R 4.6.0)\n##   timecourse                                      1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   timecoursedata                                  1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   timeDate                                        4052.112       2026-01-28 [2] CRAN (R 4.6.0)\n##   timeOmics                                       1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   timereg                                         2.0.7          2025-08-18 [2] CRAN (R 4.6.0)\n##   TimerQuant                                      1.41.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   timescape                                       1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   timeSeries                                      4052.112       2025-12-12 [2] CRAN (R 4.6.0)\n##   timsac                                          1.3.8-6        2026-03-25 [2] CRAN (R 4.6.0)\n##   TIN                                             1.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tinesath1cdf                                    1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tinesath1probe                                  1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tinytest                                        1.4.3          2026-03-24 [2] CRAN (R 4.6.0)\n##   tinytex                                         0.59           2026-03-28 [2] CRAN (R 4.6.0)\n##   tippy                                           0.1.0          2021-01-11 [2] CRAN (R 4.6.0)\n##   TissueEnrich                                    1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tissueTreg                                      1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tkrplot                                         0.0-32         2026-03-26 [2] CRAN (R 4.6.0)\n##   tkWidgets                                       1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tLOH                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tm                                              0.7-18         2026-02-18 [2] CRAN (R 4.6.0)\n##   TMB                                             1.9.21         2026-03-23 [2] CRAN (R 4.6.0)\n##   TMExplorer                                      1.21.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TMixClust                                       1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TMSig                                           1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tmvtnorm                                        1.7            2025-09-01 [2] CRAN (R 4.6.0)\n##   tnet                                            3.0.16         2020-02-24 [2] CRAN (R 4.6.0)\n##   TnT                                             1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TOAST                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   toastui                                         0.4.0          2025-04-03 [2] CRAN (R 4.6.0)\n##   tofsimsData                                     1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tokenizers                                      0.3.0          2022-12-22 [2] CRAN (R 4.6.0)\n##   tomoda                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tomoseqr                                        1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tools                                           4.6.0          2026-04-20 [3] local\n##   toOrdinal                                       1.4-0.0        2026-02-06 [2] CRAN (R 4.6.0)\n##   TOP                                             1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   topconfects                                     1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TopDom                                          0.10.1         2021-05-06 [2] CRAN (R 4.6.0)\n##   topdownr                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   topdownrdata                                    1.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   topGO                                           2.64.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   topicdoc                                        0.1.1          2022-07-17 [2] CRAN (R 4.6.0)\n##   topicmodels                                     0.2-17         2024-08-14 [2] CRAN (R 4.6.0)\n##   topologyGSA                                     1.5.0          2023-09-25 [2] CRAN (R 4.6.0)\n##   toppgene                                        1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   torch                                           0.17.0         2026-04-11 [2] CRAN (R 4.6.0)\n##   ToxicoGx                                        2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TPP                                             3.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TPP2D                                           1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tpSVG                                           1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tracktables                                     1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   trackViewer                                     1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tractor.base                                    3.5.0          2025-10-29 [2] CRAN (R 4.6.0)\n##   tradeSeq                                        1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TrajectoryGeometry                              1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TrajectoryUtils                                 1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   transcriptogramer                               1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   transcriptR                                     1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   transformGamPoi                                 1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   transformr                                      0.1.5          2024-02-26 [2] CRAN (R 4.6.0)\n##   transite                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tRanslatome                                     1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   transmogR                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   transomics2cytoscape                            1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TransOmicsData                                  1.7.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   transport                                       0.15-4         2024-09-16 [2] CRAN (R 4.6.0)\n##   traseR                                          1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TreeAndLeaf                                     1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   treeclimbR                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   treeio                                          1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   treekoR                                         1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   treemap                                         2.4-4          2023-05-25 [2] CRAN (R 4.6.0)\n##   TreeSummarizedExperiment                        2.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TreeTools                                       2.3.0          2026-04-23 [2] CRAN (R 4.6.0)\n##   TREG                                            1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Trendy                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TRESS                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tricycle                                        1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TrIdent                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   triebeard                                       0.4.1          2023-03-04 [2] CRAN (R 4.6.0)\n##   trio                                            3.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   triplex                                         1.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tripr                                           1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tRNA                                            1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tRNAdbImport                                    1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tRNAscanImport                                  1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TRONCO                                          2.44.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   truncdist                                       1.0-2          2016-08-30 [2] CRAN (R 4.6.0)\n##   truncnorm                                       1.0-9          2023-03-20 [2] CRAN (R 4.6.0)\n##   trust                                           0.1-9          2026-02-11 [2] CRAN (R 4.6.0)\n##   TSAR                                            1.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TSCAN                                           1.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tseries                                         0.10-61        2026-03-26 [2] CRAN (R 4.6.0)\n##   tsne                                            0.2-0          2026-03-19 [2] CRAN (R 4.6.0)\n##   TSP                                             1.2.7          2026-03-23 [2] CRAN (R 4.6.0)\n##   ttgsea                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TTMap                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TTR                                             0.24.4         2023-11-28 [2] CRAN (R 4.6.0)\n##   ttservice                                       0.5.3          2025-07-10 [2] CRAN (R 4.6.0)\n##   tuberculosis                                    1.17.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   TumourMethData                                  1.9.0          2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tuneR                                           1.4.7          2024-04-17 [2] CRAN (R 4.6.0)\n##   TurboNorm                                       1.60.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TVTB                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tweeDEseq                                       1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tweeDEseqCountData                              1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tweedie                                         3.0.19         2026-04-22 [2] CRAN (R 4.6.0)\n##   tweenr                                          2.0.3          2024-02-26 [2] CRAN (R 4.6.0)\n##   twilight                                        1.88.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   twoddpcr                                        1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   txcutr                                          1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   TxDb.Athaliana.BioMart.plantsmart22             3.0.1          2026-04-21 [2] Bioconductor\n##   TxDb.Athaliana.BioMart.plantsmart28             3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Athaliana.BioMart.plantsmart51             0.99.0         2026-04-20 [2] Bioconductor\n##   TxDb.Celegans.UCSC.ce11.ensGene                 3.15.0         2026-04-20 [2] Bioconductor\n##   TxDb.Celegans.UCSC.ce11.refGene                 3.4.6          2026-04-20 [2] Bioconductor\n##   TxDb.Celegans.UCSC.ce6.ensGene                  3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Dmelanogaster.UCSC.dm3.ensGene             3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Dmelanogaster.UCSC.dm6.ensGene             3.12.0         2026-04-20 [2] Bioconductor\n##   TxDb.Drerio.UCSC.danRer10.refGene               3.4.6          2026-04-20 [2] Bioconductor\n##   TxDb.Drerio.UCSC.danRer11.refGene               3.4.6          2026-04-20 [2] Bioconductor\n##   TxDb.Ggallus.UCSC.galGal5.refGene               3.12.0         2026-04-20 [2] Bioconductor\n##   TxDb.Hsapiens.UCSC.hg18.knownGene               3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Hsapiens.UCSC.hg19.knownGene               3.22.1         2026-04-20 [2] Bioconductor\n##   TxDb.Hsapiens.UCSC.hg19.lincRNAsTranscripts     3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Hsapiens.UCSC.hg19.refGene                 3.22.0         2026-04-20 [2] Bioconductor\n##   TxDb.Hsapiens.UCSC.hg38.knownGene               3.22.0         2026-04-20 [2] Bioconductor\n##   TxDb.Mmulatta.UCSC.rheMac10.refGene             3.14.0         2026-04-20 [2] Bioconductor\n##   TxDb.Mmusculus.UCSC.mm10.ensGene                3.4.0          2026-04-20 [2] Bioconductor\n##   TxDb.Mmusculus.UCSC.mm10.knownGene              3.10.0         2026-04-20 [2] Bioconductor\n##   TxDb.Mmusculus.UCSC.mm39.knownGene              3.22.0         2026-04-20 [2] Bioconductor\n##   TxDb.Mmusculus.UCSC.mm39.refGene                3.19.0         2026-04-20 [2] Bioconductor\n##   TxDb.Mmusculus.UCSC.mm9.knownGene               3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Rnorvegicus.UCSC.rn4.ensGene               3.2.2          2026-04-20 [2] Bioconductor\n##   TxDb.Rnorvegicus.UCSC.rn5.refGene               3.12.0         2026-04-20 [2] Bioconductor\n##   TxDb.Rnorvegicus.UCSC.rn6.refGene               3.4.6          2026-04-20 [2] Bioconductor\n##   TxDb.Rnorvegicus.UCSC.rn7.refGene               3.15.0         2026-04-20 [2] Bioconductor\n##   TxDb.Scerevisiae.UCSC.sacCer3.sgdGene           3.2.2          2026-04-20 [2] Bioconductor\n##   txdbmaker                                       1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tximeta                                         1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tximport                                        1.40.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   tximportData                                    1.39.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   tzdb                                            0.5.0          2025-03-15 [2] CRAN (R 4.6.0)\n##   UCell                                           2.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   ucminf                                          1.2.3          2026-04-02 [2] CRAN (R 4.6.0)\n##   UCSC.utils                                      1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   UCSCRepeatMasker                                3.22.0         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   Ularcirc                                        1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   umap                                            0.2.10.0       2023-02-01 [2] CRAN (R 4.6.0)\n##   UMI4Cats                                        1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   uncoverappLib                                   1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   UNDO                                            1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   unifiedWMWqPCR                                  1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   UniProt.ws                                      2.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   UniProtKeywords                                 0.99.8         2026-04-29 [2] Bioconductor 3.23 (R 4.6.0)\n##   uniqtag                                         1.0.1          2022-06-10 [2] CRAN (R 4.6.0)\n##   Uniquorn                                        2.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   units                                           1.0-1          2026-03-11 [2] CRAN (R 4.6.0)\n##   unittest                                        1.7-0          2024-08-16 [2] CRAN (R 4.6.0)\n##   universalmotif                                  1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   unmarked                                        1.5.1          2025-09-26 [2] CRAN (R 4.6.0)\n##   updateObject                                    1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   UPDhmm                                          1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   upsetjs                                         1.11.1         2022-07-13 [2] CRAN (R 4.6.0)\n##   UpSetR                                          1.4.0          2019-05-22 [2] CRAN (R 4.6.0)\n##   urca                                            1.3-4          2024-05-27 [2] CRAN (R 4.6.0)\n##   urlchecker                                      1.0.1          2021-11-30 [2] CRAN (R 4.6.0)\n##   urltools                                        1.7.3.1        2025-06-12 [2] CRAN (R 4.6.0)\n##   usethis                                         3.2.1          2025-09-06 [2] CRAN (R 4.6.0)\n##   uSORT                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   utf8                                            1.2.6          2025-06-08 [2] CRAN (R 4.6.0)\n##   utils                                         * 4.6.0          2026-04-20 [3] local\n##   uuid                                            1.2-2          2026-01-23 [2] CRAN (R 4.6.0)\n##   uwot                                            0.2.4          2025-11-10 [2] CRAN (R 4.6.0)\n##   V8                                              8.2.0          2026-04-21 [2] CRAN (R 4.6.0)\n##   VAExprs                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   validate                                        1.1.7          2025-12-10 [2] CRAN (R 4.6.0)\n##   VAM                                             1.1.0          2023-11-05 [2] CRAN (R 4.6.0)\n##   VanillaICE                                      1.74.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VarCon                                          1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   varhandle                                       2.0.6          2023-09-30 [2] CRAN (R 4.6.0)\n##   variancePartition                               1.42.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VariantAnnotation                               1.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VariantExperiment                               1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VariantFiltering                                1.48.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   variants                                        1.35.0         2026-04-24 [2] Bioconductor 3.23 (R 4.6.0)\n##   VariantTools                                    1.54.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VariantToolsData                                1.35.2         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   varSelRF                                        0.7-9          2026-01-30 [2] CRAN (R 4.6.0)\n##   VaSP                                            1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vbmp                                            1.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vcd                                             1.4-13         2024-09-16 [2] CRAN (R 4.6.0)\n##   VCFArray                                        1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vcfR                                            1.16.0         2026-02-23 [2] CRAN (R 4.6.0)\n##   vctrs                                           0.7.3          2026-04-11 [2] CRAN (R 4.6.0)\n##   vdiffr                                          1.0.9          2026-02-13 [2] CRAN (R 4.6.0)\n##   VDJdive                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VectraPolarisData                               1.15.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   VegaMC                                          3.50.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vegan                                           2.7-3          2026-03-04 [2] CRAN (R 4.6.0)\n##   velociraptor                                    1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   veloviz                                         1.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   venn                                            1.13           2026-03-31 [2] CRAN (R 4.6.0)\n##   VennDetail                                      1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VennDiagram                                     1.8.2          2026-01-11 [2] CRAN (R 4.6.0)\n##   venneuler                                       1.1-4          2024-01-14 [2] CRAN (R 4.6.0)\n##   verification                                    1.45           2025-08-21 [2] CRAN (R 4.6.0)\n##   VERSO                                           1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VGAM                                            1.1-14         2025-12-04 [2] CRAN (R 4.6.0)\n##   vidger                                          1.32.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VIM                                             7.0.0          2026-01-10 [2] CRAN (R 4.6.0)\n##   vioplot                                         0.5.1          2025-02-23 [2] CRAN (R 4.6.0)\n##   viper                                           1.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vipor                                           0.4.7          2023-12-18 [2] CRAN (R 4.6.0)\n##   viridis                                         0.6.5          2024-01-29 [2] CRAN (R 4.6.0)\n##   viridisLite                                     0.4.3          2026-02-04 [2] CRAN (R 4.6.0)\n##   visdat                                          0.6.0          2023-02-02 [2] CRAN (R 4.6.0)\n##   ViSEAGO                                         1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VisiumIO                                        1.8.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   visiumStitched                                  1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   visNetwork                                      2.1.4          2025-09-04 [2] CRAN (R 4.6.0)\n##   vissE                                           1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VISTA                                           1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vmrseq                                          1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Voyager                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   VplotR                                          1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vroom                                           1.7.1          2026-03-31 [2] CRAN (R 4.6.0)\n##   vsclust                                         1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vsn                                             3.80.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vtpnet                                          0.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vulcan                                          1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   vulcandata                                      1.33.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   waddR                                           1.26.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   waiter                                          0.2.5.1        2025-09-23 [2] CRAN (R 4.6.0)\n##   waldo                                           0.6.2          2025-07-11 [2] CRAN (R 4.6.0)\n##   warp                                            0.2.3          2026-01-13 [2] CRAN (R 4.6.0)\n##   wateRmelon                                      2.18.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   wavClusteR                                      2.46.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   waveslim                                        1.8.5          2024-06-04 [2] CRAN (R 4.6.0)\n##   wavethresh                                      4.7.3          2024-08-19 [2] CRAN (R 4.6.0)\n##   wavFeatExt                                      1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   wdm                                             0.2.6          2025-01-07 [2] CRAN (R 4.6.0)\n##   weaver                                          1.78.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   webbioc                                         1.84.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   webchem                                         1.3.1          2025-07-16 [2] CRAN (R 4.6.0)\n##   webdriver                                       1.0.6          2021-01-12 [2] CRAN (R 4.6.0)\n##   WeberDivechaLCdata                              1.13.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   webshot                                         0.5.5          2023-06-26 [2] CRAN (R 4.6.0)\n##   websocket                                       1.4.4          2025-04-10 [2] CRAN (R 4.6.0)\n##   webutils                                        1.2.2          2024-10-04 [2] CRAN (R 4.6.0)\n##   weights                                         1.1.2          2025-06-18 [2] CRAN (R 4.6.0)\n##   WeightSVM                                       1.7-16         2024-10-12 [2] CRAN (R 4.6.0)\n##   weitrix                                         1.24.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   WES.1KG.WUGSC                                   1.43.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   wesanderson                                     0.3.7          2023-10-31 [2] CRAN (R 4.6.0)\n##   WGCNA                                           1.74           2026-01-30 [2] CRAN (R 4.6.0)\n##   WGSmapp                                         1.23.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   wheatmap                                        0.2.0          2022-02-27 [2] CRAN (R 4.6.0)\n##   whisker                                         0.4.1          2022-12-05 [2] CRAN (R 4.6.0)\n##   widgetTools                                     1.90.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   widyr                                           0.1.5          2022-09-13 [2] CRAN (R 4.6.0)\n##   wiggleplotr                                     1.36.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   withr                                           3.0.2          2024-10-28 [2] CRAN (R 4.6.0)\n##   wk                                              0.9.5          2025-12-18 [2] CRAN (R 4.6.0)\n##   word2vec                                        0.4.1          2025-11-27 [2] CRAN (R 4.6.0)\n##   wordcloud                                       2.6            2018-08-24 [2] CRAN (R 4.6.0)\n##   wordcloud2                                      0.2.1          2018-01-03 [2] CRAN (R 4.6.0)\n##   wpm                                             1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   wppi                                            1.20.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Wrench                                          1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   writexl                                         1.5.4          2025-04-15 [2] CRAN (R 4.6.0)\n##   WriteXLS                                        6.8.0          2025-05-22 [2] CRAN (R 4.6.0)\n##   wrMisc                                          2.0.0          2026-03-09 [2] CRAN (R 4.6.0)\n##   wrswoR                                          1.2.0          2025-11-10 [2] CRAN (R 4.6.0)\n##   XAItest                                         1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   xCell2                                          1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   xcms                                            4.10.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   xcore                                           1.16.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   xcoredata                                       1.15.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   XDE                                             2.58.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   XeniumIO                                        1.4.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   xenLite                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   Xeva                                            1.28.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   xfun                                            0.57           2026-03-20 [2] CRAN (R 4.6.0)\n##   xgboost                                         3.2.1.1        2026-03-18 [2] CRAN (R 4.6.0)\n##   XhybCasneuf                                     1.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   XINA                                            1.30.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   XLConnect                                       1.3.0          2026-02-24 [2] CRAN (R 4.6.0)\n##   xlsx                                            0.6.5          2020-11-10 [2] CRAN (R 4.6.0)\n##   xlsxjars                                        0.9.0          2025-07-02 [2] CRAN (R 4.6.0)\n##   xmapbridge                                      1.70.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   XML                                             3.99-0.23      2026-03-20 [2] CRAN (R 4.6.0)\n##   xml2                                            1.5.2          2026-01-17 [2] CRAN (R 4.6.0)\n##   xmlparsedata                                    1.0.5          2021-03-06 [2] CRAN (R 4.6.0)\n##   xopen                                           1.0.1          2024-04-25 [2] CRAN (R 4.6.0)\n##   xtable                                          1.8-8          2026-02-22 [2] CRAN (R 4.6.0)\n##   XtraSNPlocs.Hsapiens.dbSNP144.GRCh37            0.99.12        2026-04-20 [2] Bioconductor\n##   XtraSNPlocs.Hsapiens.dbSNP144.GRCh38            0.99.12        2026-04-20 [2] Bioconductor\n##   xts                                             0.14.2         2026-02-28 [2] CRAN (R 4.6.0)\n##   XVector                                         0.52.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   yaImpute                                        1.0-36         2026-04-19 [2] CRAN (R 4.6.0)\n##   yaml                                            2.3.12         2025-12-10 [2] CRAN (R 4.6.0)\n##   yamss                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   YAPSA                                           1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   yardstick                                       1.4.0          2026-04-07 [2] CRAN (R 4.6.0)\n##   yarn                                            1.38.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   yeast2.db                                       3.13.0         2026-04-20 [2] Bioconductor\n##   yeastCC                                         1.51.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   yeastExpData                                    0.57.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   yeastGSData                                     0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   yeastNagalakshmi                                1.47.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   yeastRNASeq                                     0.49.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   yesno                                           0.1.3          2024-07-26 [2] CRAN (R 4.6.0)\n##   yulab.utils                                     0.2.4          2026-02-02 [2] CRAN (R 4.6.0)\n##   ZarrArray                                       1.0.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   zCompositions                                   1.6.1          2026-04-18 [2] CRAN (R 4.6.0)\n##   zeallot                                         0.2.0          2025-05-27 [2] CRAN (R 4.6.0)\n##   zebrafishRNASeq                                 1.31.0         2026-04-23 [2] Bioconductor 3.23 (R 4.6.0)\n##   zellkonverter                                   1.22.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   zen4R                                           0.10.5         2026-03-30 [2] CRAN (R 4.6.0)\n##   zenith                                          1.14.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   zFPKM                                           1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   zigg                                            0.0.2          2025-02-07 [2] CRAN (R 4.6.0)\n##   zinbwave                                        1.34.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   zip                                             2.3.3          2025-05-13 [2] CRAN (R 4.6.0)\n##   zitools                                         1.6.0          2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##   zoo                                             1.8-15         2025-12-15 [2] CRAN (R 4.6.0)\n##   ZygosityPredictor                               1.12.0         2026-04-28 [2] Bioconductor 3.23 (R 4.6.0)\n##  \n##   [1] /tmp/RtmpynvvNb/Rinst3e4b2c5bad4dfe\n##   [2] /home/biocbuild/bbs-3.23-bioc/R/site-library\n##   [3] /home/biocbuild/bbs-3.23-bioc/R/library\n##   * ── Packages attached to the search path.\n##  \n##  ─ Python configuration ────────────────────────────────────────────────────\n##   Python is not available\n##  \n##  ───────────────────────────────────────────────────────────────────────────",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>C</span>  <span class='chapter-title'>Technical info</span>"
    ]
  },
  {
    "objectID": "pages/session_info.html#other-information",
    "href": "pages/session_info.html#other-information",
    "title": "Appendix C — Technical info",
    "section": "\nC.3 Other information",
    "text": "C.3 Other information\n\nHeader image: iStock / ClaudioVentrella",
    "crumbs": [
      "Appendices",
      "<span class='chapter-number'>C</span>  <span class='chapter-title'>Technical info</span>"
    ]
  }
]