🦀 Rust 2024 🧬 Bioinformatics 🤖 LLM-powered ⚡ WebAssembly

Model-intelligent
orchestration for
CLI bioinformatics

Describe your task in plain language — oxo-call fetches the tool's documentation, grounds the request with a built-in skill, and asks your LLM backend to generate the exact flags you need.

bash — oxo-call
$

// architecture
💬
Natural Language
Describe your task
📚
Docs Layer
--help · cache · remote URL · local files
🎯
Skill System
built-in → community → user
🤖
LLM Backend
Copilot · OpenAI · Ollama
⚙️
Command
run · dry-run · --ask

// features

Everything you need to stop
remembering flags

oxo-call wraps the full command-generation workflow — from fetching live documentation to grounding the LLM with expert skills — into a single two-word command.

🧠

LLM-powered parameter generation

Describe what you want in plain English. The model generates the right flags, grounded in the actual tool documentation.

📚

Automatic documentation fetching

Grabs --help output and optionally fetches remote docs or man pages. Works even if the tool isn't installed locally.

🔍

Dry-run mode

Preview the exact command that would be executed before committing. Never accidentally overwrite files again.

🎯

Built-in skill system

Expert knowledge for 100+ bioinformatics tools baked in as .toml skill files — concepts, pitfalls, and worked examples.

🔗

Native workflow engine

Run .oxo.toml pipelines natively — DAG parallelism, wildcard expansion, output caching. Export to Snakemake or Nextflow for HPC compatibility.

🔧

Flexible LLM backends

GitHub Copilot (default), OpenAI, Anthropic, or a local Ollama instance — switch with one config key.

📜

Command history

Every run is logged as JSONL with exit code, timestamp, and generated command. Filter by tool for quick lookup.

🗂️

Auto documentation cache

Tool help is fetched and cached automatically on first use. Enrich with remote URLs, local files, or directories via oxo-call docs add.

WebAssembly / WASI

Ships a wasm32-wasip1 binary for portable execution in WASI runtimes like Wasmtime without native installation.


// interactive demo

See it in action

Click an example to watch oxo-call ground the task in documentation, load the matching skill, and produce the exact command arguments.

JS simulation · powered by the same prompt logic as the WASI binary
// examples
samtools sort
sort BAM by coordinate → sorted.bam
bwa mem
align paired reads, 16 threads
bcftools call
call variants from BAM
fastp
trim adapters, paired-end
minimap2
long-read genome alignment
seqkit stats
basic stats on a FASTQ file
oxo-call dry-run

// built-in skills

Expert knowledge for 100+ tools

Each built-in skill encodes domain-specific concepts, common pitfalls, and worked examples so the LLM is guided beyond a raw --help dump.

samtools
SAM/BAM/CRAM manipulation
bwa
Burrows-Wheeler short-read aligner
bcftools
VCF/BCF variant calling & filtering
bedtools
Genomic interval arithmetic
gatk
Genome Analysis Toolkit
minimap2
Long-read / splice-aware aligner
fastp
Adapter trimming & QC
bowtie2
Fast short-read aligner
seqkit
FASTA/Q toolkit
star
RNA-seq spliced aligner

// workflow engine

Native Rust pipeline execution —
Snakemake & Nextflow as export formats

oxo-call workflow runs bioinformatics pipelines directly with a lightweight built-in engine. No Snakemake, Nextflow, or Conda needed. Export to either format for HPC environments that require them.

⚙️

Native Rust engine

Run .oxo.toml workflows directly — no Snakemake or Nextflow required. DAG-based parallelism, wildcard expansion, output caching.

🔬

RNA-seq

fastp QC → STAR alignment → featureCounts quantification → MultiQC report. Run natively or export to Snakemake/Nextflow DSL2.

🧬

Whole-Genome Sequencing

fastp → BWA-MEM2 → GATK MarkDuplicates → BQSR → HaplotypeCaller GVCF. GATK best-practices out of the box.

🔓

ATAC-seq

fastp → Bowtie2 → Picard deduplication → blacklist filtering → MACS3 peak calling. Ready for downstream footprinting.

🌍

Shotgun Metagenomics

fastp → host read removal (Bowtie2) → Kraken2 classification → Bracken species abundance estimation.

LLM-generated custom workflows

Describe any pipeline in plain language and get a complete, runnable .oxo.toml. One prompt → one deployable workflow.

🔄

Snakemake & Nextflow export

Every template can be exported with workflow export --to snakemake or --to nextflow for HPC environments.

// workflow commands
# List all built-in templates
$ oxo-call workflow list

# Preview the RNA-seq pipeline (no execution)
$ oxo-call workflow dry-run rnaseq

# Run a workflow (native engine — no Snakemake/Nextflow needed)
$ oxo-call workflow run my_rnaseq.toml

# Export to Snakemake for HPC submission
$ oxo-call workflow export wgs.toml --to snakemake -o Snakefile

# Generate a custom ChIP-seq workflow with LLM
$ oxo-call workflow generate \
    "ChIP-seq H3K27ac: QC → Bowtie2 → MACS3 peaks vs input control" \
    -o chipseq.toml

// install

Get started in 60 seconds

Install from crates.io (recommended)
# Install the latest release from crates.io
cargo install oxo-call
Install from GitHub Releases (pre-built binaries)
# Download pre-built binary (Linux x86_64 example)
curl -LO https://github.com/Traitome/oxo-call/releases/latest/download/oxo-call-VERSION-x86_64-unknown-linux-gnu.tar.gz
tar xzf oxo-call-*-x86_64-unknown-linux-gnu.tar.gz
sudo mv oxo-call /usr/local/bin/

# Available for: Linux (x86_64/aarch64), macOS (Intel/Apple Silicon), Windows, WASM
Install from source (git clone)
# Clone and build from source (latest development version)
git clone https://github.com/Traitome/oxo-call
cd oxo-call
cargo install --path .
Configure your LLM token
# GitHub Copilot (default — free for Copilot subscribers)
oxo-call config set llm.api_token YOUR_GITHUB_TOKEN

# OpenAI
oxo-call config set llm.provider openai
oxo-call config set llm.api_token sk-...

# Local Ollama (no token needed)
oxo-call config set llm.provider ollama
oxo-call config set llm.model llama3.2
Your first command
# Preview — no execution
oxo-call dry-run samtools "sort input.bam by coordinate and output to sorted.bam"

# Execute immediately
oxo-call run bwa "align reads.fastq to reference.fa using 8 threads, output SAM"

# Confirm before running
oxo-call run --ask bcftools "call variants from my.bam against ref.fa"
WASI binary (requires wasmtime)
# Download the .wasm binary from the GitHub Releases page, then:
wasmtime oxo-call.wasm -- dry-run samtools "sort input.bam by coordinate"
Public academic test license (test use only)
# Public academic test license — publish for testing only
{
  "schema": "oxo-call-license-v1",
  "license_id": "6548e181-e352-402a-ab72-4da51f49e7b5",
  "issued_to_org": "Public Academic Test License (any academic user)",
  "license_type": "academic",
  "scope": "org",
  "perpetual": true,
  "issued_at": "2026-03-12",
  "signature": "duKJcISYPdyZkw1PbyVil5zTjvLhAYsmbzRpH0n6eRYJET90p1b0rYiHO0cJ7IGR6NLEJWqkY1wBXUkfvUvECw=="
}

# Save it locally (Linux)
mkdir -p ~/.config/oxo-call && cp docs/public-academic-test-license.oxo.json ~/.config/oxo-call/license.oxo.json

# Save it locally (macOS)
mkdir -p ~/Library/Application\ Support/io.traitome.oxo-call && cp docs/public-academic-test-license.oxo.json ~/Library/Application\ Support/io.traitome.oxo-call/license.oxo.json

Test use only. This public academic license is published for evaluation and testing. Academic users should still apply for a formal academic license for real use. Commercial users should contact the maintainer, pay the USD 200 authorization fee, and obtain a formal commercial license.


// benchmarks

Reproducible omics evaluation —
rigorous, open, and data-driven

All results below are generated by oxo-bench, the standalone benchmarking crate included in this repository. Every table is backed by a static CSV file in docs/ — re-run cargo run -p oxo-bench -- export-csv to refresh with your own hardware timings.

Workflow Tasks (expanded) Parse (µs) Expand (µs) Cycle-free?
Loading bench_workflow.csv…

Parse and expand timings are averaged over 500 runs on a single-core. Source: docs/bench_workflow.csv · generated by cargo run -p oxo-bench -- export-csv

Scenario ID Assay Samples Read length (bp) Reads / sample Error rate Total reads
Loading bench_scenarios.csv…

All reads are generated deterministically with a fixed seed — re-running oxo-bench simulate always produces byte-identical FASTQ files. Source: docs/bench_scenarios.csv

Category Tool Task description Required patterns
Loading bench_eval_tasks.csv…

These 12 tasks form the canonical evaluation suite used to measure model accuracy, format-validity rate, and self-consistency. Run oxo-bench eval-models --list to explore the full suite. Source: docs/bench_eval_tasks.csv