Skip to content

Add SISTER-Lite interactive lookup app#1

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1778183558-build-sister-lite
Open

Add SISTER-Lite interactive lookup app#1
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1778183558-build-sister-lite

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Summary

Adds a first SISTER-Lite implementation for interactive, lookup-based electrophysiology hypothesis generation:

  • Adds a FastAPI app (src.sister_lite.api) with:
    • GET/POST /api/lookup
    • POST /api/simulate plus in-memory completed job status
    • GET /api/status/{job_id}
    • GET /api/compare for Paci vs ORd discordance tagging
    • POST /api/optimize for nearest-grid target APD alternans search
  • Adds decision-rule classification for invalid, valid negative, weak alternans, and strong positive outcomes.
  • Adds a curated SISTER-Lite CSV grid including the requested internal validation cases:
    • Paci low G_K1=0.25, BCL 500, verapamil → strong_positive, 57.9%
    • ORd same parameters → valid_negative, 0%
    • high G_K1 Paci control → valid_negative
  • Adds a static browser UI served by FastAPI with sliders/toggles, a Three.js heart risk color, and Plotly APD/Ca traces.
  • Adds tests for the key validation cases, API job/status contract, parameter discard guard, and optimizer endpoint.
  • Adds FastAPI/Uvicorn/test dependencies to requirements.txt and environment.yml, and ignores local .venv/.

Review & Testing Checklist for Human

  • Verify the curated data/sister_lite/sister_lite_grid.csv values/provenance are scientifically acceptable, especially the internal-validation and Grandi placeholder rows.
  • Run the app locally and confirm UI behavior end to end:
    PYTHONPATH=. .venv/bin/uvicorn src.run_sister_lite:app --host 127.0.0.1 --port 8001
    then test Paci/ORd/high-G_K1 scenarios in the browser.
  • Confirm the synchronous lookup/job/optimizer API shape is acceptable for SISTER-Lite and does not overpromise live ODE, Celery, or Bayesian optimization behavior yet.
  • Check whether CDN-loaded React/Three/Plotly is acceptable for the intended deployment target, or whether this should be converted to a bundled frontend later.

Notes

Tested locally with:

  • .venv/bin/python -m compileall -q src/sister_lite src/run_sister_lite.py tests/test_sister_lite.py
  • .venv/bin/python -m pytest tests ipsc_cm_pattern_alignment/tests
  • Local API smoke test against /api/simulate confirming Paci low-G_K1 verapamil returns strong_positive with probability 0.579.

Link to Devin session: https://app.devin.ai/sessions/f9e9f9041f4a4b81ac23d07bd2ca94f5
Requested by: @anerecye

Co-Authored-By: Anere Cye <milriw02@proton.me>
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant