Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
NoahHenrikKleinschmidt committed Jul 29, 2024
2 parents 1bcf647 + 973e8e7 commit 4680cf8
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 12 deletions.
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,22 @@
![logo](docs/source/_static/_resources/logo_large.png)

# A Python framework for the rapid modeling of glycans

[![Made with Python](https://img.shields.io/badge/Python->=3.10-blue?logo=python&logoColor=white)](https://python.org "Go to Python homepage")
[![code style - black](https://img.shields.io/badge/code_style-black-black)](https://black.readthedocs.io/ "Go to Black homepage")
[![Documentation Status](https://readthedocs.org/projects/glycosylator/badge/?version=latest)](https://glycosylator.readthedocs.io/en/latest/?badge=latest)
[![Check out - Tutorials](https://img.shields.io/badge/check_out-Tutorials-e61882)](https://glycosylator.readthedocs.io/en/latest/tutorials.html)
[![PyPI version](https://badge.fury.io/py/glycosylator.svg)](https://badge.fury.io/py/glycosylator)

Built using [BuildAMol](https://github.com/NoahHenrikKleinschmidt/buildamol) Glycosylator is a Python framework for the identification, modeling and
modification of glycans. Glycosylator can build atomic models of glycans and can glycosylate proteins and membranes. Glycosylator can perform conformational optimization to minimize clashes in glycosylated structures or to sample alternative conformations for individual glycans. Glycosylator supports a variety of file-formats and can work hand in hand with other libraries such as RDKit to faciliate research workflows.

Running the GUI
---------------

[![Streamlit](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://glycosylator.streamlit.app)

Glycosylator provides a graphical user interface in the form of a Streamlit Web Application. This app supports modeling new glycans and glycosylating proteins and memrbanes as well as modeling the shielding effect. Of course, the library itself is more versatile and some things may not be doable via the GUI. The app can be reached via [glycosylator.streamlit.app](glycosylator.streamlit.app) or via the _Open in Streamlit_ badge at the top. If you would like to run the app locally you clone [the app's Github Repository](https://github.com/NoahHenrikKleinschmidt/Streamlit-Glycosylator).

Installing Glycosylator
-----------------------
Glycosylator is distributed via the Python Package Index and can be installed via:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/examples/building_glycan_manually.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
"source": [
"## Assembling glycans \n",
"\n",
"Now let's start assembling them. Glycosylator is built on top of Biobuild, a general-purpose fragment-based molecular assembly tool. We can attach molecules (glycans) together to form new and larger ones. To that end, we need to specify a `linkage` between the two molecules, specifying which atoms to connect and which atoms to remove while connecting. Luckily, Glycosylator (and Biobuild) already come with a repository of linkages pre-installed, so we do not need to specify any for this tutorial. If you find that your glycan cannot be built directly because some linkage is missing, you will need to make your own linkage, but that's easy to do, so don't worry about it!\n"
"Now let's start assembling them. Glycosylator is built on top of BuildAMol, a general-purpose fragment-based molecular assembly tool. We can attach molecules (glycans) together to form new and larger ones. To that end, we need to specify a `linkage` between the two molecules, specifying which atoms to connect and which atoms to remove while connecting. Luckily, Glycosylator (and BuildAMol) already come with a repository of linkages pre-installed, so we do not need to specify any for this tutorial. If you find that your glycan cannot be built directly because some linkage is missing, you will need to make your own linkage, but that's easy to do, so don't worry about it!\n"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/source/examples/sequons.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see it is imply a dictionary mapping the three letter code of the amino acid to another string. This other string is the label of a *defined linkage*. When defining our own sequons we need to be sure to also define appropriate linkages and add them to Glycosylator's default Topology (if we cannot use existing ones). By the way, if the part about defining linkages and adding them to a topology was cryptonite to you, go check out the [Biobuild tutorial](https://biobuild.readthedocs.io/en/latest/examples/default_settings.html) on default resources."
"As you can see it is imply a dictionary mapping the three letter code of the amino acid to another string. This other string is the label of a *defined linkage*. When defining our own sequons we need to be sure to also define appropriate linkages and add them to Glycosylator's default Topology (if we cannot use existing ones). By the way, if the part about defining linkages and adding them to a topology was cryptonite to you, go check out the [BuildAMol tutorial](https://biobuild.readthedocs.io/en/latest/examples/default_settings.html) on default resources."
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions docs/source/glycosylator.optimizers.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
The optimizers package
======================

The optimizers inherit most of their functionality from Biobuild.
Check out the `Biobuild documentation <https://biobuild.readthedocs.io/en/latest/>`_ for more information.
The optimizers inherit most of their functionality from BuildAMol.
Check out the `BuildAMol documentation <https://biobuild.readthedocs.io/en/latest/>`_ for more information.

The utils module
----------------
Expand Down
6 changes: 3 additions & 3 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Glycosylator can be directly installed via `pip` from the python package index:
Optional dependencies
---------------------

Glycosylator relies on `BuildAMol <https://biobuild.readthedocs.io>`_ for its core functionality. Biobuild itself has some optional but highly useful dependencies
Glycosylator relies on `BuildAMol <https://biobuild.readthedocs.io>`_ for its core functionality. BuildAMol itself has some optional but highly useful dependencies
such as `RDKit <https://www.rdkit.org/>`_ and `Openbabel <http://openbabel.org/wiki/Main_Page>`_. If you want to install these libraries you can use the following commands:

.. code-block:: bash
Expand All @@ -40,14 +40,14 @@ We recommend to install at least `glycosylator[rdkit]` if you want to use most f
Updating Glycosylator
-----------------------
---------------------

.. warning::

When updating Glycosylator to a newer version, make sure to export any custom default `PDBECompounds` or `CHARMMTopology` settings
before updating, as the update will overwrite the pickle files where defaults are stored. You can re-set the custom settings after the update.

In order to export the custom data it is recommended not to pickle the objects (as a pickled object may not be compatbile with a newer version of Biobuild).
In order to export the custom data it is recommended not to pickle the objects (as a pickled object may not be compatbile with a newer version of BuildAMol).
Instead, you can export the data as a JSON or XML file using the `to_json` or `to_xml` methods of the `PDBECompounds` and `CHARMMTopology` classes or the `export_custom_resources` function:

.. code-block:: python
Expand Down
2 changes: 1 addition & 1 deletion docs/source/modules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ API Documentation

.. note::

This documentation only contains the functions and classes that `Glycosylator` implements directly. Most of the functionality is provided by `Biobuild` so a majority of the documentation can be found in the `Biobuild documentation <https://biobuild.readthedocs.io/en/latest/>`_.
This documentation only contains the functions and classes that `Glycosylator` implements directly. Most of the functionality is provided by `BuildAMol` so a majority of the documentation can be found in the `BuildAMol documentation <https://biobuild.readthedocs.io/en/latest/>`_.



Expand Down
2 changes: 1 addition & 1 deletion glycosylator/core/scaffold.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def scaffold(scaf=None) -> "Scaffold":
Parameters
----------
scaf : str or object
This can be a path to a file or a structure-like object like a Biobuild or RDKit molecule.
This can be a path to a file or a structure-like object like a BuildAMol or RDKit molecule.
Returns
-------
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"glycosylator.resources.names",
],
install_requires=[
"buildamol",
"buildamol>=1.2.5",
"numpy",
"pandas",
"scipy",
Expand Down Expand Up @@ -56,5 +56,5 @@
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Bio-Informatics",
],
python_requires=">=3.9",
python_requires=">=3.10",
)

0 comments on commit 4680cf8

Please sign in to comment.