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
Keywords from Contributors
Scientific Fields
Repository
This set of essential and valuable microservices is designed to be accessed via API calls to support cheminformatics.
Basic Info
- Host: GitHub
- Owner: Steinbeck-Lab
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://app.naturalproducts.net
- Size: 21.3 MB
Statistics
- Stars: 48
- Watchers: 2
- Forks: 7
- Open Issues: 5
- Releases: 48
Topics
Metadata Files
README.md
Cheminformatics Microservice & UI
🌐 Overview
A comprehensive cheminformatics solution consisting of:
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
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
- Production: https://api.naturalproducts.net/latest/docs
- Development: https://dev.api.naturalproducts.net/latest/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:
- As a standalone application using a Python virtual environment
- Via Docker
- 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
💡 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.
Owner
- Name: Steinbeck-Lab
- Login: Steinbeck-Lab
- Kind: organization
- Website: https://cheminf.uni-jena.de
- Repositories: 28
- Profile: https://github.com/Steinbeck-Lab
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
Top Committers
| Name | 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
Pull Request Labels
Dependencies
- 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
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
- InsonusK/get-latest-release v1.0.1 composite
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/login-action f4ef78c080cd8ba55a85445d5b36e214a81df20a composite
- google-github-actions/release-please-action v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- codecov/codecov-action v3 composite
- continuumio/miniconda3 latest build
- grafana/grafana latest
- prom/prometheus latest
- caffeinejena/cheminformatics-python-microservice dev-latest
- grafana/grafana latest
- prom/prometheus latest
- traefik v2.10
- caffeinejena/cheminformatics-python-microservice v1.0.0
- grafana/grafana latest
- prom/prometheus latest
- traefik v2.10
- @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
- vitepress ^1.0.0-beta.1 development
- STOUT-pypi >=2.0.5
- decimer >=2.2.0
- decimer-segmentation *
- 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
- 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