Agentic AI Workflows to Discover Pediatric-Specific INO80/SRCAP Chromatin Remodeler Subunits and Adaptors for Cancer Dependencies
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: 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.
- 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
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.
- 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.
# macOS / Linux
./run.sh
# Windows
run.cmdThat syncs the pinned dependencies, verifies the setup, and launches the app at http://localhost:8501.
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 # launchThis 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.pycheck_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.
uv run python check_setup.py # deps + data readiness
uv run pytest app/tests -q # 136 tests (network-gated STRING/RAG tests skip offline)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.
- BioMCP (https://biomcp.org/) can be installed using
- Insights → "Generate with LLM" uses a cloud model if you provide a key,
else local Ollama (
llama3.1:8b) as per availability.- Refer to Ollama download/installation instructions here: https://docs.ollama.com/quickstart
- Ollama server should be running at http://localhost:11434
Bring your own key (BYOK) any one of three ways — nothing is bundled, and your key is only sent to the provider you choose:
-
.envfile (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
.envfrom the package root (orapp/) at startup..envis git-ignored so it won't leak if you re-share the folder. -
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.
-
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.
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
uv: command not found→ install uv (step 1), reopen the terminal.check_setup.pysays data missing → the parquets should be bundled; if you removed them, download the CSVs (step 3) and runapp/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.cmdworks in plain cmd.
See app/README.md for feature details and ARCHITECTURE.md for the design.
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.
- 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.
- Pandurang Kolekar (Pandurang.Kolekar@STJUDE.ORG)