Skip to content

Repository files navigation

CURIO — Unified Bioinformatics Data Retrieval Dashboard

A Python bioinformatics toolkit and interactive dashboard integrating UniProt, NCBI Gene, PubMed, KEGG, STRING, and Reactome APIs.

Python Streamlit MIT License Tests Contributions Welcome


Overview

CURIO is a multi-API integrated bioinformatics dashboard built with Streamlit.
It provides researchers with a single interactive workspace for querying multiple biological databases without juggling multiple scripts, APIs, or web portals.
CURIO streamlines data discovery, visualization, and reporting, making it a useful tool for:

  • Molecular biologists exploring gene/protein function
  • Bioinformatics researchers integrating data across resources
  • Students learning to work with biological databases
  • Developers building pipelines that require consistent query endpoints

Key Features

  • Unified Access to major biological data sources:
    • UniProt — protein metadata, sequences, subcellular localization, GO annotations
    • PubMed — publication search, metadata, and abstracts
    • NCBI Gene — gene metadata by gene name or accession number
    • STRING — protein–protein interaction networks
    • Reactome — curated pathway exploration
    • Structures — 3D protein models via AlphaFold & PDB with 3Dmol.js
    • KEGG — pathway visualizations
  • Reporting Engine — auto-generate publication-ready summaries in HTML/PDF
  • Crash-resistant queries — retries and error handling for unstable APIs
  • Multipage dashboard — modular Streamlit pages for each data source
  • Extensible — add your own APIs with minimal code changes

Installation

# 1. Clone the repository
git clone https://github.com/biomaverick/curio.git
cd curio

# 2. Create a virtual environment
python3 -m venv curio_env
source curio_env/bin/activate   # Linux/macOS
curio_env\Scripts\activate      # Windows

# 3. Install dependencies
pip install --upgrade pip
pip install -r requirements.txt

Usage

Launch the dashboard with:

streamlit run Home.py

By default, it runs on: http://localhost:8501

Modules available from the sidebar:

  • UniProt – query proteins by accession or name
  • NCBI Gene – retrieve gene info and sequences
  • PubMed – fetch literature metadata
  • STRING – visualize interaction networks
  • Reactome – browse pathway maps
  • KEGG – explore pathway visualizations
  • Structures – load AlphaFold/PDB structures in 3D
  • Report – export queries as PDF/HTML

Example (API Usage as Python Library)

CURIO can also be used as a Python package, not just as a dashboard:

from curio import uniprot_api
result = uniprot_api.fetch_uniprot_entry("BACE1")
print(result)

Project Scaffold

curio/
│── Home.py                  # Streamlit entrypoint
│── curio/                  # Core Python package
│   │── __init__.py
│   │── uniprot_api.py
│   │── ncbi_gene_api.py
│   │── kegg_api.py
│   │── pubmed_api.py
│   │── reactome_api.py
│   │── string_api.py
│   │── structure_api.py
│   │── report.py
│   └── net_utils.py
│── pages/                  # Streamlit multipage system
│   │── 1_UniProt.py
│   │── 2_PubMed.py
│   │── ...
│── docs/                   # Documentation
│── tests/                  # Unit tests for APIs
│── examples/               # Sample queries (JSON)
│── requirements.txt
│── pyproject.toml / setup.py
│── LICENSE
│── README.md

Testing

Run the test suite:

pytest tests/

Configuration

  • Streamlit settings.streamlit/config.toml
  • Logs and settings → handled via pages/9_Settings_&_Logs.py

Future Roadmap

  • Docker support for reproducible deployment
  • REST API wrapper (so CURIO can be queried programmatically)
  • Advanced caching layer for faster queries
  • Export to Excel/CSV in addition to PDF/HTML
  • Plugin system for custom APIs

Contributing

Contributions are welcome!

  • See CONTRIBUTING.md for detailed guidelines.
  • Please run tests before submitting pull requests.

License

This project is licensed under the MIT License.


CURIO allows you to query multiple biological databases in one place — no more switching between UniProt, NCBI, PubMed, KEGG, STRING, or Reactome separately.


Authors

About

CURIO is an interactive bioinformatics platform that unifies access to major biological databases including UniProt, PubMed, NCBI Gene, Reactome, KEGG, STRING, and Protein Structures. It provides both a Python package and a Streamlit dashboard, making it easy for researchers to fetch, analyze, and report biological insights.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages