Skip to content
Data
Skill

/gi-expression

command.sh + environment.json.

From plugin
clawbio
1.2k112 skills4 commands

Claude Code

$ npx -y skills add ClawBio/ClawBio --skill gi-expression --agent claude-code

SKILL.md

gi-expression.SKILL.md
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/
Read more
@clawbio
Ships withclawbio

🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

1.2k112 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.2k
Star history of ClawBio/ClawBio on GitHub, a chart by star-history.com

Other skills on clawbio.

affinity-proteomics

affinity-proteomics

Unified analysis pipeline for affinity-based proteomics platforms — Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer,

@clawbio@clawbioInstall Skill
arrayexpress-fetch

arrayexpress-fetch

The study's MAGE-TAB SDRF, 6 samples, recorded verbatim. Drives the sdrf, metadata-table and samplesheet demo paths.

@clawbio@clawbioInstall Skill

More skills from other plugins.

context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem06d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog12d41k
@posthog@posthogInstall Skill

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.