cheminformatics-microservice

This set of essential and valuable microservices is designed to be accessed via API calls to support cheminformatics.

https://github.com/steinbeck-lab/cheminformatics-microservice

Science Score: 85.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
    Organization steinbeck-lab has institutional domain (cheminf.uni-jena.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.5%) to scientific vocabulary

Keywords

cheminformatics chemistry chemistry-development-kit docker microservices-architecture openbabel rdkit reactjs

Keywords from Contributors

standardization meshing pde pinn interpretability projections polygons sequences parallel simulations

Scientific Fields

Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 6 months ago · JSON representation ·

Repository

This set of essential and valuable microservices is designed to be accessed via API calls to support cheminformatics.

Basic Info
Statistics
  • Stars: 48
  • Watchers: 2
  • Forks: 7
  • Open Issues: 5
  • Releases: 48
Topics
cheminformatics chemistry chemistry-development-kit docker microservices-architecture openbabel rdkit reactjs
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

Cheminformatics Microservice & UI

CMS Logo

License Maintenance GitHub issues GitHub contributors

tensorflow Powered by CDK RDKit badge React Tailwind CSS

Dev Build Prod Build Release Please

backend framework FastAPI Documentation Documentation Status codecov DOI

🌐 Overview

A comprehensive cheminformatics solution consisting of:

  1. Backend Microservices API that provides cheminformatics functionality through API calls:

    • Translating between different machine-readable representations
    • Calculating Natural Product (NP) likeliness scores
    • Visualizing chemical structures
    • Generating descriptors
    • Hosting instances of DECIMER for optical chemical structure recognition
  2. Modern React Frontend that provides an intuitive user interface for:

    • Chemical structure analysis and validation
    • Format conversion (SMILES, InChI, IUPAC, etc.)
    • 2D and 3D molecular visualization
    • Optical Chemical Structure Recognition (OCSR)
    • Molecular property calculation

Important Note: STOUT (Smiles-TO-iUpac-Translator) is currently unavailable due to legal issues.

📚 Documentation

Backend API

Comprehensive documentation is available at: https://docs.api.naturalproducts.net/

API Swagger Docs

⚛️ Frontend Application

The frontend application provides a modern, user-friendly interface to the cheminformatics microservices.

Key Features

  • Chemical Analysis Tools:

    • Structure validation and standardization
    • Molecular descriptor calculation
    • Stereoisomer generation
    • Natural product likeness scoring
    • Functional group detection (Ertl)
    • Tautomer standardization
    • HOSE code generation
    • Tanimoto similarity calculation
  • Format Conversion:

    • SMILES to various chemical formats (InChI, InChIKey, SELFIES, etc.)
    • IUPAC name to SMILES conversion
    • 2D/3D coordinate generation (Molblock)
  • Molecule Depiction:

    • 2D molecule visualization with customizable settings
    • Interactive 3D molecule visualization
    • Batch depiction for multiple molecules
  • OCSR (Optical Chemical Structure Recognition):

    • Convert chemical structure images to SMILES notation

Technical Stack

  • React 18: Core UI library
  • React Router 6: Client-side routing
  • Tailwind CSS: Utility-first styling
  • Framer Motion: Enhanced UI animations
  • Axios: API communication
  • React Dropzone: File upload handling

Frontend Architecture

  • Component-Based Design: Modular components for reusability and maintainability
  • Service Layer: Specialized services for API interaction
  • Context API: Global state management for theme, recent molecules, etc.
  • Responsive Design: Mobile-first approach with responsive layouts
  • Dark/Light Theme: Full theme support with Tailwind dark mode

Installation & Setup (Frontend)

```bash

Clone the repository

git clone https://github.com/Steinbeck-Lab/cheminformatics-microservice.git cd cheminformatics-microservice/frontend

Install dependencies

npm install

Start development server

npm start

Build for production

npm run build ```

For detailed frontend configuration options, see the Frontend Documentation.

💻 Backend Installation

You can run Cheminformatics Microservice in multiple ways:

  1. As a standalone application using a Python virtual environment
  2. Via Docker
  3. Deploy to a Kubernetes cluster using Helm charts

For detailed instructions, please refer to:

📈 Load Ramping Test Results

View the latest load ramping test results from September 29, 2023: Test Results Discussion

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

📰 Citation

Paper

Chandrasekhar, V., Sharma, N., Schaub, J. et al. Cheminformatics Microservice: unifying access to open cheminformatics toolkits. J Cheminform 15, 98 (2023). https://doi.org/10.1186/s13321-023-00762-4

Software

Venkata, C., Sharma, N., & Rajan, K. (2023). Cheminformatics Microservice (Version v2.6.0) [Computer software]. https://zenodo.org/records/13867839

🔧 Maintenance

Cheminformatics Microservice and Natural Products Online are developed and maintained by the Steinbeck group at the Friedrich Schiller University Jena, Germany.

The code for this web application is released under the MIT license. Copyright © CC-BY-SA 2023

cheminf Logo

💡 Acknowledgments

Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under the National Research Data Infrastructure – NFDI4Chem – Project number: 441958208 and ChemBioSys (Project INF) - Project number: 239748522 - SFB 1127.

DFG Logo NFDI4Chem Logo Chembiosys Logo

Owner

  • Name: Steinbeck-Lab
  • Login: Steinbeck-Lab
  • Kind: organization

Official GitHub organization for the Steinbeck group Jena, Germany

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Venkata"
  given-names: "Chandrasekhar"
  orcid: "https://orcid.org/0000-0002-2564-3243"
- family-names: "Sharma"
  given-names: "Nisha"
  orcid: "https://orcid.org/0009-0006-4755-1039"
- family-names: "Schaub"
  given-names: "Jonas"
  orcid: "https://orcid.org/0000-0003-1554-6666"
- family-names: "Steinbeck"
  given-names: "Christoph"
  orcid: "https://orcid.org/0000-0001-6966-0814"
- family-names: "Rajan"
  given-names: "Kohulan"
  orcid: "https://orcid.org/0000-0003-1066-7792"
title: "cheminformatics-microservice"
version: v3.3.0
doi: 10.5281/zenodo.15575699
date-released: 2025-06-02
url: "https://github.com/Steinbeck-Lab/cheminformatics-microservice"

GitHub Events

Total
  • Create event: 22
  • Release event: 9
  • Issues event: 25
  • Watch event: 19
  • Delete event: 11
  • Issue comment event: 65
  • Member event: 1
  • Push event: 193
  • Pull request review comment event: 9
  • Pull request review event: 48
  • Pull request event: 124
  • Fork event: 3
Last Year
  • Create event: 22
  • Release event: 9
  • Issues event: 25
  • Watch event: 19
  • Delete event: 11
  • Issue comment event: 65
  • Member event: 1
  • Push event: 193
  • Pull request review comment event: 9
  • Pull request review event: 48
  • Pull request event: 124
  • Fork event: 3

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 548
  • Total Committers: 7
  • Avg Commits per committer: 78.286
  • Development Distribution Score (DDS): 0.571
Past Year
  • Commits: 532
  • Committers: 6
  • Avg Commits per committer: 88.667
  • Development Distribution Score (DDS): 0.558
Top Committers
Name Email Commits
Kohulan k****n@u****e 235
NishaSharma14 s****4@g****m 168
Venkata Chandra Sekhar Nainala m****6@g****m 97
Nisha Sharma 5****4 29
github-actions[bot] 4****] 8
NRayya 8****a 7
dependabot[bot] 4****] 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 72
  • Total pull requests: 154
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 8
  • Total pull request authors: 9
  • Average comments per issue: 0.51
  • Average comments per pull request: 0.47
  • Merged pull requests: 128
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 13
  • Pull requests: 69
  • Average time to close issues: 7 days
  • Average time to close pull requests: 2 days
  • Issue authors: 6
  • Pull request authors: 8
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.35
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
  • CS76 (35)
  • vcnainala (12)
  • Kohulan (11)
  • NishaSharma14 (11)
  • sriramkanakam87 (3)
  • cthoyt (2)
  • alexey-krasnov (1)
  • fbaensch-beilstein (1)
Pull Request Authors
  • Kohulan (132)
  • NishaSharma14 (42)
  • dependabot[bot] (20)
  • CS76 (16)
  • sriramkanakam87 (2)
  • fbaensch-beilstein (2)
  • vcnainala (1)
  • egonw (1)
  • steinbeck (1)
Top Labels
Issue Labels
enhancement (17) bug (12) wip (11) wontfix (5) documentation (5) needs further discussion (3)
Pull Request Labels
dependencies (20) autorelease: pending (20) javascript (10) python (9) autorelease: tagged (7) wip (2) testing (1)

Dependencies

.github/workflows/deploy-doc.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v2 composite
  • actions/deploy-pages v2.0.2 composite
  • actions/setup-node v3 composite
  • actions/upload-pages-artifact v1 composite
.github/workflows/dev-build.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
.github/workflows/prod-build.yml actions
  • InsonusK/get-latest-release v1.0.1 composite
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
.github/workflows/release-please.yml actions
  • google-github-actions/release-please-action v3 composite
.github/workflows/test-check.yml actions
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v3 composite
Dockerfile docker
  • continuumio/miniconda3 latest build
docker-compose.yml docker
  • grafana/grafana latest
  • prom/prometheus latest
ops/docker-compose-dev.yml docker
  • caffeinejena/cheminformatics-python-microservice dev-latest
  • grafana/grafana latest
  • prom/prometheus latest
  • traefik v2.10
ops/docker-compose-prod.yml docker
  • caffeinejena/cheminformatics-python-microservice v1.0.0
  • grafana/grafana latest
  • prom/prometheus latest
  • traefik v2.10
package-lock.json npm
  • @algolia/autocomplete-core 1.8.2 development
  • @algolia/autocomplete-preset-algolia 1.8.2 development
  • @algolia/autocomplete-shared 1.8.2 development
  • @algolia/cache-browser-local-storage 4.17.1 development
  • @algolia/cache-common 4.17.1 development
  • @algolia/cache-in-memory 4.17.1 development
  • @algolia/client-account 4.17.1 development
  • @algolia/client-analytics 4.17.1 development
  • @algolia/client-common 4.17.1 development
  • @algolia/client-personalization 4.17.1 development
  • @algolia/client-search 4.17.1 development
  • @algolia/logger-common 4.17.1 development
  • @algolia/logger-console 4.17.1 development
  • @algolia/requester-browser-xhr 4.17.1 development
  • @algolia/requester-common 4.17.1 development
  • @algolia/requester-node-http 4.17.1 development
  • @algolia/transporter 4.17.1 development
  • @babel/parser 7.22.4 development
  • @docsearch/css 3.4.0 development
  • @docsearch/js 3.4.0 development
  • @docsearch/react 3.4.0 development
  • @esbuild/android-arm 0.17.19 development
  • @esbuild/android-arm64 0.17.19 development
  • @esbuild/android-x64 0.17.19 development
  • @esbuild/darwin-arm64 0.17.19 development
  • @esbuild/darwin-x64 0.17.19 development
  • @esbuild/freebsd-arm64 0.17.19 development
  • @esbuild/freebsd-x64 0.17.19 development
  • @esbuild/linux-arm 0.17.19 development
  • @esbuild/linux-arm64 0.17.19 development
  • @esbuild/linux-ia32 0.17.19 development
  • @esbuild/linux-loong64 0.17.19 development
  • @esbuild/linux-mips64el 0.17.19 development
  • @esbuild/linux-ppc64 0.17.19 development
  • @esbuild/linux-riscv64 0.17.19 development
  • @esbuild/linux-s390x 0.17.19 development
  • @esbuild/linux-x64 0.17.19 development
  • @esbuild/netbsd-x64 0.17.19 development
  • @esbuild/openbsd-x64 0.17.19 development
  • @esbuild/sunos-x64 0.17.19 development
  • @esbuild/win32-arm64 0.17.19 development
  • @esbuild/win32-ia32 0.17.19 development
  • @esbuild/win32-x64 0.17.19 development
  • @jridgewell/sourcemap-codec 1.4.15 development
  • @types/web-bluetooth 0.0.17 development
  • @vitejs/plugin-vue 4.2.3 development
  • @vue/compiler-core 3.3.4 development
  • @vue/compiler-dom 3.3.4 development
  • @vue/compiler-sfc 3.3.4 development
  • @vue/compiler-ssr 3.3.4 development
  • @vue/devtools-api 6.5.0 development
  • @vue/reactivity 3.3.4 development
  • @vue/reactivity-transform 3.3.4 development
  • @vue/runtime-core 3.3.4 development
  • @vue/runtime-dom 3.3.4 development
  • @vue/server-renderer 3.3.4 development
  • @vue/shared 3.3.4 development
  • @vueuse/core 10.1.2 development
  • @vueuse/integrations 10.1.2 development
  • @vueuse/metadata 10.1.2 development
  • @vueuse/shared 10.1.2 development
  • algoliasearch 4.17.1 development
  • ansi-sequence-parser 1.1.0 development
  • body-scroll-lock 4.0.0-beta.0 development
  • csstype 3.1.2 development
  • esbuild 0.17.19 development
  • estree-walker 2.0.2 development
  • focus-trap 7.4.3 development
  • fsevents 2.3.2 development
  • jsonc-parser 3.2.0 development
  • magic-string 0.30.0 development
  • mark.js 8.11.1 development
  • minisearch 6.1.0 development
  • nanoid 3.3.6 development
  • picocolors 1.0.0 development
  • postcss 8.4.24 development
  • preact 10.15.1 development
  • rollup 3.23.1 development
  • shiki 0.14.2 development
  • source-map-js 1.0.2 development
  • tabbable 6.1.2 development
  • vite 4.3.9 development
  • vitepress 1.0.0-beta.1 development
  • vscode-oniguruma 1.7.0 development
  • vscode-textmate 8.0.0 development
  • vue 3.3.4 development
  • vue-demi 0.14.5 development
package.json npm
  • vitepress ^1.0.0-beta.1 development
docs/extra-requirements.txt pypi
  • STOUT-pypi >=2.0.5
  • decimer >=2.2.0
  • decimer-segmentation *
docs/requirements.txt pypi
  • IPython *
  • chembl_structure_pipeline *
  • efficientnet *
  • fastapi >=0.80.0
  • fastapi-pagination ==0.10.0
  • fastapi-versioning >=0.10.0
  • furo *
  • httpx >=0.24.1
  • imantics ==0.1.12
  • jinja2 *
  • jpype1 ==1.4.1
  • keras_preprocessing ==1.1.2
  • matplotlib ==3.4.3
  • nbsphinx *
  • openbabel-wheel *
  • opencv-python ==4.7.0.68
  • pandas *
  • pdf2image ==1.16.2
  • pillow ==9.4.0
  • pillow-heif ==0.10.0
  • prometheus-fastapi-instrumentator *
  • pystow >=0.4.9
  • rdkit *
  • scikit-image *
  • selfies >=2.1.1
  • sphinx-autodoc-typehints *
  • sphinx_rtd_theme *
  • tensorflow >=2.10.1
  • unicodedata2 ==15.0.0
  • uvicorn >=0.15.0,<0.16.0
  • websockets ==10.4
requirements.txt pypi
  • IPython *
  • chembl_structure_pipeline *
  • efficientnet *
  • fastapi >=0.80.0
  • fastapi-pagination ==0.10.0
  • fastapi-versioning >=0.10.0
  • httpx >=0.24.1
  • jinja2 *
  • jpype1 ==1.4.1
  • keras_preprocessing ==1.1.2
  • matplotlib >=3.4.3
  • opencv-python ==4.7.0.68
  • pandas *
  • pdf2image ==1.16.2
  • pillow ==9.4.0
  • pillow-heif ==0.10.0
  • prometheus-fastapi-instrumentator *
  • pystow >=0.4.9
  • python-multipart *
  • scikit-image *
  • selfies >=2.1.1
  • tensorflow ==2.12.0
  • unicodedata2 ==15.0.0
  • uvicorn >=0.15.0,<0.16.0
  • websockets ==10.4