Docker image for Centrifuger taxonomic classifier using Pixi package manager with Bioconda, including Picard tools for BAM→FASTQ conversion.
- Centrifuger (v1.0.12+): Taxonomic classifier for metagenomic sequencing reads
- Picard (picard-slim v3+): Java tools for BAM→FASTQ conversion via SamToFastq
docker pull ghcr.io/broadinstitute/docker-centrifuger:latestAvailable tags: latest, 1, 1.0, 1.0.0 (semver)
docker build -t centrifuger:latest .docker run --rm centrifuger:latestdocker run --rm -v /path/to/data:/data centrifuger:latest \
centrifuger -x /data/index -1 /data/reads_1.fq -2 /data/reads_2.fq -t 8 -o /data/resultsdocker run --rm -v /path/to/data:/data centrifuger:latest \
picard SamToFastq I=/data/input.bam FASTQ=/data/R1.fq SECOND_END_FASTQ=/data/R2.fqdocker run --rm -it --entrypoint bash centrifuger:latesttask bamToFastq {
File bam_file
String output_prefix = "output"
command {
picard SamToFastq I=${bam_file} FASTQ=${output_prefix}_R1.fq SECOND_END_FASTQ=${output_prefix}_R2.fq
}
runtime {
docker: "centrifuger:latest"
}
output {
File fastq_r1 = "${output_prefix}_R1.fq"
File fastq_r2 = "${output_prefix}_R2.fq"
}
}task classify {
File fastq_r1
File fastq_r2
File centrifuger_index
Int threads = 8
command {
centrifuger -x ${centrifuger_index} -1 ${fastq_r1} -2 ${fastq_r2} -t ${threads} > results.tsv
}
runtime {
docker: "centrifuger:latest"
}
output {
File results = "results.tsv"
}
}| Command | Description |
|---|---|
centrifuger |
Taxonomic classification |
centrifuger-build |
Build custom index |
centrifuger-quant |
Quantification |
picard SamToFastq |
BAM to FASTQ conversion |
The entrypoint activates the Pixi environment and uses exec "$@" to pass through any command:
# Default: runs centrifuger --help
docker run centrifuger:latest
# Explicit commands
docker run centrifuger:latest centrifuger-build --help
docker run centrifuger:latest picard SamToFastq --helpThis design is ideal for WDL/CWL pipelines where the workflow engine specifies the command.