🦀 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 · index · remote URL
🎯
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 10+ bioinformatics tools baked in as .toml skill files — concepts, pitfalls, and worked examples.

🔧

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.

🗂️

Local documentation index

Pre-index tools for instant, repeated lookups. The index persists across sessions and can be updated in bulk.

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 10+ 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

// install

Get started in 60 seconds

Install from crates.io
# Install the latest release
cargo install oxo-call

# Or build from source
git clone https://github.com/Traitome/oxo-call
cargo install --path oxo-call
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 100 authorization fee, and obtain a formal commercial license.