Skip to content

The Sugar Removal Utility - An algorithmic approach for in silico removal of circular and linear sugars from molecular structures.

License

Notifications You must be signed in to change notification settings

JonasSchaub/SugarRemoval

Repository files navigation

DOI Javadoc License: MIT Maintenance build GitHub issues GitHub contributors GitHub release Maven Central Quality Gate Status

SRU_logo

Sugar Removal Utility (SRU)

An algorithmic approach for in silico removal of circular and linear sugars from molecular structures

Contents of this document

Description

Here, we present source code and examples for the Sugar Removal Utility, an algorithmic approach for in silico removal of circular and linear sugars from molecular structures, as described in Schaub, J., Zielesny, A., Steinbeck, C. et al. Too sweet: cheminformatics for deglycosylation in natural products. J Cheminform 12, 67 (2020).

The algorithm's implementation is available in three forms: As a web application, a command-line application, and as source code readily usable for other software development projects. Every form is open and free to use. The command-line application along with its source code and the sugar removal algorithm's main implementation are part of this repository. The web application is available at https://sugar.naturalproducts.net and its source code can be found here.

Further description of the implemented sugar removal algorithm and its various configurations can be found in the article referenced above.

The Sugar Removal Utility is also available in the open Java rich client application MORTAR ('MOlecule fRagmenTation fRamework') where in silico molecule fragmentation can be easily conducted on a given data set and the results visualised (MORTAR GitHub repository | MORTAR article).

The repository wiki contains code examples and some additional notes on sugar moiety detection and removal using the SRU.

Contents of this repository

Sources

In the directory /src/main/java/de/unijena/cheminf/deglycosylation/ the class SugarRemovalUtility can be found. This class represents the stand-alone implementation of the sugar removal algorithm. It can be used to detect and remove circular and linear sugar moieties from molecules supplied as CDK IAtomContainer objects with many configurable options. Further documentation can be found in the JavaDoc and the repository wiki. The other sources available in /src/main/java/de/unijena/cheminf/deglycosylation/ belong to the command-line application. It makes the various settings for fine-tuning the sugar detection and removal process available through the command-line arguments. But using the SugarRemovalUtility class directly in your own software project offers some additional configuration options and functionalities:

  • Adding and removing circular and linear sugar patterns for the initial detection steps
  • Sugar detection without removal
  • Detecting only the number of sugar moieties of a molecule
  • Extracting the detected or removed sugar moieties from a molecule
  • Selecting the biggest or heaviest fragment from an unconnected atom container (e.g. after removal of non-terminal sugars)
  • Partitioning and sorting unconnected fragments of an unconnected atom container

The class SugarRemovalUtilityTest can be found in the directory /src/test/java/de/unijena/cheminf/deglycosylation/. It is a JUnit test class that tests the performance of the Sugar Removal Utility on multiple specific molecular structures of natural products hand-picked from public databases (see above). Code examples of how to use and configure the SugarRemovalUtility class can be found here.

SugarRemovalUtility CMD App

The sub-folder "SugarRemovalUtility CMD App" contains the sugar removal command-line application downloadable as compressed archive. After decompression, the JAR file "SugarRemovalUtility-jar-with-dependencies.jar" can be executed from the command-line using Java version 17 or higher. A detailed explanation how to use the application can be found in "Usage instructions.txt". Also, an example input file is provided, named "smiles_test_file.txt".

Natural product test set

The text file "hand_picked_np.txt" contains a list of SMILES codes serving as a natural product test set for the performance of the Sugar Removal Utility. They were hand-picked from public databases via the COlleCtion of Open NatUral producTs (COCONUT). More details can be found in the test class (see below) and the Sugar Removal Utility publication.

Installation

The Sugar Removal Utility is hosted as a package/artifact on the sonatype maven central repository. See the artifact page for installation guidelines using build tools like maven or gradle. To install the SRU via its JAR archive, you can get it from the releases. Note that other dependencies will need to be installed via JAR archives as well this way.

Command line application JAR

The command-line application JAR has to be downloaded and decompressed. After that, it can be executed from the command-line as described in the usage instructions. Java version 17 or higher has to be installed on your machine.

Source code

This is a Maven project. In order to use the source code for your own software, download or clone the repository and open it in a Maven-supporting IDE (e.g. IntelliJ) as a Maven project and execute the pom.xml file. Maven will then take care of installing all dependencies.

Dependencies

Needs to be pre-installed:

  • Java Development Kit (JDK) version 17
    • Adoptium OpenJDK (as one possible source of the JDK)
    • Eclipse Public License v2.0
  • Apache Maven version 4

Managed by Maven:

References and useful links

Sugar Removal Utility

Glycosylation statistics of COCONUT publication (Using the SRU)

Chemistry Development Kit (CDK)

COlleCtion of Open NatUral producTs (COCONUT)

About

The Sugar Removal Utility - An algorithmic approach for in silico removal of circular and linear sugars from molecular structures.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages