Skip to content
Daniil Smutin edited this page Aug 30, 2026 · 6 revisions

SAMOVAR

Metagenomic ensemble taxonomic annotation, cross-validation, and ML re-profiling

SAMOVAR is a workflow for ensemble taxonomic annotation: several classifiers on the same reads, cross-validation, in-silico community regeneration, scoring, and a supervised re-profiler. The optional R package (samovaR / samovar_boil) is a separate abundance-table generator on the r-package branch — not this tree.

Start with install and a toy run, then come back here when you need a specific piece (config, databases, custom tools, scores).

./install.sh
bash examples/toy/pipeline.sh

Worked examples (toy, scoring, reprofiling, phage DBs, realistic NCBI): examples/README.md in the repo (examples/README.md).


Where to look

Setup and data

Page What is there
How to install Core ./install.sh, optional extras (OPAL, MultiQC, CAMISIM, NanoSim, ART, R), sidecar conda envs, config cheat sheet.
Configs & data ~/.config/samovar/config.json: compilers, genomes, databases.<tool>.<name:version>, tools objects, lazy-install / lazy-download.
SAMOVAR database Genome library (SAMOVAR_DATABASE, genomes.data, reindex). Different from annotator indexes.
Custom tools import samovar tools import: annotators, reads/table/meta generators, scoring, ML; --type database for Kraken2/Kaiju/… indexes. Contracts (I/O flags).

Pipeline

Page What is there
Metagenome (re-)generation Table regeneration (direct / bootstrap / VAE / …) vs simulating FASTQ from those tables; where files land under --output_dir.
How we score Per-read vs profile (OPAL-style) metrics, plot files, --rank, optional OPAL CLI.
Oversampling for ML Why regenerated communities exist and how they feed the re-profiler.
Manual: abundance table generation with R samovaR / GMrepo / samovar_boil (R branch). Install with ./install.sh R-package.

Examples (repo, not wiki pages)

Example What it shows
Full list examples/README.md
examples/toy/ generate → prepare → exec
examples/scoring/ Choosing and comparing annotators
examples/reprofiling/ Custom ML reprofiler
examples/phage/ Named databases and reindex
examples/databases_comparison/ Same community, several Kraken2 indexes
examples/realistic/ NCBI genomes with public Kraken2/Kaiju indexes

Typical path

  1. How to install./install.sh
  2. examples/README.mdbash examples/toy/pipeline.sh
  3. Point classifiers at indexes: Custom tools import (--type database) and Configs & data
  4. Genome cache / reindex: SAMOVAR database
  5. Scores and regeneration: How we score, Metagenome (re-)generation

Source tree: github.com/ctlab/samovar. Cite SamovaR and every annotator you ran in the ensemble.

Clone this wiki locally