Skip to contents

The goal of glydb is to provide a comprehensive database of glycan structures, including common glycan structures and their modifications. The database is updated periodically and is used by the glycoverse ecosystem. Only fully defined glycan structures are included.

Installation

The glydb package is not a core glycoverse package. You need to install it individually even if you have installed the meta-package glycoverse.

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

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

Or from GitHub:

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

Or install the development version (NOT recommended):

pak::pkg_install("glycoverse/glydb")

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

Role in glycoverse

The main purpose of glydb is to provide “databases” for the glyanno package. It is also useful for users who want to systematically analyze glycan structures in the database.

Example

Get all data from glydb:

library(glydb)
glydb_data
#> # A tibble: 19,436 × 6
#>    glytoucan_ac glycan_structure           glycan_composition species confidence
#>    <chr>        <struct>                   <comp>             <chr>        <dbl>
#>  1 G00002CF     Neu5Gc(?2-?)Neu5Gc(?2-?)G… Glc(1)Gal(1)Neu5G… Bos ta…      -1
#>  2 G00008SX     Neu5Ac(?2-6)Gal(?1-4)GlcN… Man(3)Gal(3)GlcNA… Homo s…       0
#>  3 G00024MO     Glc(b1-3)Glc(b1-3)Glc(b1-  Glc(3)             Saccha…      -1
#>  4 G00025MO     Glc(b1-4)Glc(b1-4)Glc(b1-… Glc(4)             <NA>         -1
#>  5 G00027MO     Man(a1-3)[Man(a1-6)]Man(b… Man(3)GlcNAc(1)    Mus mu…       0
#>  6 G00029MO     GlcNAc(b1-2/4)Man(a1-3)[M… Man(4)GlcNAc(3)    Bos ta…      -1
#>  7 G00030HB     Neu5Ac(a2-3/6)Gal(b1-4)Gl… Man(3)Gal(5)GlcNA… <NA>         -1
#>  8 G00030VN     Fuc(a1-2)[GalNAc(a1-3)]Ga… Gal(1)GlcNAc(1)Ga… Bos ta…       0
#>  9 G00031MO     Gal(b1-3)GalNAc(a1-        Gal(1)GalNAc(1)    Bos ta…       5.32
#> 10 G00033MO     Gal(b1-3)[GlcNAc(b1-6)]Ga… Gal(1)GlcNAc(1)Ga… Bos ta…       3.37
#> # ℹ 19,426 more rows
#> # ℹ 1 more variable: glycan_type <chr>

Or use the getter functions to get specific data:

glydb_compositions(mono_type = "generic")
#> <glydb_composition[791]>
#> [1] Hex(2)NeuGc(2)
#> [2] Hex(6)HexNAc(5)NeuAc(1)
#> [3] Hex(3)
#> [4] Hex(4)
#> [5] Hex(3)HexNAc(1)
#> [6] Hex(4)HexNAc(3)
#> [7] Hex(8)HexNAc(5)dHex(1)NeuAc(1)
#> [8] Hex(1)HexNAc(3)dHex(1)NeuGc(1)
#> [9] Hex(1)HexNAc(1)
#> [10] Hex(1)HexNAc(2)
#> ... (781 more not shown)
glydb_structures(structure_level = "topological", species = "Homo sapiens", glycan_type = "N")
#> <glydb_structure[544]>
#> [1] Neu5Ac(??-?)Gal(??-?)GlcNAc(??-?)Man(??-?)[Gal(??-?)GlcNAc(??-?)[Gal(??-?)GlcNAc(??-?)]Man(??-?)]Man(??-?)GlcNAc(??-?)GlcNAc(??-
#> [2] Man(??-?)[Man(??-?)]Man(??-?)GlcNAc(??-
#> [3] Man(??-?)Man(??-?)[GlcNAc(??-?)Man(??-?)]Man(??-?)GlcNAc(??-?)GlcNAc(??-
#> [4] Gal(??-?)GlcNAc(??-?)Man(??-?)[Gal(??-?)GlcNAc(??-?)[Gal(??-?)GlcNAc(??-?)]Man(??-?)]Man(??-?)GlcNAc(??-?)[Fuc(??-?)]GlcNAc(??-
#> [5] Neu5Ac(??-?)Gal(??-?)GlcNAc(??-?)Man(??-?)[Man(??-?)]Man(??-?)GlcNAc(??-?)[Fuc(??-?)]GlcNAc(??-
#> [6] Man(??-?)Man(??-?)GlcNAc(??-?)GlcNAc(??-
#> [7] GalNAc(??-?)GlcNAc(??-?)Man(??-?)[Gal(??-?)GlcNAc(??-?)[Gal(??-?)GlcNAc(??-?)]Man(??-?)]Man(??-?)GlcNAc(??-?)[Fuc(??-?)]GlcNAc(??-
#> [8] GlcNAc(??-?)[GlcNAc(??-?)]Man(??-?)[GlcNAc(??-?)[GlcNAc(??-?)]Man(??-?)]Man(??-?)GlcNAc(??-?)[Fuc(??-?)]GlcNAc(??-
#> [9] Gal(??-?)Gal(??-?)GlcNAc(??-?)Man(??-?)[Gal(??-?)GlcNAc(??-?)Man(??-?)]Man(??-?)GlcNAc(??-?)[Fuc(??-?)]GlcNAc(??-
#> [10] Man(??-?)Man(??-?)[Man(??-?)]Man(??-?)GlcNAc(??-
#> ... (534 more not shown)
#> # Unique structures: 544
glydb_structures(
  structure_level = "topological",
  mono_type = "generic",
  species = "Homo sapiens",
  glycan_type = "N"
)
#> <glydb_structure[531]>
#> [1] NeuAc(??-?)Hex(??-?)HexNAc(??-?)Hex(??-?)[Hex(??-?)HexNAc(??-?)[Hex(??-?)HexNAc(??-?)]Hex(??-?)]Hex(??-?)HexNAc(??-?)HexNAc(??-
#> [2] Hex(??-?)[Hex(??-?)]Hex(??-?)HexNAc(??-
#> [3] HexNAc(??-?)Hex(??-?)[Hex(??-?)Hex(??-?)]Hex(??-?)HexNAc(??-?)HexNAc(??-
#> [4] Hex(??-?)HexNAc(??-?)Hex(??-?)[Hex(??-?)HexNAc(??-?)[Hex(??-?)HexNAc(??-?)]Hex(??-?)]Hex(??-?)HexNAc(??-?)[dHex(??-?)]HexNAc(??-
#> [5] NeuAc(??-?)Hex(??-?)HexNAc(??-?)Hex(??-?)[Hex(??-?)]Hex(??-?)HexNAc(??-?)[dHex(??-?)]HexNAc(??-
#> [6] Hex(??-?)Hex(??-?)HexNAc(??-?)HexNAc(??-
#> [7] HexNAc(??-?)HexNAc(??-?)Hex(??-?)[Hex(??-?)HexNAc(??-?)[Hex(??-?)HexNAc(??-?)]Hex(??-?)]Hex(??-?)HexNAc(??-?)[dHex(??-?)]HexNAc(??-
#> [8] HexNAc(??-?)[HexNAc(??-?)]Hex(??-?)[HexNAc(??-?)[HexNAc(??-?)]Hex(??-?)]Hex(??-?)HexNAc(??-?)[dHex(??-?)]HexNAc(??-
#> [9] Hex(??-?)Hex(??-?)HexNAc(??-?)Hex(??-?)[Hex(??-?)HexNAc(??-?)Hex(??-?)]Hex(??-?)HexNAc(??-?)[dHex(??-?)]HexNAc(??-
#> [10] Hex(??-?)Hex(??-?)[Hex(??-?)]Hex(??-?)HexNAc(??-
#> ... (521 more not shown)
#> # Unique structures: 531