Skip to main content

GlyLES

testing docs-image piwheels PyPI - Downloads codecov DOI

A tool to convert IUPAC representation of Glycans into SMILES representation. This repo is still in the development phase; so, feel free to report any errors or issues. The code is available on github and the documentation can be found on ReadTheDocs.

Specification and (current) Limitations

The exact specification we're referring to when talking about "IUPAC representations of glycan" or "IUPAC-condensed", is given in the "Notes" section of this website. But as this package is still in the development phase, not everything of the specification is implemented yet (especially not all side chains you can attach to monomers). The structure of the glycan can be represented as a tree of the monosaccharides with maximal branching factor 4, i.e., each monomer in the glycan has at most 4 children.

Installation

So far, this package can only be downloaded from the python package index. So the installation with pip is very easy. Just type

pip install glyles

and you're ready to use it as described below. Use

pip install --upgrade glyles

to upgrade the glyles package to the most recent version.

Basic Usage

As a Python Package

Convert the IUPAC into a SMILES representation using the handy convert method

from glyles import convert

convert(glycan="Man(a1-2)Man", output_file="./test.txt")

You can also use the convert_generator method to get a generator for all SMILES:

from glyles import convert_generator

for smiles in convert_generator(glycan_list=["Man(a1-2)Man a", "Man(a1-2)Man b"]):
    print(smiles)

For more examples of how to use this package, please see the notebooks in the examples folder and checkout the documentation on ReadTheDocs.

In the Commandline

As of version 0.5.9, there is a commandline interface to GlyLES which is automatically installed when installing GlyLES through pip. The CLI is open for one or multiple IUPAC inputs as individual arguments. Due to the syntax of the IUPAC-condensed notation and the argument parsing in commandlines, the IUPAC strings must be given in quotes.

glyles -i "Man(a1-2)Man" -o test_output.txt
glyles -i "Man(a1-2)Man" "Fuc(a1-6)Glc" -o test_output.txt

File-input is also possible.

glyles -i input_file.txt -o test_output.txt

Providing multiple files and IUPAC-condensed names is als supported.

glyles -i input_file1.txt "Man(a1-2)Man" input_file2.txt input_file13.txt "Fuc(a1-6)Glc" -o test_output.txt

Notation of glycans

There are multiple different notations for glycans in IUPAC. So, according to the SNGF specification, Man(a1-4)Gal, Mana1-4Gal, and Mana4Gal all describe the same disaccharide. This is also covered in this package as all three notations will be parsed into the same tree of monosaccharides and result in the same SMILES string.

This is also described more detailed in a section on ReadTheDocs.

Poetry

To develop this package, we use the poetry package manager (see here for detailed instruction). It has basically the same functionality as conda but supports the package management better and also supports distinguishing packages into those that are needed to use the package and those that are needed in the development of the package. To enable others to work on this repository, we also publish the exact specifications of our poetry environment.

Citation

If you use GlyLES in your work, please cite

@article{joeres2023glyles,
  title={GlyLES: Grammar-based Parsing of Glycans from IUPAC-condensed to SMILES},
  author={Joeres, Roman and Bojar, Daniel and Kalinina, Olga V},
  journal={Journal of Cheminformatics},
  volume={15},
  number={1},
  pages={1--11},
  year={2023},
  publisher={BioMed Central}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glyles-1.2.1.tar.gz (99.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glyles-1.2.1-py3-none-any.whl (113.1 kB view details)

Uploaded Python 3

File details

Details for the file glyles-1.2.1.tar.gz.

File metadata

  • Download URL: glyles-1.2.1.tar.gz
  • Upload date:
  • Size: 99.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.20

File hashes

Hashes for glyles-1.2.1.tar.gz
Algorithm Hash digest
SHA256 2a5bcb69d3497443d4e2df90e0430e3894e8cc7070e235f0bac396555412e5db
MD5 1d5afd9bb6aab84f1c583370bc82f71c
BLAKE2b-256 0b98ca0b97c949fa5fff394ad0c4b20c26fce8aa328c957fa3e4f5ada6333370

See more details on using hashes here.

File details

Details for the file glyles-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: glyles-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 113.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.20

File hashes

Hashes for glyles-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b203c1c3dc7a5c2037743fbb10fd754633f0a9924189f2ad0b496ab688ca17ad
MD5 4044b825b30ec6e26f1896c76ab0df9d
BLAKE2b-256 a77cd379ad7c002eb0430e03a14de80f7d4370cf5ae5cbafb85b24b3a0b83738

See more details on using hashes here.

Release history Release notifications | RSS feed

1.2.2

2 files

This release

1.2.1 This release

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 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