glyles


Nameglyles JSON
Version 0.5.11 PyPI version JSON
download
home_pagehttps://github.com/kalininalab/GlyLES
SummaryA tool to convert IUPAC representation of glycans into SMILES strings
upload_time2023-06-10 09:04:12
maintainer
docs_urlNone
authorRoman Joeres
requires_python>=3.7,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GlyLES

![testing](https://github.com/kalininalab/glyles/actions/workflows/test.yaml/badge.svg)
![docs-image](https://readthedocs.org/projects/glyles/badge/?version=latest)
![piwheels](https://img.shields.io/piwheels/v/glyles) 
![PyPI - Downloads](https://img.shields.io/pypi/dm/glyles) 
[![codecov](https://codecov.io/gh/kalininalab/GlyLES/branch/main/graph/badge.svg)](https://codecov.io/gh/kalininalab/glyles)
[![DOI](https://zenodo.org/badge/431874597.svg)](https://zenodo.org/badge/latestdoi/431874597)

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](https://github.com/kalininalab/GlyLES/) and the documentation can be found on 
[ReadTheDocs](https://glyles.readthedocs.io/en/latest/index.html).

## 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](https://www.ncbi.nlm.nih.gov/glycans/snfg.html). 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

``````shell
pip install glyles
``````

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

``````shell
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

``````python
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:

``````python
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](https://github.com/kalininalab/GlyLES/tree/dev/examples) folder and checkout the documentation on 
[ReadTheDocs](https://glyles.readthedocs.io/en/latest/index.html).

### 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.

``````shell
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.
``````shell
glyles -i input_file.txt -o test_output.txt
``````

Providing multiple files and IUPAC-condensed names is als supported.
``````shell
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](https://www.ncbi.nlm.nih.gov/glycans/snfg.html), `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](https://glyles.readthedocs.io/en/latest/notes/notation.html).

## Poetry

To develop this package, we use the poetry package manager (see [here](https://python-poetry.org/) 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kalininalab/GlyLES",
    "name": "glyles",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Roman Joeres",
    "author_email": "roman.joeres@helmholtz-hips.de",
    "download_url": "https://files.pythonhosted.org/packages/64/f9/91ad8eb6c9d3f6ce5f822fc67f7bca232a2d465bb6f08e12b840ae97174e/glyles-0.5.11.tar.gz",
    "platform": null,
    "description": "# GlyLES\n\n![testing](https://github.com/kalininalab/glyles/actions/workflows/test.yaml/badge.svg)\n![docs-image](https://readthedocs.org/projects/glyles/badge/?version=latest)\n![piwheels](https://img.shields.io/piwheels/v/glyles) \n![PyPI - Downloads](https://img.shields.io/pypi/dm/glyles) \n[![codecov](https://codecov.io/gh/kalininalab/GlyLES/branch/main/graph/badge.svg)](https://codecov.io/gh/kalininalab/glyles)\n[![DOI](https://zenodo.org/badge/431874597.svg)](https://zenodo.org/badge/latestdoi/431874597)\n\nA tool to convert IUPAC representation of Glycans into SMILES representation. This repo is still in the development \nphase; so, feel free to report any errors or issues. The code is available on \n[github](https://github.com/kalininalab/GlyLES/) and the documentation can be found on \n[ReadTheDocs](https://glyles.readthedocs.io/en/latest/index.html).\n\n## Specification and (current) Limitations\n\nThe exact specification we're referring to when talking about \"IUPAC representations of glycan\" or \"IUPAC-condensed\", \nis given in the \"Notes\" section of this [website](https://www.ncbi.nlm.nih.gov/glycans/snfg.html). But as this package \nis still in the development phase, not everything of the specification is implemented yet (especially not all side \nchains you can attach to monomers). The structure of the glycan can be represented as a tree of the monosaccharides \nwith maximal branching factor 4, i.e., each monomer in the glycan has at most 4 children.\n\n## Installation\n\nSo far, this package can only be downloaded from the python package index. So the installation with `pip` is very easy.\nJust type\n\n``````shell\npip install glyles\n``````\n\nand you're ready to use it as described below. Use \n\n``````shell\npip install --upgrade glyles\n``````\n\nto upgrade the glyles package to the most recent version.\n\n## Basic Usage\n\n### As a Python Package\n\nConvert the IUPAC into a SMILES representation using the handy `convert` method\n\n``````python\nfrom glyles import convert\n\nconvert(glycan=\"Man(a1-2)Man\", output_file=\"./test.txt\")\n``````\n\nYou can also use the `convert_generator` method to get a generator for all SMILES:\n\n``````python\nfrom glyles import convert_generator\n\nfor smiles in convert_generator(glycan_list=[\"Man(a1-2)Man a\", \"Man(a1-2)Man b\"]):\n    print(smiles)\n``````\n\nFor more examples of how to use this package, please see the notebooks in the \n[examples](https://github.com/kalininalab/GlyLES/tree/dev/examples) folder and checkout the documentation on \n[ReadTheDocs](https://glyles.readthedocs.io/en/latest/index.html).\n\n### In the Commandline\n\nAs of version 0.5.9, there is a commandline interface to GlyLES which is automatically installed when installing GlyLES \nthrough pip. The CLI is open for one or multiple IUPAC inputs as individual arguments. Due to the syntax of the \nIUPAC-condensed notation and the argument parsing in commandlines, the IUPAC strings must be given in quotes.\n\n``````shell\nglyles -i \"Man(a1-2)Man\" -o test_output.txt\nglyles -i \"Man(a1-2)Man\" \"Fuc(a1-6)Glc\" -o test_output.txt\n``````\n\nFile-input is also possible.\n``````shell\nglyles -i input_file.txt -o test_output.txt\n``````\n\nProviding multiple files and IUPAC-condensed names is als supported.\n``````shell\nglyles -i input_file1.txt \"Man(a1-2)Man\" input_file2.txt input_file13.txt \"Fuc(a1-6)Glc\" -o test_output.txt\n``````\n\n## Notation of glycans\n\nThere are multiple different notations for glycans in IUPAC. So, according to the \n[SNGF specification](https://www.ncbi.nlm.nih.gov/glycans/snfg.html), `Man(a1-4)Gal`, `Mana1-4Gal`, and `Mana4Gal` \nall describe the same disaccharide. This is also covered in this package as all three notations will be parsed into the \nsame tree of monosaccharides and result in the same SMILES string.\n\nThis is also described more detailed in a section on [ReadTheDocs](https://glyles.readthedocs.io/en/latest/notes/notation.html).\n\n## Poetry\n\nTo develop this package, we use the poetry package manager (see [here](https://python-poetry.org/) for detailed\ninstruction). It has basically the same functionality as conda but supports the package management better and also \nsupports distinguishing packages into those that are needed to use the package and those that are needed in the \ndevelopment of the package. To enable others to work on this repository, we also publish the exact \nspecifications of our poetry environment.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A tool to convert IUPAC representation of glycans into SMILES strings",
    "version": "0.5.11",
    "project_urls": {
        "Homepage": "https://github.com/kalininalab/GlyLES",
        "Repository": "https://github.com/kalininalab/GlyLES"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1dd99b99eafc0c90b0143e925aa9568501e9eafd9bedfb12e50dc9c9e9126f0e",
                "md5": "e70de7fa381ed35dd7a9898dd343fe80",
                "sha256": "7d226fec1f162fde35fb2d98f404106c4eb6a6dd429ceba44787464ec122b14d"
            },
            "downloads": -1,
            "filename": "glyles-0.5.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e70de7fa381ed35dd7a9898dd343fe80",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7,<4.0",
            "size": 77427,
            "upload_time": "2023-06-10T09:04:09",
            "upload_time_iso_8601": "2023-06-10T09:04:09.973660Z",
            "url": "https://files.pythonhosted.org/packages/1d/d9/9b99eafc0c90b0143e925aa9568501e9eafd9bedfb12e50dc9c9e9126f0e/glyles-0.5.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "64f991ad8eb6c9d3f6ce5f822fc67f7bca232a2d465bb6f08e12b840ae97174e",
                "md5": "b7f229e705c38761d42b12acce25a101",
                "sha256": "018fa91377059221e83fd672a3d0c63a0a16624ce67a85883151842ad0002571"
            },
            "downloads": -1,
            "filename": "glyles-0.5.11.tar.gz",
            "has_sig": false,
            "md5_digest": "b7f229e705c38761d42b12acce25a101",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7,<4.0",
            "size": 69675,
            "upload_time": "2023-06-10T09:04:12",
            "upload_time_iso_8601": "2023-06-10T09:04:12.932938Z",
            "url": "https://files.pythonhosted.org/packages/64/f9/91ad8eb6c9d3f6ce5f822fc67f7bca232a2d465bb6f08e12b840ae97174e/glyles-0.5.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-10 09:04:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kalininalab",
    "github_project": "GlyLES",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "glyles"
}
        
Elapsed time: 0.07898s