Skip to content

About

SCRAP-AI : AI assisted Selective Cancer-dependency Ranking of Associated Proteins

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

Team 1 | Bio Hackathon 2026

Agentic AI Workflows to Discover Pediatric-Specific INO80/SRCAP Chromatin Remodeler Subunits and Adaptors for Cancer Dependencies

$${\Large {\color{#DC143C}\underline{\textbf{\textsf{AI}}}}\ \textsf{assisted}\ {\color{#DC143C}\underline{\textbf{\textsf{S}}}}\textsf{elective}\ {\color{#DC143C}\underline{\textbf{\textsf{C}}}}\textsf{ancer-dependency}\ {\color{#DC143C}\underline{\textbf{\textsf{R}}}}\textsf{anking}\ \textsf{of}\ {\color{#DC143C}\underline{\textbf{\textsf{A}}}}\textsf{ssociated}\ {\color{#DC143C}\underline{\textbf{\textsf{P}}}}\textsf{roteins}}$$

Project Logo

Multi-agent Streamlit app that ranks genes co-expressed with the INO80/SRCAP chromatin-remodeling complex (or any other proteins of user interest) by their cohort-selective essentiality, folds in STRING physical/functional interaction evidence, and builds grounded target dossiers (literature + protein/drug annotations) for candidate genes.

Vision and Mission

  • Vision: To discover actionable vulnerabilities within chromatin-remodeling machinery by targeting non-core subunits, adaptors, and context-specific regulatory modules that create selective dependencies in tumor cells
  • Mission: Within 72 hours, our mission was to create an end-to-end agentic AI workflow that transforms multi-source biological data into transparent, evidence-backed rankings of subunits associated with INO80/SRCAP complex as potential pediatric cancer dependencies.

Team members

  • Pandurang Kolekar (Co-Lead)
  • Vinesh Vinayachandran (Co-Lead)
  • Satish Sati
  • Abhinandita Dash
  • Sheetal Bhatara
  • Yuyu Zhang
  • Sreerag M
  • Vishakan Deivanayagam
  • Dhanus Chinnakalipatti Thilagaa Ramesh
  • Nithish Marimuthu

About

Many childhood cancers carry fewer DNA mutations than adult cancers, so we’re looking beyond sequence to how DNA is packaged and regulated. Chromatin remodelers control that packaging and decide which genes switch on. The problem: healthy cells rely on them just as much as tumors do, so shutting them down isn't an option. The real question is narrower — not how to block the machine, but which piece of it the tumor can't live without. We think the answer may lie in specific submodules rather than the whole complex. Here we present SCRAP AI. Our Agentic workflow uncovers hidden cancer vulnerabilities within essential chromatin-remodeling complexes. By integrating public gene-expression, dependency, protein-interaction, tissue-specificity, and drug-target data, AI agents identify accessory subunits and submodules—such as those within INO80 and SRCAP—that tumors may depend on more than healthy cells. The goal is simple: turn scattered evidence into a ranked shortlist of testable drug-target hypotheses for more selective cancer therapy.

1. Prerequisites

  • uv (installs Python + all dependencies in an isolated venv):
    # macOS / Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    # Windows (PowerShell)
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  • ~1 GB free disk (dependencies + bundled data). No admin rights needed.

2. One command

# macOS / Linux
./run.sh
# Windows
run.cmd

That syncs the pinned dependencies, verifies the setup, and launches the app at http://localhost:8501.

Or step by step

uv sync                                   # create venv + install exact pinned deps
uv run python check_setup.py              # verify install + data
uv run streamlit run app/streamlit_app.py # launch

3. Data (REQUIRED for the lite package)

This lite package ships code only — no prebuilt data. You must download the DepMap files once and build the parquets before first launch.

Download these 4 files from the DepMap portal (26Q1 Public) into user_data/:

File Content
CRISPRGeneEffect.csv Chronos gene-effect
OmicsExpressionTPMLogp1HumanProteinCodingGenes.csv log2(TPM+1) expression
Model.csv cell-line metadata
CRISPRInferredCommonEssentials.csv common-essential list

Then build the harmonized parquets (~10s):

uv run python app/build_harmonized.py

check_setup.py tells you exactly what's missing and what to run. Cite DepMap when using these data.

Prefer a zero-setup try? Use the ready-to-run bundle (scrap-ai.tar.gz), which ships the prebuilt parquets — no download needed.

4. Verify / smoke-test

uv run python check_setup.py     # deps + data readiness
uv run pytest app/tests -q       # 136 tests (network-gated STRING/RAG tests skip offline)

5. Optional: LLM narrative & external evidence

The core app is fully offline and keyless — all ranking, analysis, and the deterministic gene narrative work with no key. Two optional features reach the network:

  • Insights → literature/drug/STRING dossiers use keyless public APIs (Europe PMC, UniProt, ChEMBL, STRING) — no key required.
  • Insights → BioMCP use keyless BioMCP APIs
    • BioMCP (https://biomcp.org/) can be installed using uv tool install biomcp-cli
    • If VPN is enabled, BioMCP may not work.
  • Insights → "Generate with LLM" uses a cloud model if you provide a key, else local Ollama (llama3.1:8b) as per availability.

Using your own LLM key

Bring your own key (BYOK) any one of three ways — nothing is bundled, and your key is only sent to the provider you choose:

  1. .env file (best for a shared/persistent setup):

    cp app/.env.example .env      # in the package root
    # edit .env and uncomment ONE line, e.g.:
    #   ANTHROPIC_API_KEY=sk-ant-...

    The app auto-loads .env from the package root (or app/) at startup. .env is git-ignored so it won't leak if you re-share the folder.

  2. In-app field (nothing to edit): launch → Insights tab → "LLM backend / API key" → pick provider, paste key, Use key (kept in memory for the session only), then Test LLM connection.

  3. Shell environment variable:

    export ANTHROPIC_API_KEY="sk-ant-..."   # macOS/Linux
    set ANTHROPIC_API_KEY=sk-ant-...        # Windows cmd

Provider priority (first key present wins), then local Ollama:

OPENROUTER_API_KEY → OPENAI_API_KEY → ANTHROPIC_API_KEY → Ollama (llama3.1:8b)

Override the model with OPENROUTER_MODEL / OPENAI_MODEL / ANTHROPIC_MODEL (the in-app dropdown also lists valid models for a cloud key). No key and no Ollama? The deterministic "Generate narrative" button still works.

Provider notes: a bad model id shows the real error + a live model list; models that reject temperature (e.g. Claude Sonnet 5) are retried automatically.

6. What's included

scrap-ai/
├── run.sh / run.cmd          # one-command launcher
├── check_setup.py            # install + data verifier
├── pyproject.toml            # pinned dependencies
├── .python-version           # Python 3.14
├── .streamlit/config.toml    # brand theme
├── .github/skills/           # Copilot agent skill (protein-complex-classifier)
├── app/                      # application code + tests + README
├── assets/                   # SCRAP-AI logo + icon
├── data/processed/           # (lite: empty; built by app/build_harmonized.py)
├── user_data/                # seed gene lists (+ where DepMap CSVs go)
├── GLOSSARY.md               # Glossary of terms and scores used in the app
└── ARCHITECTURE.md           # stack + diagrams

Troubleshooting

  • uv: command not found → install uv (step 1), reopen the terminal.
  • check_setup.py says data missing → the parquets should be bundled; if you removed them, download the CSVs (step 3) and run app/build_harmonized.py.
  • Port in use → uv run streamlit run app/streamlit_app.py --server.port 8600.
  • Windows requires Git Bash only if you use run.sh; run.cmd works in plain cmd.

See app/README.md for feature details and ARCHITECTURE.md for the design.

Use of AI in this project

Large language models were used for assisted development of this project through GitHub Copilot. Currently this project is in a prototype stage and needs further development and evaluations.

⚠️ Limitations & Responsible Use

  • Hallucinations: As with all Large Language Models (LLMs), outputs can occasionally contain inaccuracies. Always review critical data.
  • Data Privacy: Never provide an AI tool with passwords, API keys, private information, clinical or human-subject data, unpublished sensitive data, or anything your team is not allowed to share.

Contact:

About

SCRAP-AI : AI assisted Selective Cancer-dependency Ranking of Associated Proteins

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages