Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rBAN

rBAN is a Java library and command-line tool for the retrosynthetic analysis of non-ribosomal peptides (NRPs) from their chemical structures.

Starting from a peptide represented as a SMILES string, rBAN identifies peptide bonds, reconstructs the monomeric graph, and predicts the constituent monomers, enabling downstream structural analysis and annotation.

The project is distributed both as a standalone Java application and as the computational engine powering the rBAN Web Application.


Algorithm overview

The retrosynthetic workflow implemented by rBAN can be summarized as:

SMILES
   │
   ▼
Chemical graph
   │
   ▼
Peptide bond identification
   │
   ▼
Graph fragmentation
   │
   ▼
Monomer identification
   │
   ▼
Monomeric graph

This workflow transforms the chemical structure of a non-ribosomal peptide into its corresponding monomeric graph, enabling downstream structural analysis, annotation, and comparison with known peptides. Find below a figure illustrating the process.


Related resources


Installation

Clone the repository and build the project using Maven:

mvn clean package

The generated JAR can then be executed from the command line.


Preparing a custom monomer database (optional)

By default, rBAN uses the monomer database provided by Norine.

To preprocess a custom monomer database:

java -jar rBAN-1.0.jar \
  -preprocessingInput <input.json> \
  -preprocessingOutput <output.json>

Quick start

Display the command-line help:

java -jar rBAN-1.0.jar -h

Process a single peptide:

java -jar rBAN-1.0.jar \
  -inputId <identifier> \
  -inputSmiles "<SMILES>" \
  -outputFolder <output-folder>

Process multiple peptides from a JSON file:

java -jar rBAN-1.0.jar \
  -inputFile <input.json> \
  -outputFolder <output-folder>

Input format

The input JSON file should contain an array of peptide objects:

[
  {
    "id": "NOR01763",
    "smiles": "CC=CCC(C)..."
  },
  {
    "id": "NOR00681",
    "smiles": "C[C@H]1..."
  }
]

A complete example is available in:

examples/example_input_file.json

Command-line options

Option Description
inputId Identifier assigned to the peptide.
inputSmiles SMILES representation of the peptide.
inputFile JSON file containing peptide identifiers and SMILES strings.
outputFolder Directory where results are written.
imgs Generate molecular depictions.
norineGraph Compare the generated graph with the Norine reference graph.
discoveryMode Query PubChem to identify previously unknown monomers.
monomersDB Use a custom preprocessed monomer database.
outputFileName Name of the generated JSON output file.
imgsFolderName Name of the images directory.
preprocessingInput Input JSON describing custom monomers.
preprocessingOutput Output path for the preprocessed monomer database.

Ecosystem

The rBAN software ecosystem consists of two complementary repositories:

  • rBAN — Core Java library implementing the retrosynthetic analysis algorithms.
  • rBAN Web Application — Browser-based interface exposing the library through a lightweight backend service.

Citation

If you use rBAN in your research, please cite:

Ricart, E., Leclère, V., Flissi, A., et al.

rBAN: retro-biosynthetic analysis of nonribosomal peptides.

Journal of Cheminformatics, 11, 13 (2019).

https://doi.org/10.1186/s13321-019-0335-x


License

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

https://creativecommons.org/licenses/by-nc-sa/4.0/


Project status

This repository contains the reference implementation of the rBAN retrosynthetic analysis algorithm developed during my PhD research. It is preserved as the computational engine accompanying the published work and remains available for reproducibility, reuse, and educational purposes.

About

Java library and command-line tool for the retrosynthetic analysis of non-ribosomal peptides

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages