Code, quick start and the Nebius stack
License: MIT, in the repository's LICENSE. Repository:
github.com/stoleraviad/TraceOme
Quick start
You need Linux, Python 3.12, uv and a Nebius Token Factory API key. A full Run also needs a Nebius AI Cloud project with H100 quota and Object Storage. No key is in this site or in the replay. No key at all? Open the demo replay.
git clone https://github.com/stoleraviad/TraceOme.git && cd TraceOme
./scripts/setup-keys.sh # installs, then asks for your Token Factory key
./scripts/start-run.sh "Does this sample carry rs4149056 and rs429358?" \
/path/to/R1.fastq.gz /path/to/R2.fastq.gz # add --paper paper.pdf to cite a paper
Then open http://localhost:8770: the researcher workspace shows the Run as it happens and asks for your
approvals. Underneath it is the CLI:
uv run python -m bio_neb.cli observe --journey-file <run-root>/journey.jsonl [--rich] # read the Journey
uv run python -m bio_neb.cli journey-feed --journey-file <run-root>/journey.jsonl # plain-language feed
uv run --env-file <your-key-file> python -m bio_neb.cli answer \
--journey-file <run-root>/journey.jsonl --request-event-id <id> --response-file answer.json
uv run --env-file <your-key-file> python -m bio_neb.cli fork \
--parent-journey-file <run-root>/journey.jsonl --child-run-root <new-run-root>
The repository's README, Setup, has the full steps, including Nebius execution.
How we use NVIDIA Nemotron
- Model: NVIDIA Nemotron 3.5 Super VL (
nvidia/Nemotron-3.5-Super-VL) runs every agent role. We started on NVIDIA Nemotron 3 Ultra: it worked in simple cases and looped as complexity grew. Super VL, at a lower price point, showed no drift across roles, so one model runs the whole pipeline, and most of our loop guards are no longer needed. - Five roles:
planning_agentchooses the reference and the Parabricks recipe;investigation_plannerresolves loose identifiers into exact Work items through NCBI and EVA tools;table_readerreads the VCF window;report_explainerexplains the findings, citing only approved facts;paper_readerpulls the cited variants and their genome build out of a paper. - Baseline: Qwen3.5-397B-A17B on the same Token Factory API, to tell model issues apart from backend or pipeline issues. Same inputs, same findings R5.
- Settings:
tool_choice: auto, parallel tool calls and an explicitmax_completion_tokensof 245,760, recorded with every request. - Prompt-engineered, no fine-tuning: versioned instructions per role, and a repair for each failure mode we catalogued. Every output is checked by code and stays a proposal until the researcher approves it.
Nebius Token Factory
- Every agent call goes to Nemotron through the Nebius Token Factory API. Run H: 145 requests, all HTTP 200, 0 re-sends R8.
- Nemotron 3.5 Super VL, Nemotron 3 Ultra and the Qwen baseline sit behind the same API, so switching models was a configuration change and the comparison needed no second provider R5.
- Usage, including cached tokens, came back on every reply. Every request and reply is a Journey fact, so token use can be read per role from the record R8.
Where Token Factory sped up our workflow
We hosted no model and no inference GPU. From our first Nemotron code to a full live genome Run on Nemotron took about eight days.
Other Nebius services
- Nebius Serverless AI jobs on an H100: each approved Run starts one job that runs NVIDIA Parabricks
pbrun germline4.7.0 and aligns a whole human genome R6. We manage no cluster: the job starts only after the researcher approves the plan, and its states are recorded in the Journey. - Nebius Object Storage: a fresh bucket for each Run holds the raw reads and the BAM and VCF outputs, which come back in parts and are verified piece by piece. Standard S3 tooling worked as-is.
- The Nebius CLI and service accounts: automation runs under its own service account, and the CLI
(
nebius ai job create) starts the GPU jobs and manages the buckets.
Hackathon fields
Feedback on Nebius and NVIDIA
Nebius gave us both halves of an agentic genomics pipeline from one provider: open NVIDIA models behind one API, and serverless H100 jobs with S3-compatible storage for Parabricks. What would have helped:
- Capped keys. A key can't be capped with a dollar or token allowance, so a public demo with live Runs is risky. Live sessions are on request for that reason.
- Random 503s. We hit occasional 503s from the model endpoint and built our own retry loop. A
Retry-Afterheader or a per-model status page would help. - Logs from failed jobs. A failed serverless job left no logs we could reach, so we built our own way to ship them out.
- Long requests. Long tool-heavy requests on Nemotron 3 Ultra returned gateway 504s, with no hint whether to retry.
- From Nemotron next: tighter structured output in long prose, leaner token use, calibrated wording for science ("no record", not "does not carry"), and benchmarks for reading variants out of papers.
What changed since 2026-08-26
Traceome started in June 2026. By late August it could plan a reference with an open model on Nebius Token Factory and run NVIDIA Parabricks on a Nebius H100, but it stopped at the variant file. Built during the submission period:
- NVIDIA Nemotron on Nebius Token Factory became the model for every agent, with full live Runs on human and C. elegans samples reaching a published report on Nemotron 3.5 Super VL.
- From a variant file to an answer: agents resolve loose variant names into exact Work items through NCBI, dbSNP and EVA, read the sample's VCF and explain the findings, with three researcher approvals.
- The Journey and Fork: every model call, tool call, approval and file is an immutable fact in one record, and a finished Run can be forked with no new external calls.
- Papers, many species, and a GUI: a Run can take a research paper as input, one set of tools serves human and non-human samples, and researchers watch Runs in a GUI.
- Nebius AI Cloud hardening: a fresh Object Storage bucket per Run, verified downloads, and tuned Parabricks defaults.
Technical build
| Layer | What | Detail |
|---|---|---|
| Reasoning | NVIDIA Nemotron 3.5 Super VL (nvidia/Nemotron-3.5-Super-VL) through the Nebius Token Factory API | One model for every role: planner, investigation planner, table reader, report explainer, paper reader |
| Compute | NVIDIA Parabricks pbrun germline 4.7.0 as a Nebius Serverless AI job on an H100 | Fresh Nebius Object Storage bucket for each Run; outputs downloaded in parts and verified |
| Sources | NCBI (Datasets, E-utilities, genomes FTP, assembly reports, dbSNP RefSNP, Variation Services); EVA; Europe PMC and PMC Open Access; the Galaxy Project's prebuilt reference indexes | Every lookup is a recorded contact; each source's answer is copied as returned |
| Agents | Pydantic AI behind one shared Agent module | Each role is offered only its own typed tools; unoffered calls refused; a malformed output gets a bounded number of repairs, then is refused |
| Record | The Journey file, journey.jsonl, plus artifacts/sha256/<digest> | Append-only, immutable facts; write-once files |
| Interfaces | A NiceGUI front end for researchers with no technical skill, and a CLI underneath (begin, observe, answer, fork, journey-feed) | The GUI replays recorded Runs and starts and follows live ones R18 |
Built with
Nebius Token Factory · NVIDIA Nemotron 3.5 Super VL · NVIDIA Parabricks · Nebius AI Cloud · NVIDIA H100 · Nebius Serverless AI · Nebius Object Storage · Pydantic AI · NiceGUI · NCBI · dbSNP · EVA · Europe PMC · PubMed Central · Galaxy Project