✂️ gi-splice
You are gi-splice, a ClawBio agent that calls the Genomic Intelligence splice-site model. Given a gene-body sequence, it returns called donor/acceptor sites and per-position probabilities via the hosted API.
⚠️ Remote inference — opt-in required. Unlike most ClawBio skills, this skill uploads your FASTA sequence to the hosted Genomic Intelligence API at
https://api.genomicintelligence.ai. The same models also run interactively at https://genomicintelligence.ai. Do not submit identifiable patient data without an appropriate data-use agreement. Key setup: see Authentication below.
Trigger
Fire this skill when the user says any of:
- "predict splice sites in this gene"
- "find splice donors/acceptors"
- "score this for cryptic splice sites"
- "splice site prediction"
- "gi-splice", "G0 splice"
- "where does this transcript splice?"
Do NOT fire when:
- The user asks for full transcript structure (multi-exon annotation) →
gi-annotation - The user asks about variant effect on splicing → use
variant-annotation(VEP) or chaingi-spliceref/alt comparisons
Why This Exists
- Without it: SpliceAI / similar require local GPU + weights + careful preprocessing.
- With it: One CLI call → ranked site list with positions and probabilities, in ~1 s.
- Why ClawBio: Hosted G0 BigBird inference plus ClawBio's reproducibility bundle and chaining (
gi-splice→gi-annotation→ variant interpretation).
API Backed
POST https://api.genomicintelligence.ai/v1/tasks/splice/predict. Omit model and the API resolves the default — a BigBird transformer whose long context handles full gene bodies. GET /v1/tasks/splice/models is the current list.
Contract note. The Genomic Intelligence API publishes one operation per task, each with its own request schema: per-task
minLength/maxLengthonsequence, and a typed, closedoptionsobject (an unknown option key is a422 validation_failed, not a silent ignore). The bounds quoted in this file are the published ones, but the authority is always the served schema:GET https://api.genomicintelligence.ai/v1/openapi.json.
Workflow
- Parse: single-record FASTA via
clawbio.gi.gi_client.read_fasta. - POST the full gene body to
/v1/tasks/splice/predict. - Render:
report.md+result.json+reproducibility/.
CLI Reference
# Demo — bundled HBB gene body
python skills/gi-splice/gi_splice.py --demo --output /tmp/gi-splice-demo
# Your own FASTA
python skills/gi-splice/gi_splice.py --input my_gene.fa --output report_dir
# Via ClawBio runner
python clawbio.py run gi-splice --demo
Demo
python clawbio.py run gi-splice --demo
Bundled fixture is HBB (β-globin) gene body, reverse-complemented to gene-sense. HBB has 3 exons / 2 introns; on the coding strand the model calls donor and acceptor sites at the annotated intron boundaries, plus lower-confidence alternates. Read the counts and scores from your own run.
Authentication
The skill requires a Genomic Intelligence partner key in GI_API_KEY. Resolution order:
--api-key <value>CLI flag (explicit override).GI_API_KEYenvironment variable.- Otherwise: the skill raises a
RuntimeErrorpointing here.
Quick start — ClawBio hackathon key
A shared hackathon-tier key ships in .env.example at the repo root (opt-in only). Caps are per-key and are not published as a fixed number — read RateLimit-Limit / RateLimit-Remaining on any /v1/tasks/ response for the live allowance. The runner keeps them for you: they are in result.json under rate_limit, and a 429 names them on the error line. From wherever the ClawBio files live on your machine:
# Repo root (git clone) — or ~/.claude/plugins/cache/clawbio/clawbio/<version>/ for plugin installs
cp .env.example .env
set -a && source .env && set +a
Production / heavier use
Request an individual key at contact@genomicintelligence.ai, then:
export GI_API_KEY=gi_yourkeyhere
Gotchas
- Length bounds are 100–500,000 bp, published as
minLength/maxLengthonSplicePredictRequestand counted after whitespace is stripped. Both ends are a422 validation_failed(over-max is not a 413 — 413 is the separate 16 MiB raw-body cap). The skill rejects either locally before spending a request. - 100 bp is admission control, not regime. The default splice model has a 15,000 bp context window (
bio_spec.context_window_bponGET /v1/tasks/splice/models), so a few-hundred-bp submission is accepted and scored — against a window padded out to 15,000 bp. That is exactly the "truncated input degrades accuracy" case below, and the skill warns when you are under the window. - Submit gene-sense, not genomic-sense. Minus-strand genes need RC'd input. The bundled HBB fixture demonstrates this — its FASTA header notes
strand:-1(gene-sense for the minus-strand HBB gene). - A wrong-strand result looks right — there is no way to detect it from the output. Do not assume a bad strand shows up as an empty or low-confidence result. On the bundled HBB fixture at the default 0.5 threshold, both orientations return a comparable number of sites at comparably high confidence. The positions and the donor/acceptor split differ, but nothing in the counts or the scores tells you which orientation you sent. Get the strand right on input — you will not catch it afterwards.
- Full gene body, not just an exon. The model uses long context to disambiguate; truncated input degrades accuracy.
- A called site's
start/endis a token span, not a junction base. It bounds one variable-width tokenizer token — 4–10 bp across the sequences measured so far — reported with atoken_index, and the exon/intron junction sits somewhere inside it. Do not derive a base position from the pair, and treat any downstream intersection (VEP splice consequences, reference exon boundaries) as span-against-position rather than position-against-position. - Donor/acceptor pairs. The model emits independent site calls. Pair them downstream by ordering + strand consistency if you need intron boundaries.
- Hackathon key is shared —
GI_API_KEYfor serious work.
Output Structure
output_dir/
├── report.md # Site table (name, span, type, strand, score)
├── result.json # Full {data, meta} envelope
└── reproducibility/
├── command.sh
└── environment.json
Integration with Bio Orchestrator
Routes here on: "splice site", "splice donor", "splice acceptor", "predict splicing".
Chains with: variant-annotation (intersect calls with VEP splice consequences), gi-annotation (cross-check against predicted exon boundaries).
Safety
Research and development use. Not for clinical or diagnostic decisions.