/gi-expression
command.sh + environment.json.
Claude Code
$ npx -y skills add ClawBio/ClawBio --skill gi-expression --agent claude-code
Codex
$ npx skills add ClawBio/ClawBio --skill gi-expression -a codex -y
Cursor
$ npx skills add ClawBio/ClawBio --skill gi-expression -a cursor -y
Gemini CLI
$ npx skills add ClawBio/ClawBio --skill gi-expression -a gemini-cli -y
GitHub Copilot
$ npx skills add ClawBio/ClawBio --skill gi-expression -a github-copilot -y
OpenCode
$ npx skills add ClawBio/ClawBio --skill gi-expression -a opencode -y
Windsurf
$ npx skills add ClawBio/ClawBio --skill gi-expression -a windsurf -y
SKILL.md
gi-expression.SKILL.mdname: gi-expression
description: Predict tissue / cell-type expression (log TPM + TPM) from 9,198–500,000 bp of DNA around a TSS, at least 4,599 bp each side (anything but exactly 9,198 bp 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-centred with the flank the model list recommended when it was built, reverse-complemented to gene-sense; the header records tss_index, which the skill sends. 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), with --tss-index giving the 0-based TSS offset, at least 4,599 bp from each end (9,198 to 500,000 bp). Size it from the model list as in Building the input from a gene; only an exact 9,198 bp TSS-centred sequence may omit --tss-index.
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 at least 9,198 bp around a TSS (`--tss-index` unless it is exactly 9,198 bp) 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 TSS-centred 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, 9,198–500,000 bp with `--tss-index` at least 4,599 bp from each end (an exact 9,198 bp TSS-centred sequence may omit it). Anything else is rejected locally before the request is sent. For a named gene, build the FASTA as in [Building the input from a gene](#building-the-input-from-a-gene). 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
# A gene fetched as in "Building the input from a gene": the TSS sits at
# offset F, so --tss-index is F (0-based, counted after whitespace is stripped)
python skills/gi-expression/
Read more
name: gi-expression
description: Predict tissue / cell-type expression (log TPM + TPM) from 9,198–500,000 bp of DNA around a TSS, at least 4,599 bp each side (anything but exactly 9,198 bp 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-centred with the flank the model list recommended when it was built, reverse-complemented to gene-sense; the header records tss_index, which the skill sends. 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), with --tss-index giving the 0-based TSS offset, at least 4,599 bp from each end (9,198 to 500,000 bp). Size it from the model list as in Building the input from a gene; only an exact 9,198 bp TSS-centred sequence may omit --tss-index.
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 at least 9,198 bp around a TSS (`--tss-index` unless it is exactly 9,198 bp) 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 TSS-centred 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, 9,198–500,000 bp with `--tss-index` at least 4,599 bp from each end (an exact 9,198 bp TSS-centred sequence may omit it). Anything else is rejected locally before the request is sent. For a named gene, build the FASTA as in [Building the input from a gene](#building-the-input-from-a-gene). 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 # A gene fetched as in "Building the input from a gene": the TSS sits at # offset F, so --tss-index is F (0-based, counted after whitespace is stripped) python skills/gi-expression/
🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.
Other skills on clawbio.
More skills from other plugins.
paddleocr-doc-parsing
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
13c-metabolic-flux
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…
Questions about gi-expression.
- Which coding agents can use gi-expression?
- gi-expression installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

