# GlyCONFORMER
**GlyCONFORMERS** is a Python package that assigns labels to glycan conformers, based on their torsion angle values, in order to differentiate various 3D-structures of one single glycan. It enables the automated assignment of the GlyCONFORMER string that was introduced in:
**Grothaus et al. 2022, Exploration, Representation, and Rationalization of the Conformational Phase Space of N-Glycans, J. Chem. Inf. Model. 2022, 62, 20, 4992–5008** https://pubs.acs.org/doi/full/10.1021/acs.jcim.2c01049 for N-glycans.
![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Conformer_string.png?raw=true)
Check the paper or tutorial for a detailed explanation of the GlyCONFORMER string generation. The workflow is not exclusivly designed for N-glycans, but can also be applyied to any other glycan type there is.
## Installation
To use GlyCONFORMER, first install it using pip:
```
pip install GlyCONFORMER
```
Stable performance was only tested and verified with python version 3.8.
Pandas<=1.3.5 is required!
## Tutorial
The tutorial juypter notebook should be run from within the GlyCONFORMER package folder or you have to change the path directing to the TUTORIAL folder.
The tutorial includes different N-glycan types and different complexity levels of how to obtain a GlyCONFORMER label string for custom glycan types and their recorded torsion angle values. The minimum example is given by the high-mannose type N-glycan M5, where only the file **M5_angles.dat** with torsion angle values is used as input:
![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Input.png?raw=true)
It is used by the glyconformer package, whereas remaining necessary information are read from the LIBRARY_GLYCANS folder by specifying the **glycantype = "M5**":
```
conformer = glyconformer(inputfile = "TUTORIAL/M5_example/M5_angles.dat", glycantype = "M5")
```
When executing the run command:
```
binary, population = conformer.run()
```
a **binary** dataframe is produced, where the torsion angles have been converted to letters corresponding to their values and associate them to a certain minima of the free energy profile along that torsion angle.
![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Output.png?raw=true)
Additionally, the occurance of each conformer string is counted and outputted to the **population** dataframe:
![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Count.png?raw=true)
The obtained information can also be used to plot a histogram, displaying the conformer distribution by:
```
conformer.plot()
```
Conformer labels are given on the x-axis and deviations from the most populated conformer indicated by explicit letters, where dots are used when no change in that torsion angle could be detected.
![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/M5_example/Conformer_distribution.png?raw=true)
For more elaborate examples and a detailed explanation of how free energy profiles of each torsion angle are classified, check out the **Tutorial_GlyCONFORMER.ipynb** notebook.
## Documentation
See documentation https://glyconformer.readthedocs.io/en/latest/index.html
Raw data
{
"_id": null,
"home_page": "https://github.com/IsabellGrothaus/GlyCONFORMER",
"name": "GlyCONFORMER",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "glycan, conformer, classification, sugar, carbohydrates",
"author": "Isabell Grothaus",
"author_email": "grothaus@uni-bremen.de",
"download_url": "https://files.pythonhosted.org/packages/64/1a/22bfe420507ded4b5667e3423eda6ac6d0f5bab3c659b9d46316e208f9e8/glyconformer-1.1.2.tar.gz",
"platform": null,
"description": "# GlyCONFORMER\n\n**GlyCONFORMERS** is a Python package that assigns labels to glycan conformers, based on their torsion angle values, in order to differentiate various 3D-structures of one single glycan. It enables the automated assignment of the GlyCONFORMER string that was introduced in:\n\n **Grothaus et al. 2022, Exploration, Representation, and Rationalization of the Conformational Phase Space of N-Glycans, J. Chem. Inf. Model. 2022, 62, 20, 4992\u20135008** https://pubs.acs.org/doi/full/10.1021/acs.jcim.2c01049 for N-glycans. \n\n![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Conformer_string.png?raw=true)\n\nCheck the paper or tutorial for a detailed explanation of the GlyCONFORMER string generation. The workflow is not exclusivly designed for N-glycans, but can also be applyied to any other glycan type there is. \n\n## Installation\n\nTo use GlyCONFORMER, first install it using pip:\n```\npip install GlyCONFORMER\n```\nStable performance was only tested and verified with python version 3.8.\nPandas<=1.3.5 is required!\n \n## Tutorial\n\nThe tutorial juypter notebook should be run from within the GlyCONFORMER package folder or you have to change the path directing to the TUTORIAL folder.\n\nThe tutorial includes different N-glycan types and different complexity levels of how to obtain a GlyCONFORMER label string for custom glycan types and their recorded torsion angle values. The minimum example is given by the high-mannose type N-glycan M5, where only the file **M5_angles.dat** with torsion angle values is used as input:\n\n![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Input.png?raw=true)\n\nIt is used by the glyconformer package, whereas remaining necessary information are read from the LIBRARY_GLYCANS folder by specifying the **glycantype = \"M5**\": \n\n```\nconformer = glyconformer(inputfile = \"TUTORIAL/M5_example/M5_angles.dat\", glycantype = \"M5\")\n```\n\nWhen executing the run command:\n\n```\nbinary, population = conformer.run()\n```\n\na **binary** dataframe is produced, where the torsion angles have been converted to letters corresponding to their values and associate them to a certain minima of the free energy profile along that torsion angle. \n\n![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Output.png?raw=true)\n\nAdditionally, the occurance of each conformer string is counted and outputted to the **population** dataframe:\n\n![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/Count.png?raw=true)\n\nThe obtained information can also be used to plot a histogram, displaying the conformer distribution by:\n\n``` \nconformer.plot()\n```\n\nConformer labels are given on the x-axis and deviations from the most populated conformer indicated by explicit letters, where dots are used when no change in that torsion angle could be detected. \n\n![](https://github.com/IsabellGrothaus/GlyCONFORMER/blob/v1.0.0-alpha/TUTORIAL/M5_example/Conformer_distribution.png?raw=true)\n\nFor more elaborate examples and a detailed explanation of how free energy profiles of each torsion angle are classified, check out the **Tutorial_GlyCONFORMER.ipynb** notebook. \n\n## Documentation\n\nSee documentation https://glyconformer.readthedocs.io/en/latest/index.html\n",
"bugtrack_url": null,
"license": "GPL-3.0 license",
"summary": "GlyCONFORMERS is a Python package that assigns conformer strings to N-glycan conformers, based on their torsion angle values.",
"version": "1.1.2",
"project_urls": {
"Homepage": "https://github.com/IsabellGrothaus/GlyCONFORMER"
},
"split_keywords": [
"glycan",
" conformer",
" classification",
" sugar",
" carbohydrates"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3a6d1a6ea7e1d630327be355fcfa687903facd131924d7d80beeb46dd53197b1",
"md5": "f4da30db191dd6c7bd39131be97659a9",
"sha256": "71d8986406088bda760308aa4773376e8e355c231171d4fa5059a201858fd059"
},
"downloads": -1,
"filename": "GlyCONFORMER-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f4da30db191dd6c7bd39131be97659a9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 146236,
"upload_time": "2024-09-17T11:31:14",
"upload_time_iso_8601": "2024-09-17T11:31:14.207990Z",
"url": "https://files.pythonhosted.org/packages/3a/6d/1a6ea7e1d630327be355fcfa687903facd131924d7d80beeb46dd53197b1/GlyCONFORMER-1.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "641a22bfe420507ded4b5667e3423eda6ac6d0f5bab3c659b9d46316e208f9e8",
"md5": "05a2bf8ab45a4b19ca531fba9be53ff7",
"sha256": "20aa54525ce6b77c8d5ce4a9720f7d560f0d530b5fb3242f34d149c9dab97175"
},
"downloads": -1,
"filename": "glyconformer-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "05a2bf8ab45a4b19ca531fba9be53ff7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 104286,
"upload_time": "2024-09-17T11:31:16",
"upload_time_iso_8601": "2024-09-17T11:31:16.051674Z",
"url": "https://files.pythonhosted.org/packages/64/1a/22bfe420507ded4b5667e3423eda6ac6d0f5bab3c659b9d46316e208f9e8/glyconformer-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-17 11:31:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IsabellGrothaus",
"github_project": "GlyCONFORMER",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "glyconformer"
}