GlyLES
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 in the issues section.
Specification and (current) Limitations
The exact specification, we're refering to when talking about "IUPAC representations of glycan", 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 monomers and side chains you can attach to monomers).
This implementation currently only works for glycans that fulfil certain properties:
- All monomers are given in D-Enantiomer, except fucose (Fuc) which has L-Enantiomer
- Linkages have to be explicit, i.e.
(a1-4) - The structure of the glycan can be represented as tree of the monomers with maximal branching factor 3.
- Only the 23 implemented monomers may participate in the glycan (see below)
For an overview of the implemented monomers, please look at the README in the grammar folder. You can get a python-readable list of the currently included monomers with the following code
from glyles.glycans.factory import MonomerFactory
MonomerFactory.monomers()
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.
Workflow
Convert the IUPAC into a SMILES representation using the handy convert method
from glyles.converter import convert
convert(glycan="Man(a1-2)Man", output_file="./test.txt")
You can also use the convert_generator method to get generator over all SMILES:
from glyles.converter import convert_generator
for smiles in convert_generator(glycan_list=["Man(a1-2)Man a", "Man(a1-2)Man b"]):
print(smiles)
In general, the convert and convert_generator methods supports the same for types of input. The samples are shown
for convert but it's the same for convert_generator.
- single glycan, e.g.
convert(glycan="Man(a1-2)Man)", - a list of glycans, e.g.
convert(glycan_list=["Man(a1-2)Man a", "Man(a1-2)Man"]), and - a file of glycans, e.g.
convert(glycan_file="./glycans.txt"). Here its important that the file many only contain one IUPAC per line. - for better runtime one can also provide a generator as input, e.g.
convert(glycan_generator=some_generator)
The output for convert can be manifold as well. For convert_generator there is one output. convert supports
stdoutwhen specifying no output-related argument, or- returned as list of tuples if
returning=trueis set, or - writing to an
output_file, e.g.convert(glycan="Man(a1-2)Man", output_file="./out.csv").
Here each line of the output will state the input IUPAC and the output SMILES. In case of written output separated with a comma.
Poetry
To develop this package I used the poetry package manager (see here for a 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. In order to enable others to work on this repository, we also publish the exact specifications of out poetry environment.
Metadata
Release files for glyles 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| glyles-0.0.4.tar.gz | 23.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| glyles-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.3 kB
Release files / glyles-0.0.4.tar.gz
| Download URL | glyles-0.0.4.tar.gz |
|---|---|
| Size | 23.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c9fdfa5ce891e20a99210c54b65adf802e885cc105ddcdc7a466b12ca0ccbd2b
|
|
BLAKE2b-256 checksum How to use checksums |
c6637907bb2498ae171cbef494f3b6fa683ae8957e163730cda70dc18518e496
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.11 CPython/3.7.3 Windows/10
|
Release files / glyles-0.0.4-py3-none-any.whl
| Download URL | glyles-0.0.4-py3-none-any.whl |
|---|---|
| Size | 28.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e2d9b5f0142ca85bb8ae33262cc04f52917e2779ed3f532f5956600d4158b75
|
|
BLAKE2b-256 checksum How to use checksums |
b49b4e471ed197a710b8e30e5d10a671dc9edddaf5338bd6fa17c988990ce39c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.11 CPython/3.7.3 Windows/10
|