Skip to contents

Provides a tidy data framework for managing glycoproteomics and glycomics experimental data. The core features are the GlycomicSE and GlycoproteomicSE classes, which extend SummarizedExperiment with validated glycomics and glycoproteomics schemas. They integrate expression matrices, molecular annotations (proteins, peptides, glycan compositions, and more), and sample metadata (groups, batches, and clinical variables). The package enforces data consistency, validates column types according to experiment types, and provides dplyr-style data manipulation functions (filter, mutate, select, arrange, slice, join) for seamless data wrangling.

Installation

Install glycoverse

We recommend installing the meta-package glycoverse, which includes this package and other core glycoverse packages.

Install glyexp alone

If you don’t want to install all glycoverse packages, you can only install glyexp.

You can install the latest release of glyexp from r-universe (recommended):

# install.packages("pak")
pak::repo_add(glycoverse = "https://glycoverse.r-universe.dev")
pak::pkg_install("glyexp")

Or from GitHub:

pak::pkg_install("glycoverse/glyexp@*release")

Or install the development version (NOT recommended):

pak::pkg_install("glycoverse/glyexp")

Note: Tips and troubleshooting for the meta-package glycoverse are also applicable here: Installation of glycoverse.

Documentation

  • πŸš€ Get started: Here
  • πŸ”§ dplyr-style data manipulation: Here
  • πŸ“š Reference: Here

Role in glycoverse

GlycomicSE and GlycoproteomicSE provide consistent interfaces for glycomics and glycoproteomics data. Other packages in the glycoverse ecosystem can operate on these containers directly. Use them to pass validated data between analysis steps. Let other packages do the heavy lifting.

Example

library(glyexp)
suppressPackageStartupMessages(library(SummarizedExperiment))

# Inspect a bundled experiment
real_experiment
#> 
#> ── GlycoproteomicSE ────────────────────────────────────────────────────────────
#> β„Ή Abundance assay: 12 samples, 4262 variables
#> β„Ή Glycan type: N
#> β„Ή Row data fields: peptide <chr>, peptide_site <int>, protein <chr>, protein_site <int>, gene <chr>, glycan_composition <comp>, glycan_structure <struct>
#> β„Ή Column data fields: group <fct>
#> β„Ή Metadata fields: exp_type <chr>, glycan_type <chr>, quant_method <chr>
assay(real_experiment)[1:5, 1:3]
#>                                              C1         C2           C3
#> P08185-176-Hex(5)HexNAc(4)NeuAc(2)           NA         NA     10655.62
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-1  414080036  609889761  78954431.49
#> P04196-344-Hex(5)HexNAc(4)            581723113  604842244 167889901.32
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-2 3299649335 2856490652 957651065.86
#> P10909-291-Hex(6)HexNAc(5)-1           30427048   34294394   6390129.81
head(colData(real_experiment))
#> DataFrame with 6 rows and 1 column
#>       group
#>    <factor>
#> C1        C
#> C2        C
#> C3        C
#> H1        H
#> H2        H
#> H3        H
head(rowData(real_experiment))
#> DataFrame with 6 rows and 7 columns
#>                                             peptide peptide_site     protein
#>                                         <character>    <integer> <character>
#> P08185-176-Hex(5)HexNAc(4)NeuAc(2)           NKTQGK            1      P08185
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-1 HSHNNNSSDLHPHK            5      P04196
#> P04196-344-Hex(5)HexNAc(4)           HSHNNNSSDLHPHK            5      P04196
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-2 HSHNNNSSDLHPHK            5      P04196
#> P10909-291-Hex(6)HexNAc(5)-1               HNSTGCLR            2      P10909
#> P04196-344-Hex(5)HexNAc(4)NeuAc(2)   HSHNNNSSDLHPHK            5      P04196
#>                                      protein_site        gene
#>                                         <integer> <character>
#> P08185-176-Hex(5)HexNAc(4)NeuAc(2)            176    SERPINA6
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-1          344         HRG
#> P04196-344-Hex(5)HexNAc(4)                    344         HRG
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-2          344         HRG
#> P10909-291-Hex(6)HexNAc(5)-1                  291         CLU
#> P04196-344-Hex(5)HexNAc(4)NeuAc(2)            344         HRG
#>                                          glycan_composition
#>                                       <glyrepr_composition>
#> P08185-176-Hex(5)HexNAc(4)NeuAc(2)   Hex(5)HexNAc(4)NeuAc..
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-1 Hex(5)HexNAc(4)NeuAc..
#> P04196-344-Hex(5)HexNAc(4)                  Hex(5)HexNAc(4)
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-2 Hex(5)HexNAc(4)NeuAc..
#> P10909-291-Hex(6)HexNAc(5)-1                Hex(6)HexNAc(5)
#> P04196-344-Hex(5)HexNAc(4)NeuAc(2)   Hex(5)HexNAc(4)NeuAc..
#>                                            glycan_structure
#>                                         <glyrepr_structure>
#> P08185-176-Hex(5)HexNAc(4)NeuAc(2)   NeuAc(??-?)Hex(??-?)..
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-1 NeuAc(??-?)Hex(??-?)..
#> P04196-344-Hex(5)HexNAc(4)           Hex(??-?)HexNAc(??-?..
#> P04196-344-Hex(5)HexNAc(4)NeuAc(1)-2 NeuAc(??-?)Hex(??-?)..
#> P10909-291-Hex(6)HexNAc(5)-1         Hex(??-?)HexNAc(??-?..
#> P04196-344-Hex(5)HexNAc(4)NeuAc(2)   NeuAc(??-?)Hex(??-?)..
# Filter samples
real_experiment |>
  filter_col(group == "H")
#> 
#> ── GlycoproteomicSE ────────────────────────────────────────────────────────────
#> β„Ή Abundance assay: 3 samples, 4262 variables
#> β„Ή Glycan type: N
#> β„Ή Row data fields: peptide <chr>, peptide_site <int>, protein <chr>, protein_site <int>, gene <chr>, glycan_composition <comp>, glycan_structure <struct>
#> β„Ή Column data fields: group <fct>
#> β„Ή Metadata fields: exp_type <chr>, glycan_type <chr>, quant_method <chr>