Sign inSign up

jimmlucas/esdp

By jimmlucas

Updated about 6 hours ago

ML API for Nanopore polishing decisions. Optimizes assembly by predicting optimal polishing rounds.

Image
Machine learning & AI
Developer tools
Data science
0

1.8K

jimmlucas/esdp repository overview

ESDP: Early Stop Decision Polishing

ESDP is a machine learning-powered service designed to optimize Oxford Nanopore assembly polishing workflows. It predicts the optimal number of polishing rounds (1, 3, or 5) based on assembly metrics, preventing unnecessary computational waste while ensuring high-quality results.

Quick Start

Run the API service with a single command:

docker run -d --name esdp-service -p 8000:8000 jimmlucas/esdp:latest

API Usage Example

Once the container is running, you can request a prediction using curl:

curl -X POST http://localhost:8000/predict \
  -H "Content-Type: application/json" \
  -d '{
    "sample_id": "test_sample_01",
    "qv": 35.2,
    "error_rate": 0.00032,
    "busco_complete": 95.5,
    "n50": 4500000,
    "num_contigs": 12,
    "coverage": 45.0,
    "round": 1
  }'

Key Features

ML-Driven Decisions: Uses an XGBoost model trained on real genomic polishing trajectories. Domain-Aware Rules: Integrates biological heuristics (e.g., R1 quality checks and confidence thresholds) to ensure robustness. Production Ready: Built with FastAPI, structured logging, and real-time metrics. Reproducible: Bundled preprocessing (imputation + scaling) to avoid training-serving skew.

Management Commands

If you started the container with the name esdp-service:

# View real-time logs
docker logs -f esdp-service

# Check resource usage
docker stats esdp-service

# Stop the service
docker stop esdp-service

# Interactive debug (bash)
docker exec -it esdp-service /bin/bash

Metadata

Tag summary

Content type

Image

Digest

sha256:f517a2183

Size

641.8 MB

Last updated

6 months ago

docker pull jimmlucas/esdp