tooluniverse-functional-genomics-screens

$npx mdskill add mims-harvard/ToolUniverse/tooluniverse-functional-genomics-screens

Interpret and prioritize hits from functional genomics screens.

  • Prioritize screen hits by integrating essentiality, constraint, and pathway data.
  • Depends on DepMap, gnomAD, Reactome, STRING, DGIdb, CIViC, and COSMIC.
  • Ranks targets using context-specific essentiality, druggability, and clinical evidence.
  • Outputs a prioritized target shortlist with supporting evidence from multiple databases.

SKILL.md

.github/skills/tooluniverse-functional-genomics-screensView on GitHub ↗
---
name: tooluniverse-functional-genomics-screens
description: Interpret hits from CRISPR-KO/CRISPRi/shRNA screens by integrating DepMap essentiality, gnomAD constraint scores, pathway context (Reactome, STRING), druggability (DGIdb), and clinical evidence (CIViC, COSMIC). Use for screen-hit prioritization, essentiality ranking, and turning a list of screen hits into a prioritized target shortlist.
disable-model-invocation: true
---

# Functional Genomics Screen Interpretation

Pipeline for validating and prioritizing hits from genetic screens (CRISPR-KO, CRISPRi, shRNA) by integrating essentiality (DepMap), constraint (gnomAD), pathways (Reactome, STRING), druggability (DGIdb), and clinical evidence (CIViC, COSMIC).

**Guiding principles**:
1. **Hits are hypotheses** -- screen results contain false positives; validate through orthogonal evidence
2. **Selectivity matters** -- pan-essential genes are poor drug targets; context-specific essentiality is high-value
3. **Pathway over gene** -- enriched pathways are more robust than individual hits
4. **Druggability is practical** -- prioritize chemically modulable targets
5. **English-first queries** -- use English gene names in tool calls

## LOOK UP, DON'T GUESS
When uncertain about any scientific fact, SEARCH databases first.

---

## COMPUTE, DON'T DESCRIBE
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.

## Workflow

```
Phase 0: Input Processing → gene list, screen type, cell line, disease context
Phase 1: Hit Validation → DepMap dependency, gnomAD constraint, UniProt function
Phase 2: Pathway & Network → Reactome enrichment, STRING network, functional clusters
Phase 3: Druggability → DGIdb interactions, druggable categories, PharmacoDB
Phase 4: Clinical Evidence → CIViC, COSMIC mutations
Phase 5: Literature → PubMed for key hits
Phase 6: Prioritized Report → ranked target list with multi-dimensional scoring
```

---

## Phase Details

### Phase 1: Hit Validation

**Tools**:
- `DepMap_get_gene_dependencies(gene_symbol=...)` -- returns gene metadata only (NOT per-cell-line scores)
- `DepMap_search_cell_lines(query=...)` -- cell line metadata
- `gnomad_get_gene_constraints(gene_symbol=...)` -- pLI, LOEUF (may return "Service overloaded")
- `UniProt_get_function_by_accession(accession=...)` -- function summary

**Classification**: Pan-essential (>90% lines), Selectively essential (specific lineages), Context-specific (screen model only). Chronos < -0.5 = likely essential, < -1.0 = strongly essential.

**DepMap per-cell-line Chronos scores**: `DepMap_get_gene_dependencies` returns metadata only. For the actual per-cell-line scores, use the bundled script in the cell-line-profiling skill — `tooluniverse-cell-line-profiling/scripts/depmap_gene_dependency.py` (downloads the current DepMap Public CRISPRGeneEffect.csv once, cached; queries by `gene` or `cell-line`):

```bash
python depmap_gene_dependency.py gene KRAS --lineage Lung --top 20   # most-dependent lines
python depmap_gene_dependency.py cell-line A375 --top 25             # genes the line needs
```
Chronos < -0.5 ≈ dependency, < -1.0 strongly essential. Fallback if you can't run it: gnomAD constraint + `PubMed_search_articles(query="[gene] CRISPR screen [cancer]")`.

### Phase 2: Pathway & Network

- `ReactomeAnalysis_pathway_enrichment(identifiers="TP53 BRCA1 EGFR")` -- space-separated string
- `STRING_get_network(identifiers="GENE1\rGENE2\rGENE3", species=9606)` -- carriage-return separated
- `STRING_functional_enrichment(identifiers=..., species=9606)` -- GO/KEGG enrichment

### Phase 3: Druggability

- `DGIdb_get_drug_gene_interactions(genes=["EGFR","BRAF"])` -- drug-gene interactions
- `DGIdb_get_gene_druggability(genes=[...])` -- categories (kinase, GPCR, etc.)
- For high-priority hits, also search `search_clinical_trials` and PubMed for novel inhibitors not yet in DGIdb.

### Phase 4: Clinical Evidence

- `civic_search_evidence_items(molecular_profile=gene)` -- NOT `query`
- `COSMIC_get_mutations_by_gene(gene_name=...)` -- somatic mutation frequency

### Phase 6: Prioritized Report

**Scoring (0-18)**:

| Criterion | Score 3 | Score 0 |
|-----------|---------|---------|
| Selective essentiality | <-0.5 in disease AND >-0.2 elsewhere | >-0.2 (not essential) |
| Pathway convergence | 3+ hits same pathway | Isolated hit |
| Druggability | Approved drug exists | Not druggable |
| Clinical evidence | CIViC therapeutic | No clinical data |
| Constraint | pLI >0.9 | No data |
| Literature | Multiple validation studies | No publications |

**Tiers**: T1 (15-18) high-confidence, T2 (10-14) promising, T3 (5-9) speculative, T4 (<5) likely false positive.

---

## Edge Cases

- **gnomAD overloaded**: Retry once, proceed without, note gap
- **Gene not in DepMap**: Fall back to gnomAD + UniProt
- **Large hit lists (>500)**: Pathway enrichment on full list; per-gene analysis on top 50
- **Non-cancer screens**: DepMap less informative; weight constraint/pathway more
- **shRNA vs CRISPR**: Higher validation bar for shRNA (off-target effects)

## Limitations

- DepMap is cancer-centric (~1000 cancer lines)
- No raw screen analysis (use MAGeCK/BAGEL upstream)
- STRING interactions are associations, not causal

More from mims-harvard/ToolUniverse

SkillDescription
create-tooluniverse-skillCreate high-quality ToolUniverse skills following test-driven, implementation-agnostic methodology.
devtu-auto-discover-apisAutomatically discover life science APIs online, create ToolUniverse tools, validate them, and prepare integration PRs. Performs gap analysis to identify missing tool categories, web searches for APIs, automated tool creation using devtu-create-tool patterns, validation with devtu-fix-tool, and git workflow management. Use when expanding ToolUniverse coverage, adding new API integrations, or systematically discovering scientific resources.
devtu-benchmark-harnessContinuous improvement system for ToolUniverse tools, skills, and plugin. Run benchmarks, diagnose failures, route fixes to devtu skills, retest. Use after skill optimization, tool additions, or as regression check.
devtu-code-optimization>
devtu-create-toolCreate new scientific tools for ToolUniverse framework with proper structure, validation, and testing. Use when users need to add tools to ToolUniverse, implement new API integrations, create tool wrappers for scientific databases/services, expand ToolUniverse capabilities, or follow ToolUniverse contribution guidelines. Supports creating tool classes, JSON configurations, validation, error handling, and test examples.
devtu-docs-qualityTOP PRIORITY skill — find and immediately fix or remove every piece of wrong, outdated, or redundant information in ToolUniverse docs. Wrong code, broken links, incorrect counts, and overlapping instructions must be fixed or removed — never left in place. Runs five phases: (D) static method scan, (C) live code execution, (A) automated validation, (B) ToolUniverse audit, (E) less-is-more simplification. Core philosophy: each concept appears exactly once; remove don't add; no emojis; single setup entry point. Use when reviewing docs, before releases, after API changes, or when asked to audit, fix, or simplify documentation.
devtu-fix-toolFix failing ToolUniverse tools by diagnosing test failures, identifying root causes, implementing fixes, and validating solutions. Use when ToolUniverse tools fail tests, return errors, have schema validation issues, or when asked to debug or fix tools in the ToolUniverse framework.
devtu-githubGitHub workflow for ToolUniverse - push code safely by moving temp files, activating pre-commit hooks, running tests, and cleaning staged files. Use when pushing to GitHub, fixing CI failures, or cleaning up before commits.
devtu-optimize-descriptionsOptimize tool descriptions in ToolUniverse JSON configs for clarity and usability. Reviews descriptions for missing prerequisites, unexpanded abbreviations, unclear parameters, and missing usage guidance. Use when reviewing tool descriptions, improving API documentation, or when user asks to check if tools are easy to understand.
devtu-optimize-skillsOptimize ToolUniverse skills for better report quality, evidence handling, and user experience. Apply patterns like tool verification, foundation data layers, disambiguation-first, evidence grading, quantified completeness, and report-only output. Use when reviewing skills, improving existing skills, or creating new ToolUniverse research skills.