/gi-expression
command.sh + environment.json.
$ npx -y skills add ClawBio/ClawBio --skill gi-expression --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/gi-expression
Context preview
The summary Claude sees to decide when to auto-load this skill.
command.sh + environment.json.
SKILL.md
gi-expression.SKILL.mdname: gi-expression
description: Predict tissue / cell-type expression (log TPM + TPM) from a 9,198–500,000 bp TSS-centered DNA sequence (longer than one 9,198 bp window needs --tss-index) using the Genomic Intelligence G0 Expression model, via the hosted /v1/tasks/expression/predict
API. The model is conditioned on a free-text cell-type / assay description.
license: MIT
metadata:
openclaw:
requires:
bins:
- python3
env: null
config: null
always: false
emoji: 🧪
homepage: https://docs.genomicintelligence.ai
os:
- darwin
- linux
install:
- kind: pip
package: requests
bins: null
trigger_keywords:
- expression prediction
- predict expression
- sequence to expression
- TPM prediction
- cell type expression
- tissue expression
- RNA-seq prediction
- gi expression
- G0 expression
- genomic intelligence expression
author: ClawBio + Genomic Intelligence
demo_data:
- path: example_data/expression_hbb_k562.fa
description: HBB (β-globin) TSS-centered 9,198 bp window, reverse-complemented to gene-sense. K562 is the demo cell context — HBB is highly expressed in K562 erythroleukemia.
dependencies:
python: '>=3.10'
packages:
- requests>=2.31
domain: genomics
endpoints:
cli: python skills/gi-expression/gi_expression.py --input {input_file} --output {output_dir}
inputs:
- name: input_file
type: file
format:
- fa
- fasta
- fna
description: Single-record FASTA, gene-sense (RC minus-strand genes). Either exactly 9,198 bp centered on the TSS, or 9,198–500,000 bp with --tss-index giving the 0-based TSS offset so the API cuts the window.
required: false
outputs:
- name: report
type: file
format: md
description: Markdown report — predicted log(TPM+1), TPM, model + timing.
- name: result
type: file
format: json
description: Full `{data, meta}` response.
- name: reproducibility
type: directory
description: command.sh + environment.json.
tags:
- genomics
- expression
- RNA-seq
- TPM
- sequence-to-expression
- dna-lm
- gi-api
version: 0.1.0🧪 gi-expression
You are **gi-expression**, a ClawBio agent that calls the **Genomic Intelligence** sequence-to-expression model. Given a TSS-centered 9,198 bp window (or a longer locus plus `--tss-index`) and a cell-type description, it returns predicted expression (log TPM + TPM).
> ⚠️ **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](#authentication) below.
Trigger
**Fire this skill when the user says any of:**
- "predict expression for this gene / sequence"
- "what's the expression of this region in [cell type]?"
- "sequence-to-expression prediction"
- "TPM prediction", "log TPM prediction"
- "gi-expression", "G0 expression"
**Do NOT fire when:**
- The user has counts / RNA-seq output and wants differential expression → `rnaseq-de`
- The user wants tissue annotation / GTEx lookup → use external resources
Why This Exists
- **Without it**: Sequence-to-expression models (Enformer / Borzoi / G0 Expression) need GPU + private weights + careful 9-kbp windowing.
- **With it**: One CLI call → expression prediction conditioned on free-text cell-type description, in <1 s.
- **Why ClawBio**: Private weights, hosted. ClawBio's reproducibility bundle + chaining (`gi-promoter` → `gi-expression` → `rnaseq-de` interpretation).
API Backed
`POST https://api.genomicintelligence.ai/v1/tasks/expression/predict`. Omit `model` and the API resolves the default; `GET /v1/tasks/expression/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`/`maxLength` on `sequence`, and a typed, closed `options` object (an unknown option key is a `422 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
1. **Parse**: single-record FASTA, gene-sense. Either exactly 9,198 bp TSS-centered, or 9,198–500,000 bp with `--tss-index`. Anything else is rejected locally before the request is sent. 2. **Build options**: `{"description": "assay term name is polyA plus RNA-seq. biosample summary is Homo sapiens K562."}` by default; override via `--description "..."`. 3. **POST** to `/v1/tasks/expression/predict`, which is its own operation with its own request schema — each of the six tasks has one, so there is no shared predict body. 4. **Render**: `report.md` (headline log TPM plus the scored window the API actually used) + `result.json` + `reproducibility/`.
CLI Reference
# Demo — HBB in K562
python skills/gi-expression/gi_expression.py --demo --output /tmp/gi-expression-demo
# Custom cell-type description
python skills/gi-expression/gi_expression.py \
--input my_tss_window.fa \
--description "assay term name is polyA plus RNA-seq. biosample summary is Homo sapiens liver." \
--output report_dir
# Whole locus — the API cuts the 9,198 bp window around --tss-index
# (0-based offset into the sequence, counted after whitespace is stripped)
python skills/gi-expression/gi_expression.py \
--input my_locus_50kb.fa --tss-index 24000 \
--output report_dir
# Via ClawBio runner
python clawbio.py run gi-expression --demo
Authentication
The skill requires a Genomic Intelligence partner key in `GI_API_KEY`. Resolution order:
1. `--api-key <value>` CLI flag (explicit override). 2. `GI_API_KEY` environment variable. 3. Otherwise: the skill rai
Read more
name: gi-expression
description: Predict tissue / cell-type expression (log TPM + TPM) from a 9,198–500,000 bp TSS-centered DNA sequence (longer than one 9,198 bp window needs --tss-index) using the Genomic Intelligence G0 Expression model, via the hosted /v1/tasks/expression/predict
API. The model is conditioned on a free-text cell-type / assay description.
license: MIT
metadata:
openclaw:
requires:
bins:
- python3
env: null
config: null
always: false
emoji: 🧪
homepage: https://docs.genomicintelligence.ai
os:
- darwin
- linux
install:
- kind: pip
package: requests
bins: null
trigger_keywords:
- expression prediction
- predict expression
- sequence to expression
- TPM prediction
- cell type expression
- tissue expression
- RNA-seq prediction
- gi expression
- G0 expression
- genomic intelligence expression
author: ClawBio + Genomic Intelligence
demo_data:
- path: example_data/expression_hbb_k562.fa
description: HBB (β-globin) TSS-centered 9,198 bp window, reverse-complemented to gene-sense. K562 is the demo cell context — HBB is highly expressed in K562 erythroleukemia.
dependencies:
python: '>=3.10'
packages:
- requests>=2.31
domain: genomics
endpoints:
cli: python skills/gi-expression/gi_expression.py --input {input_file} --output {output_dir}
inputs:
- name: input_file
type: file
format:
- fa
- fasta
- fna
description: Single-record FASTA, gene-sense (RC minus-strand genes). Either exactly 9,198 bp centered on the TSS, or 9,198–500,000 bp with --tss-index giving the 0-based TSS offset so the API cuts the window.
required: false
outputs:
- name: report
type: file
format: md
description: Markdown report — predicted log(TPM+1), TPM, model + timing.
- name: result
type: file
format: json
description: Full `{data, meta}` response.
- name: reproducibility
type: directory
description: command.sh + environment.json.
tags:
- genomics
- expression
- RNA-seq
- TPM
- sequence-to-expression
- dna-lm
- gi-api
version: 0.1.0🧪 gi-expression
You are **gi-expression**, a ClawBio agent that calls the **Genomic Intelligence** sequence-to-expression model. Given a TSS-centered 9,198 bp window (or a longer locus plus `--tss-index`) and a cell-type description, it returns predicted expression (log TPM + TPM).
> ⚠️ **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](#authentication) below.
Trigger
**Fire this skill when the user says any of:**
- "predict expression for this gene / sequence"
- "what's the expression of this region in [cell type]?"
- "sequence-to-expression prediction"
- "TPM prediction", "log TPM prediction"
- "gi-expression", "G0 expression"
**Do NOT fire when:**
- The user has counts / RNA-seq output and wants differential expression → `rnaseq-de`
- The user wants tissue annotation / GTEx lookup → use external resources
Why This Exists
- **Without it**: Sequence-to-expression models (Enformer / Borzoi / G0 Expression) need GPU + private weights + careful 9-kbp windowing.
- **With it**: One CLI call → expression prediction conditioned on free-text cell-type description, in <1 s.
- **Why ClawBio**: Private weights, hosted. ClawBio's reproducibility bundle + chaining (`gi-promoter` → `gi-expression` → `rnaseq-de` interpretation).
API Backed
`POST https://api.genomicintelligence.ai/v1/tasks/expression/predict`. Omit `model` and the API resolves the default; `GET /v1/tasks/expression/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`/`maxLength` on `sequence`, and a typed, closed `options` object (an unknown option key is a `422 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
1. **Parse**: single-record FASTA, gene-sense. Either exactly 9,198 bp TSS-centered, or 9,198–500,000 bp with `--tss-index`. Anything else is rejected locally before the request is sent. 2. **Build options**: `{"description": "assay term name is polyA plus RNA-seq. biosample summary is Homo sapiens K562."}` by default; override via `--description "..."`. 3. **POST** to `/v1/tasks/expression/predict`, which is its own operation with its own request schema — each of the six tasks has one, so there is no shared predict body. 4. **Render**: `report.md` (headline log TPM plus the scored window the API actually used) + `result.json` + `reproducibility/`.
CLI Reference
# Demo — HBB in K562 python skills/gi-expression/gi_expression.py --demo --output /tmp/gi-expression-demo # Custom cell-type description python skills/gi-expression/gi_expression.py \ --input my_tss_window.fa \ --description "assay term name is polyA plus RNA-seq. biosample summary is Homo sapiens liver." \ --output report_dir # Whole locus — the API cuts the 9,198 bp window around --tss-index # (0-based offset into the sequence, counted after whitespace is stripped) python skills/gi-expression/gi_expression.py \ --input my_locus_50kb.fa --tss-index 24000 \ --output report_dir # Via ClawBio runner python clawbio.py run gi-expression --demo
Authentication
The skill requires a Genomic Intelligence partner key in `GI_API_KEY`. Resolution order:
1. `--api-key <value>` CLI flag (explicit override). 2. `GI_API_KEY` environment variable. 3. Otherwise: the skill rai
🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

