Skip to main content

codecov

GlyContact: 3D Analysis of Glycan Structures

GlyContact is a Python package for retrieving, processing, and analyzing 3D glycan structures from GlycoShape/molecular dynamics, NMR, or X-ray crystallography. Indeed, while glycans are traditionally represented as linear text sequences, their branched structures and high flexibility create a complex 3D landscape that affects their biological function.

GlyContact provides a comprehensive toolkit for analyzing 3D glycan structures, enabling researchers to:

  1. Visualize complex glycan structures with 3D-SNFG symbols
  2. Quantify structural properties including solvent accessible surface area (SASA), motif flexibility and torsion angles
  3. Analyze relationships between glycan composition/sequence/class and these structural properties
  4. Compare different glycan structures that are either free, bound to lectins or covalently linked to glycoproteins
  5. Generate structural features for machine learning applications

These capabilities help bridge the gap between glycan sequence and function by revealing the critical spatial arrangements that determine molecular recognition.

Installation

pip install glycontact

An optional [ml] install is available for machine learning features:

pip install glycontact[ml]

If you want to see how you can use GlyContact to work with glycans in lectin complexes or in glycoproteins, check out this Jupyter notebook with some pointers:

Open In Colab

Getting PDB files

GlyContact enables detailed exploration of glycan conformational properties by connecting glycan 3D structural data with their corresponding sequence information.

By default, users can input glycan sequences, which are automatically mapped to the appropriate conformer structures from GlycoShape through built-in functions.

To streamline structural analysis, GlyContact integrates directly with the GlycoShape API, allowing automatic retrieval of structures and eliminating the challenges associated with manual data downloads.

Alternatively, GlyContact can operate independently of GlycoShape if users prefer to supply their own structural data by providing file paths to local PDB files.

Glycan Contact Maps

Contact maps reveal the spatial relationships between monosaccharides in a glycan structure. These maps help identify which parts of the glycan are in close proximity, providing insights into potential functional regions.

from glycontact.process import get_contact_tables
# Get monosaccharide contact tables
glycan = "Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Gal(b1-4)GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)[Fuc(a1-6)]GlcNAc"
contact_tables = get_contact_tables(glycan, level = "monosaccharide")

from glycontact.visualize import draw_contact_map
# Visualize the first contact map
draw_contact_map(contact_tables[0], size = 1.0)
Glycan Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Gal(b1-4)GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)[Fuc(a1-6)]GlcNAc not found locally. Downloading from GlycoShape...

png

Surface Accessibility and Flexibility

The solvent-accessible surface area (SASA) and flexibility of monosaccharides are crucial determinants of glycan-protein interactions. GlyContact calculates these properties and allows visualization of their distribution across the glycan structure.

from glycontact.visualize import plot_glycan_score
plot_glycan_score(glycan, attribute = "SASA")

png

Glycosidic Torsion Angles

Glycosidic torsion angles (phi/psi) determine the overall shape of glycans. GlyContact can analyze these angles across multiple structures to identify preferred conformations, similar to protein Ramachandran plots.

from glycontact.visualize import ramachandran_plot
fig = ramachandran_plot("Gal(b1-4)GlcNAc")

png

Contributing

Contributions to GlyContact are welcome! Please feel free to submit a Pull Request.

Citation

If you use GlyContact in your research, please cite:

Thomès et al., GlyContact analyzes glycan 3D structures at scale. Nat Commun, 16:11136, 2025

License

This project is licensed under the MIT License—see the LICENSE file for details.


Metadata

Release files for glycontact 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for glycontact 0.5.0
File Size Uploaded
glycontact-0.5.0.tar.gz 16.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for glycontact 0.5.0
File Interpreter ABI Platform
glycontact-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.5 MB

Release files / glycontact-0.5.0.tar.gz

Download URL glycontact-0.5.0.tar.gz
Size 16.2 MB
Tags Source
SHA-256 checksum
How to use checksums
c2a545d5adf52fe97026dcb9cb48fefc542326650a7b05fc79e544e42fec2dfc
BLAKE2b-256 checksum
How to use checksums
76cb3b126afb56e46f477d06254ad22a706e001a79ae2e97c7f460940aec67fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / glycontact-0.5.0-py3-none-any.whl

Download URL glycontact-0.5.0-py3-none-any.whl
Size 3.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
139966f56b76c4a17b65a914a31e691fa6e38df4d67fb0bb32981004c6ec3673
BLAKE2b-256 checksum
How to use checksums
e59f2992143c72210b74c84985c45fba958a1d276377b334ceef93f5276d1be2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page