Skip to content

glycoverse/glyanno

glyanno

Lifecycle: experimental R-universe version R-CMD-check Codecov test coverage

The goal of glyanno is to enhance the level of information and resolution for glycans through a hierarchical annotation approach. Starting from a molecule mass, glyanno calculates possible glycan compositions. Given a glycan composition, glyanno further deduces possible glycan structures. For glycan structures with generic monosaccharides (e.g., “Hex”, “HexNAc”), glyanno refines them into specific types (e.g., “Glc”, “Gal”). For structures lacking linkage information (e.g., “Gal(??-?)GalNAc(??-”), glyanno infers the most likely linkages (e.g., “Gal(b1-3)GalNAc(a1-”).

Installation

The glyanno 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 glyanno from r-universe (recommended):

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

Or from GitHub:

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

Or install the development version (NOT recommended):

pak::pkg_install("glycoverse/glyanno")

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

Documentation

  • 🚀 Get started: Here
  • 📚 Reference: Here

Role in glycoverse

Glyanno enhances the precision of glycan structures, enabling the use of rough mass spectrometry results for detailed structural analysis. For instance, the glyenzy package requires fully determined glycan structures. Users can leverage glyanno to make educated guesses from incomplete data, thereby enabling downstream analysis with glyenzy and other tools that demand high-resolution structural information.

Example

library(glyanno)
library(glyrepr)
#> Warning: 程序包'glyrepr'是用R版本4.5.2 来建造的
library(glydb)
#> Warning: 程序包'glydb'是用R版本4.5.2 来建造的

mz_to_comp(406.1325, charge = 1, adduct = "Na+")
#> # A tibble: 4 × 2
#>      mz composition    
#>   <dbl> <comp>         
#> 1  406. Gal(1)GalNAc(1)
#> 2  406. Gal(1)GlcNAc(1)
#> 3  406. Glc(1)GlcNAc(1)
#> 4  406. Man(1)GlcNAc(1)
comp_to_struc("Gal(1)GalNAc(1)")
#> # A tibble: 19 × 2
#>    composition     structure          
#>    <comp>          <struct>           
#>  1 Gal(1)GalNAc(1) Gal(b1-3)GalNAc(a1-
#>  2 Gal(1)GalNAc(1) Gal(b1-3)GalNAc(b1-
#>  3 Gal(1)GalNAc(1) GalNAc(a1-3)Gal(a1-
#>  4 Gal(1)GalNAc(1) Gal(a1-3)GalNAc(b1-
#>  5 Gal(1)GalNAc(1) Gal(b1-4)GalNAc(b1-
#>  6 Gal(1)GalNAc(1) GalNAc(a1-4)Gal(b1-
#>  7 Gal(1)GalNAc(1) GalNAc(a1-2)Gal(b1-
#>  8 Gal(1)GalNAc(1) GalNAc(b1-2)Gal(a1-
#>  9 Gal(1)GalNAc(1) GalNAc(b1-4)Gal(b1-
#> 10 Gal(1)GalNAc(1) Gal(a1-6)GalNAc(a1-
#> 11 Gal(1)GalNAc(1) Gal(b1-6)GalNAc(a1-
#> 12 Gal(1)GalNAc(1) GalNAc(a1-3)Gal(b1-
#> 13 Gal(1)GalNAc(1) GalNAc(b1-3)Gal(b1-
#> 14 Gal(1)GalNAc(1) Gal(b1-6)GalNAc(b1-
#> 15 Gal(1)GalNAc(1) GalNAc(b1-3)Gal(a1-
#> 16 Gal(1)GalNAc(1) GalNAc(b1-4)Gal(a1-
#> 17 Gal(1)GalNAc(1) Gal(a1-3)GalNAc(a1-
#> 18 Gal(1)GalNAc(1) GalNAc(b1-2)Gal(b1-
#> 19 Gal(1)GalNAc(1) Gal(b1-4)GalNAc(a1-
# Use custom db to narrow down the search space
my_db <- glydb_structures(species = "Homo sapiens", glycan_type = "O-GalNAc")
comp_to_struc("Gal(1)GalNAc(1)", db = my_db)
#> # A tibble: 2 × 2
#>   composition     structure          
#>   <comp>          <struct>           
#> 1 Gal(1)GalNAc(1) Gal(b1-3)GalNAc(a1-
#> 2 Gal(1)GalNAc(1) Gal(a1-3)GalNAc(a1-
# Use `return_best` to pick the most likely match
# Core 1 is more likely than Core 5
comp_to_struc("Gal(1)GalNAc(1)", db = my_db, return_best = TRUE)
#> # A tibble: 1 × 2
#>   composition     structure          
#>   <comp>          <struct>           
#> 1 Gal(1)GalNAc(1) Gal(b1-3)GalNAc(a1-

About

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages