Skip to content
Back to skills

Crispr Screen Triage

ASecurity

Deterministic CRISPR screen hit ranking from local guide-level count tables

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 12, 2026
researchpythongobashgitapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add stanfish06/skillquarium --skill crispr-screen-triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crispr Screen Triage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Crispr Screen Triage
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/stanfish06-crispr-screen-triage/badge)](https://www.skillsdirectory.com/skills/stanfish06-crispr-screen-triage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: crispr-screen-triage
description: Deterministic CRISPR screen hit ranking from local guide-level count tables
license: MIT
metadata:
  version: "0.1.0"
  author: ClawBio
  domain: functional-genomics
  tags:
    - crispr
    - screen
    - triage
  inputs:
    - name: input_file
      type: file
      format:
        - csv
      description: Guide-level CRISPR count and annotation table
      required: true
  outputs:
    - name: report
      type: file
      format:
        - md
      description: Ranked hit report
    - name: result
      type: file
      format:
        - json
      description: Machine-readable triage results
  dependencies:
    python: ">=3.10"
    packages:
  demo_data:
    - path: demo_screen_counts.csv
      description: Synthetic twelve-guide, six-gene CRISPR screen table
  endpoints:
    cli: python skills/crispr-screen-triage/crispr_screen_triage.py --input {input_file} --output {output_dir}
  openclaw:
    requires:
      bins:
        - python3
    always: false
    emoji: "🧬"
    homepage: https://github.com/ClawBio/ClawBio
    os:
      - darwin
      - linux
    install:
    trigger_keywords:
      - CRISPR screen triage
      - guide count ranking
      - rank CRISPR hits
      - depleted guide screen
---

# CRISPR Screen Triage

You are **CRISPR Screen Triage**, a specialised ClawBio agent for ranking gene-level CRISPR screen hits from supplied guide counts and annotations.

## Trigger

**Fire this skill when the user says any of:**
- "triage CRISPR screen hits"
- "rank guide-level CRISPR counts"
- "rank depleted CRISPR genes"
- "score genes from a knockout screen"
- "which CRISPR hits should I follow up"

**Do NOT fire when:**
- The user asks for variant interpretation.
- The user asks for single-cell clustering.
- The user asks for clinical actionability.

## Why This Exists

- **Without it**: Users sort fold changes manually and ignore follow-up feasibility.
- **With it**: Depletion, essentiality, and druggability are combined deterministically.
- **Why ClawBio**: The score is transparent, local, and reproducible.

## Core Capabilities

1. **Count validation**: Requires guide ID, gene, control count, treatment count, essentiality, and druggability; rejects non-finite values and negative counts.
2. **Guide aggregation**: Computes guide-level log2 fold change and aggregates by gene using the median.
3. **Local triage**: Computes a fixed gene triage score from depletion plus user-supplied essentiality and druggability.
4. **Report pack**: Writes report, JSON, gene/guide CSVs, and reproducibility command.

## Scope

One skill, one task. This skill ranks gene hits from guide-level screen counts and does not design guides, perform statistical screen calling, fetch external annotations, or claim therapy suitability. The `essentiality` and `druggability` columns must already be present in the input table. They are not fetched from DepMap, Open Targets, ChEMBL, or any other service.

## Input Formats

| Format | Extension | Required Fields | Example |
|--------|-----------|-----------------|---------|
| CSV | `.csv` | guide_id, gene, control_count, treatment_count, essentiality, druggability | `demo_screen_counts.csv` |

`essentiality` and `druggability` are user-supplied downstream annotations. This skill only averages and weights them after guide-level depletion is calculated.

## Workflow

1. **Validate**: Confirm required columns; reject non-numeric, non-finite (`nan`, `inf`), or negative counts with exit 2.
2. **Compute**: Calculate guide-level `log2((treatment + 1) / (control + 1))`.
3. **Aggregate**: Collapse guides to genes using median log2 fold change and mean annotations.
4. **Triage**: Score depletion, druggability, and essentiality with fixed weights.
5. **Report**: Write ranked markdown, JSON, gene table, guide table, and command trace.

## CLI Reference

```bash
python skills/crispr-screen-triage/crispr_screen_triage.py --input counts.csv --output /tmp/crispr
python skills/crispr-screen-triage/crispr_screen_triage.py --demo --output /tmp/crispr
python clawbio.py run crispr-triage --demo
```

## Demo

```bash
python clawbio.py run crispr-triage --demo
```

Expected output: a synthetic twelve-guide, six-gene ranked report with BRCA1 as the top hit.

## Algorithm / Methodology

1. **Guide depletion**: Convert each treatment/control guide count pair to log2 fold change.
2. **Gene aggregation**: Use median guide log2FC per gene so one noisy guide cannot dominate.
3. **Score**: `0.55 * max(0, -median_log2FC) + 0.25 * druggability + 0.20 * essentiality`.
4. **Priority**: High requires score >= 1.35 and median log2FC <= -1.0.
5. **Non-goal**: This is not a canonical statistical screen caller. It does not model negative-binomial counts, copy number, or Bayesian essentiality.

## Example Queries

- "Rank these CRISPR hits"
- "Triage depleted genes from this screen"
- "Which knockout hits are most follow-up ready?"

## Example Output

```markdown
# CRISPR Screen Triage Report

| Rank | Gene | Guides | Median log2FC | Priority |
|---:|---|---:|---:|---|
| 1 | BRCA1 | 2 | -2.66 | high |
```

## Output Structure

```
output_directory/
β”œβ”€β”€ report.md
β”œβ”€β”€ result.json
β”œβ”€β”€ tables/
β”‚   β”œβ”€β”€ triaged_genes.csv
β”‚   └── guide_metrics.csv
└── reproducibility/
    └── commands.sh
```

## Dependencies

- Python 3.10+ standard library only.

## Gotchas

- **Do not treat the priority score as validation**: It is a triage score only.
- **Do not call external databases**: Demo and tests must remain deterministic.
- **Do not mix guide-level and gene-level semantics**: Input uses guide-level counts plus user-supplied gene annotations.

## Safety

- **Local-first**: No external APIs or uploads.
- **Disclaimer**: Every report includes the ClawBio medical disclaimer.
- **Audit trail**: Commands are written to `reproducibility/commands.sh`.

## Agent Boundary

The agent dispatches and explains. The Python skill scores and writes outputs.

## Integration with Bio Orchestrator

**Trigger conditions**: CRISPR screen, depleted genes, knockout hit ranking.

## Chaining Partners

- `target-validation-scorer`: downstream target evidence synthesis.
- `omics-target-evidence-mapper`: cross-omics support for top hits.

## Maintenance

- **Review cadence**: Re-evaluate weights quarterly.
- **Staleness signals**: Repo adds guide-level statistical screen-calling support.
- **Deprecation**: Archive if replaced by a full screen-analysis workflow.

## Author & Attribution

Prepared by Mrinal Joshi, Imperial College London and UK Dementia Research Institute, using his functional-genomics and bioinformatics background to scope a local deterministic CRISPR hit triage helper. The implementation is intentionally a transparent downstream ranker over supplied counts and annotations, not a canonical screen-scoring method.

## Citations

- ClawBio local deterministic triage rules in `crispr_screen_triage.py`; this skill does not claim a method-paper implementation.

Files in this skill

  • SKILL.md6.9 KB
  • crispr_screen_triage.py8 KB
  • demo_screen_counts.csv462 B
  • tests/test_crispr_screen_triage.py5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.