PROBEAT (PRObiotic Bacterial gEnome Analysis Toolkit) is a Dockerized Snakemake workflow for bacterial isolate genome analysis with a probiotic interpretation layer, Streamlit web UI, Redis worker, and HTML/PDF reporting.
This repository documents the full Docker profile only. The full profile builds the complete runtime image for Illumina PE/SE, Oxford Nanopore ONT, and HYBRID analyses.
✨📘 VIEW SAMPLE PDF BOOKLET REPORT✨
PROBEAT combines FastQC, fastp, Rasusa, Unicycler, Flye, Medaka, QUAST, Mash, sourmash, BUSCO, Bakta, AMRFinderPlus, ABRicate, KofamScan, KEGGDecoder, dbCAN, eggNOG-mapper, antiSMASH, gutSMASH, BAGEL4, geNomad, GenomeSPOT, FastANI, MOB-suite, GOProbioticProfiler, pyCirclize, and custom reporting scripts to cover QC, assembly, taxonomy, annotation, safety, mobile elements, functional potential, probiotic markers, comparative genomics, genome maps, and final HTML/PDF reports.
- Docker Engine with Docker Compose (
docker-compose) - Internet access for the first image build and database download
- Sufficient disk space for the full image, workflow outputs, and downloaded biological databases (the workflow and databases require about 200 GB of disk space)
- Linux server or workstation recommended for production runs
The databases are not stored in Git and are not baked into the image. They are
downloaded into ./storage/databases by the database-init Compose service.
Largest database groups:
bakta_full:84Geggnog:59Gantismash:9.4Gdbcan_v5:7.4Gkofam:7.2Ggutsmash:3.8G
Medium-sized database groups:
mob_suite:2.9Gsourmash:2.9Gdbcan:2.3Gfastani_ncbi:1.8Ggenomad:1.4G
Clone the repository:
git clone https://github.com/vebaev/PROBEAT.git
cd PROBEATCreate the local environment file:
cp .env.example .envBuild the full Docker image:
docker build --build-arg INSTALL_PROFILE=full -t probeat:full .Download all required databases:
docker-compose run --rm database-initVerify the downloaded databases:
docker-compose run --rm database-managerStart the application stack:
docker-compose up -d redis worker streamlitCheck that the web UI is healthy:
curl http://localhost:9797/_stcore/healthOpen the interface:
http://localhost:9797
Run the full runtime doctor:
docker-compose run --rm worker ./probeat doctor --profile full --strictRun a Snakemake dry-run with the bundled smoke FASTQ:
docker-compose run --rm worker \
workflow/run_sample.sh SMOKE_SE SE tests/data/smoke.fastq \
--dry-run --cores 2The default .env.example keeps runtime data under ./storage:
./storage/uploads: uploaded FASTQ files./storage/results: workflow outputs and reports./storage/databases: downloaded biological databases./storage/logs: workflow and service logs./storage/state: job state files
These directories are intentionally ignored by Git.
Check container status:
docker-compose psCheck Streamlit logs:
docker logs --tail=120 probeat-streamlit-1Check worker logs:
docker logs --tail=120 probeat-worker-1Re-run database verification:
docker-compose run --rm database-managerIf a workflow step fails, inspect:
storage/results/<sample>/run/probeat.log
storage/logs/
See LICENSE.
See CITATION.cff.
| Workflow Tool | Purpose | Output | Source Repository |
|---|---|---|---|
| fastp 1.3.3 | Read trimming | FASTQ QC | https://github.com/OpenGene/fastp |
| Porechop 0.2.4 | Adapter removal | Trimmed FASTQ | https://github.com/rrwick/Porechop |
| Rasusa 2.1.0 | Coverage normalization | Subsampled FASTQ | https://github.com/mbhall88/rasusa |
| Unicycler 0.5.1 | Short/hybrid assembly | Assembly FASTA | https://github.com/rrwick/Unicycler |
| Flye 2.9.6 | ONT assembly | Assembly FASTA | https://github.com/mikolmogorov/Flye |
| Medaka 2.x | Consensus polishing | Polished FASTA | https://github.com/nanoporetech/medaka |
| QUAST 5.3.0 | Assembly statistics | Quality table | https://github.com/ablab/quast |
| BUSCO 6.0.0 | Completeness assessment | BUSCO summary | https://gitlab.com/ezlab/busco |
| Mash 2.3; sourmash 4.9 | Reference matching | Top-hit tables | https://github.com/marbl/Mash; https://github.com/sourmash-bio/sourmash |
| FastANI 1.34 | ANI comparison | ANI table/heatmap | https://github.com/ParBLiSS/FastANI |
| Bakta 1.12.0 | Feature annotation | GFF3/FAA/TSV | https://github.com/oschwengers/bakta |
| eggNOG-mapper 2.1.x | Function assignment | Annotation table | https://github.com/eggnogdb/eggnog-mapper |
| KOfamScan 1.3.0 | KO assignment | KO table | https://github.com/takaram/kofam_scan |
| KEGGDecoder 1.3 | Pathway completeness | Table/SVG | https://github.com/bjtully/BioData/tree/master/KEGGDecoder |
| dbCAN 5.2.9 | Carbohydrate profiling | CAZyme/CGC tables | https://github.com/bcb-unl/run_dbcan |
| AMRFinderPlus 4.2.7 | Resistance detection | AMR table | https://github.com/ncbi/amr |
| ABRicate 1.0.1 | Gene screening | Hit tables | https://github.com/tseemann/abricate |
| MOB-suite 3.1.9 | Plasmid classification | Contig report | https://github.com/phac-nml/mob-suite |
| geNomad 1.x | MGE detection | Plasmid/virus tables | https://github.com/apcamargo/genomad |
| BAGEL4 | Bacteriocin detection | Cluster table | https://github.com/vanheel/BAGEL4 |
| antiSMASH 8.0.4 | BGC detection | Region table | https://github.com/antismash/antismash |
| gutSMASH | Cluster detection | Region table | https://github.com/victoriapascal/gutsmash |
| GenomeSPOT | Condition prediction | Prediction table | https://github.com/cultivarium/GenomeSPOT |
| PGMDB | Marker detection | Marker summary hits | https://github.com/vebaev/PROBEAT |
| GOProbiotic 1.0.0 | Functional profiling | GO tables/plots | https://github.com/vebaev/PROBEAT |
| pyCirclize | Circular mapping | PNG/SVG map | https://github.com/moshi4/pyCirclize |
| MultiQC 1.35 | Report aggregation | HTML report | https://github.com/MultiQC/MultiQC |



