The ‘glycoverse’ is a set of packages that together form a comprehensive pipeline for glycomics and glycoproteomics data analysis. This package is designed to make it easy to install and load multiple ‘glycoverse’ packages in a single step.
You can install the latest release of glycoverse core packages from r-universe with:
install.packages('glycoverse', repos = c('https://glycoverse.r-universe.dev', 'https://cloud.r-project.org'))Or from GitHub:
# install.packages("remotes")
remotes::install_github("glycoverse/glycoverse@*release")Or install the development version (not recommended):
remotes::install_github("glycoverse/glycoverse")Just like tidyverse, installing glycoverse automatically installs
all glycoverse core packages including glyexp, glyread, glyclean,
glystats, glyvis, glyrepr, glyparse, glymotif, glydet, and
glydraw.
You can also only install some of them manually if you don’t want the whole repertoire. For example:
remotes::install_github("glycoverse/glymotif@*release")Note that glymotif depends on glyexp, glyrepr and glyparse, so
these three packages will also be installed.
We are scheduled to upload glycoverse packages to CRAN or Bioconductor. However, currently, many glycoverse packages (including this meta-package) must be installed from r-universe or GitHub.
Installing R packages from GitHub can sometimes be tricky due to compilation requirements or network limits. Below are solutions to common situations encountered by our users.
If you are using pak and it fails (currently pak may have issues
building from source on some setups), try installing from r-universe
or using the standard remotes approach:
# From r-universe
install.packages('glycoverse', repos = c('https://glycoverse.r-universe.dev', 'https://cloud.r-project.org'))
# From GitHub using `remotes`
remotes::install_github("glycoverse/package_name")If you see an error mentioning pkgbuild::check_build_tools, it means
your system lacks the necessary compilation tools.
Call pkgbuild::check_build_tools(debug = TRUE) to install it
automatically.
Or download and install Rtools manually.
macOS Users: You likely need Xcode Command Line Tools.
Open your Terminal (not RStudio) and run: xcode-select --install.
Error: HTTP error 403. API rate limit exceeded for xxx.xxx.xxx.xxx.
GitHub limits unauthenticated installation requests. To fix this:
- Create a Personal Access Token (PAT) using
usethis::create_github_token()(requires a GitHub account). - Add the token to your environment using
gitcreds::gitcreds_set().
If the download fails due to a slow connection (Timeout of 60 seconds was reached), increase the timeout limit in R before installing:
options(timeout = 600) # Set timeout to 10 minutes
remotes::install_github("glycoverse/package_name")glycoverse before v0.1.1 had serious bugs in dependency management. We
recommend all users to update to the latest version of glycoverse, and
call glycoverse::glycoverse_update() to update all the packages in the
glycoverse ecosystem.
Besides, we are progressively uploading glycoverse packages to CRAN or
Bioconductor. Every time a package is shifted to CRAN/Bioconductor, we
will update the glycoverse meta-package to depend on the
CRAN/Bioconductor version of that package. So come back from time to
time to check if you have the latest version of glycoverse!
We have two case studies that showcase the basic workflow of
glycoverse:
Choose one of them to get started, and then refer to the documentation of the individual packages for more details.
library(glycoverse) will load all the core packages in the
glycoverse ecosystem:
library(glycoverse)
#> Warning: package 'glydraw' was built under R version 4.5.2
#> ── Attaching core glycoverse packages ───────────────── glycoverse 0.2.3.9000 ──
#> ✔ glyclean 0.12.0 ✔ glyparse 0.5.3.9000
#> ✔ glydet 0.9.0 ✔ glyread 0.8.4
#> ✔ glydraw 0.3.0 ✔ glyrepr 0.9.0.9000
#> ✔ glyexp 0.12.3.9000 ✔ glystats 0.6.3
#> ✔ glymotif 0.12.0.9000 ✔ glyvis 0.5.0
#> ── Conflicts ───────────────────────────────────────── glycoverse_conflicts() ──
#> ✖ glyclean::aggregate() masks stats::aggregate()
#> ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errorsThis includes:
Omics data analysis
- glyexp, for data management
- glyread, for data import
- glyclean, for data cleaning and preprocessing
- glystats, for statistical analysis
- glyvis, for data visualization
Glycan structure analysis
- glyrepr, for glycan structure representation
- glyparse, for glycan structure parsing
- glymotif, for glycan structure motif analysis
- glydet, for glycan derived trait analysis
- glydraw, for glycan structure visualization
You can also install the non-core glycoverse packages if needed:
- glyenzy, for glycan biosynthesis pathway analysis
- glydb, for glycan database
- glyanno, for glycan annotation
- glysmith, for full analytical pipeline
You can get a situation report of all the packages in the glycoverse
ecosystem with glycoverse_sitrep():
glycoverse_sitrep()
#> ── R & RStudio ─────────────────────────────────────────────────────────────────
#> • R: 4.5.1
#> 'getOption("repos")' replaces Bioconductor standard repositories, see
#> 'help("repositories", package = "BiocManager")' for details.
#> Replacement repositories:
#> CRAN: https://cloud.r-project.org
#> ── Core packages ───────────────────────────────────────────────────────────────
#> • glyexp (0.12.3.9000)
#> • glyread (0.8.4)
#> • glyclean (0.12.0)
#> • glystats (0.6.3)
#> • glyvis (0.5.0)
#> • glyrepr (0.9.0.9000)
#> • glyparse (0.5.3.9000)
#> • glymotif (0.12.0.9000)
#> • glydet (0.9.0)
#> • glydraw (0.3.0)
#> ── Non-core packages ───────────────────────────────────────────────────────────
#> • glyenzy (0.4.1)
#> • glydb (0.3.1.9000)
#> • glyanno (0.1.0)
#> • glysmith (0.8.0)To list all dependencies of glycoverse core packages, run:
glycoverse_deps(recursive = TRUE) # recursive = TRUE to list dependencies of each package
#> 'getOption("repos")' replaces Bioconductor standard repositories, see
#> 'help("repositories", package = "BiocManager")' for details.
#> Replacement repositories:
#> CRAN: https://cloud.r-project.org
#> # A tibble: 127 × 6
#> package source remote upstream local behind
#> <chr> <chr> <chr> <chr> <chr> <lgl>
#> 1 ade4 cran <NA> 1.7-23 1.7.23 FALSE
#> 2 AnnotationDbi bioconductor <NA> 1.72.0 1.72.0 FALSE
#> 3 askpass cran <NA> 1.2.1 1.2.1 FALSE
#> 4 backports cran <NA> 1.5.0 1.5.0 FALSE
#> 5 Biobase bioconductor <NA> 2.70.0 2.70.0 FALSE
#> 6 BiocBaseUtils bioconductor <NA> 1.12.0 1.12.0 FALSE
#> 7 BiocFileCache bioconductor <NA> 3.0.0 3.0.0 FALSE
#> 8 BiocGenerics bioconductor <NA> 0.56.0 0.56.0 FALSE
#> 9 BiocManager cran <NA> 1.30.27 1.30.27 FALSE
#> 10 Biostrings bioconductor <NA> 2.78.0 2.78.0 FALSE
#> # ℹ 117 more rowsAnd you can update all the packages with glycoverse_update():
glycoverse_update()