
The WILDS Docker Library is a curated collection of Docker images for reproducible bioinformatics workflows, providing versioned, security-scanned containers for many popular bioinformatics tools.
You can:
Docker containers package software with all its dependencies into a standardized unit. This means:
For bioinformatics workflows, containers are essential for reproducibility—they ensure your analysis produces the same results regardless of where it runs.
The library includes 30+ Docker images for popular bioinformatics tools:
getwilds/bwa) - Burrows-Wheeler Aligner for DNA sequencesgetwilds/star) - RNA-seq aligner with two-pass methodologygetwilds/hisat2) - Graph-based alignment for RNA-seqgetwilds/gatk) - Genome Analysis Toolkit for variant discoverygetwilds/bcftools) - VCF/BCF file manipulation and callinggetwilds/strelka) - Small variant calling for germline and somatic variantsgetwilds/varscan) - Variant detection in massively parallel sequencinggetwilds/manta) - Structural variant and indel discoverygetwilds/delly) - Integrated structural variant predictiongetwilds/smoove) - SV calling and genotyping wrappergetwilds/annovar) - Functional annotation of genetic variantsgetwilds/annotsv) - Structural variant annotation and rankinggetwilds/cnvkit) - Copy number variation detection from targeted DNA sequencinggetwilds/ichorcna) - Tumor fraction and copy number alteration detectiongetwilds/hmmcopy) - Copy number prediction with correction for GC and mappabilitygetwilds/samtools) - Reading, writing, and manipulating SAM filesgetwilds/picard) - Java tools for manipulating high-throughput sequencing datagetwilds/biobambam2) - Tools for BAM file processinggetwilds/cellranger) - 10x Genomics single-cell analysis pipelinegetwilds/scanpy) - Single-cell analysis in Pythongetwilds/scvi-tools) - Deep generative models for single-cell omicsgetwilds/deseq2) - Differential gene expression analysisgetwilds/rnaseqc) - RNA-seq quality control metricsgetwilds/combine-counts) - Combine count matrices from multiple samplesgetwilds/sra-tools) - NCBI Sequence Read Archive toolkitgetwilds/awscli) - Amazon Web Services command line interfacegetwilds/bedtools) - Genome arithmetic and interval operationsgetwilds/umi-tools) - Tools for handling Unique Molecular Identifiersgetwilds/sourmash) - k-mer analysis for genomic comparisonsgetwilds/shapemapper) - RNA structure mapping analysisgetwilds/gtf-smash) - GTF file manipulationgetwilds/arcpy) - Python package for spatial analysis| Browse all available images on Docker Hub → | View Dockerfiles on GitHub → |
To use these images, you’ll need Docker installed on your system. Download and install Docker Desktop for your operating system (Windows, Mac, or Linux). For HPC environments that use Singularity/Apptainer instead, see the section below.
Pull and run any image from Docker Hub or GitHub Container Registry:
# Pull from Docker Hub
docker pull getwilds/star:2.7.6a
# Pull from GitHub Container Registry
docker pull ghcr.io/getwilds/star:2.7.6a
# Run a tool (example: STAR alignment)
docker run --rm -v /path/to/data:/data getwilds/star:2.7.6a \
STAR --runThreadN 4 \
--genomeDir /data/genome \
--readFilesIn /data/reads_1.fq /data/reads_2.fq \
--outFileNamePrefix /data/output/
For HPC environments that use Singularity or Apptainer (including the Fred Hutch Gizmo cluster):
# Pull from Docker Hub
apptainer pull docker://getwilds/star:2.7.6a
# Pull from GitHub Container Registry
apptainer pull docker://ghcr.io/getwilds/star:2.7.6a
# Run a tool
apptainer run --bind /path/to/data:/data docker://getwilds/star:2.7.6a \
STAR --runThreadN 4 \
--genomeDir /data/genome \
--readFilesIn /data/reads_1.fq /data/reads_2.fq \
--outFileNamePrefix /data/output/
Containers are automatically pulled when specified in WDL workflows:
task star_align {
input {
File genome_dir
File read1
File read2
}
command {
STAR --runThreadN 4 \
--genomeDir ~{genome_dir} \
--readFilesIn ~{read1} ~{read2} \
--outFileNamePrefix output/
}
runtime {
docker: "getwilds/star:2.7.6a"
}
output {
File aligned_bam = "output/Aligned.out.bam"
}
}
All WILDS WDL Library workflows use containers from this library automatically.
The WILDS Docker Library welcomes contributions from the Fred Hutch community and beyond! Whether you want to add a new tool, update an existing image, or improve documentation, we provide templates and testing tools to help you through the process.
Use our template: Start with our comprehensive Dockerfile template that includes detailed guidance and examples
# See all available commands
make help
# Test a specific image: lint and build for both architectures
make validate IMAGE=toolname
Before submitting contributions, you can test Docker images locally using our automated Makefile:
# Lint Dockerfiles for best practices
make lint IMAGE=toolname
# Build for both AMD64 and ARM64 architectures
make build IMAGE=toolname
# Full validation: lint + build for both platforms
make validate IMAGE=toolname
# Clean up test images
make clean IMAGE=toolname
The Makefile handles multi-platform builds, dependency checking, and cleanup automatically, ensuring your contributions meet WILDS standards before submission.
See our Contributing Guidelines for detailed requirements and best practices.
1.19, latest) for easy referenceHow do I know which version to use?
Each tool’s directory in the GitHub repository contains a README listing available versions. The WILDS WDL Library modules specify tested version combinations. You can also use latest for the most recent build, though pinning specific versions is recommended for reproducibility.
Can I request a new tool or version?
Absolutely! File an issue with your request, or contact us at wilds@fredhutch.org. We prioritize tools that benefit the Fred Hutch research community.
How do I contribute my own Dockerfiles?
We welcome contributions! We’ve streamlined the process to make it easy:
Start with our template: Use the comprehensive Dockerfile template that includes step-by-step guidance, best practices, and examples for different tool types
make validate IMAGE=toolname
This automatically lints your Dockerfile and builds for both AMD64 and ARM64 architectures
For detailed guidance, see our Contributing Guidelines, or contact us at wilds@fredhutch.org.
Do containers work on Fred Hutch systems?
Yes! Containers work with:
What’s the difference between Docker Hub and GitHub Container Registry?
Both registries host identical images, but we recommend using Docker Hub as your primary source for better reliability and performance:
docker pull getwilds/toolname:versiondocker pull ghcr.io/getwilds/toolname:versionDocker Hub provides more robust infrastructure for container distribution and is the standard for most containerized workflows. Use GitHub Container Registry if you prefer GitHub’s ecosystem or experience issues with Docker Hub.
Do these containers work on Apple Silicon (M1/M2/M3) Macs or ARM-based systems?
Most WILDS Docker images support both linux/amd64 (Intel/AMD) and linux/arm64 (ARM) architectures, so they’ll work natively on Apple Silicon Macs and ARM-based HPC systems. However, some tools have platform-specific limitations:
AMD64-only images (won’t run natively on ARM):
These limitations are due to architecture-specific code optimizations, compilation issues, or build resource constraints. Each tool’s README includes a “Platform Availability” section when restrictions apply. Docker Desktop on Apple Silicon can run AMD64 images through emulation, though with reduced performance.
For ARM-specific support requests, file an issue or contact wilds@fredhutch.org.
The library uses GitHub Actions to maintain quality and security: