Skip to content

Repository files navigation

PROBEAT

PROBEAT logo

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.

PROBEAT workflow

PROBEAT new analysis screen

PROBEAT dashboard screen

✨📘 VIEW SAMPLE PDF BOOKLET REPORT

Workflow Programs

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.

Requirements

  • 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: 84G
  • eggnog: 59G
  • antismash: 9.4G
  • dbcan_v5: 7.4G
  • kofam: 7.2G
  • gutsmash: 3.8G

Medium-sized database groups:

  • mob_suite: 2.9G
  • sourmash: 2.9G
  • dbcan: 2.3G
  • fastani_ncbi: 1.8G
  • genomad: 1.4G

Quickstart

Clone the repository:

git clone https://github.com/vebaev/PROBEAT.git
cd PROBEAT

Create the local environment file:

cp .env.example .env

Build the full Docker image:

docker build --build-arg INSTALL_PROFILE=full -t probeat:full .

Download all required databases:

docker-compose run --rm database-init

Verify the downloaded databases:

docker-compose run --rm database-manager

Start the application stack:

docker-compose up -d redis worker streamlit

Check that the web UI is healthy:

curl http://localhost:9797/_stcore/health

Open the interface:

http://localhost:9797

Validate Installation

Run the full runtime doctor:

docker-compose run --rm worker ./probeat doctor --profile full --strict

Run 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 2

Data Locations

The 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.

Troubleshooting

Check container status:

docker-compose ps

Check Streamlit logs:

docker logs --tail=120 probeat-streamlit-1

Check worker logs:

docker logs --tail=120 probeat-worker-1

Re-run database verification:

docker-compose run --rm database-manager

If a workflow step fails, inspect:

storage/results/<sample>/run/probeat.log
storage/logs/

License

See LICENSE.

Citation

See CITATION.cff.

Workflow Tool Sources

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

About

PRObiotic Bacterial gEnome Analysis Toolkit (PROBEAT)

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages