A repository of production-ready Docker and Singularity containers for proteomics tools, including DIA-NN and OpenMS.
This repository provides containerized versions of popular proteomics tools:
- DIA-NN: A powerful software solution for analyzing DIA proteomics data
- OpenMS: A versatile open-source software for mass spectrometry data analysis
These containerized versions offer:
- Simplified installation and deployment
- Consistent runtime environment across platforms
- Pre-configured dependencies and optimizations
- Automatic builds and releases via GitHub Actions
- Both Docker and Singularity container formats
Important: Due to licensing restrictions, DiaNN containers are not publicly distributed. Users must build these containers locally:
# Build Docker container
cd diann-2.1.0/
docker build -t diann:2.1.0 .
# Build Singularity container from Docker
singularity build diann-2.1.0.sif docker-daemon://diann:2.1.0
OpenMS containers are publicly available and can be pulled directly:
Container Type | Version | URL |
---|---|---|
Docker | date-tagged | ghcr.io/bigbio/openms-tools-thirdparty:YYYY.MM.DD |
Docker | latest | ghcr.io/bigbio/openms-tools-thirdparty:latest |
Singularity | date-tagged | oras://ghcr.io/bigbio/openms-tools-thirdparty-sif:YYYY.MM.DD |
Singularity | latest | oras://ghcr.io/bigbio/openms-tools-thirdparty-sif:latest |
The date tag (YYYY.MM.DD) is manually set for each release to ensure version stability.
Please note the following license restrictions:
- DIA-NN: Please review the DIA-NN 2.1.0 license before using
- OpenMS: OpenMS is available under the BSD 3-Clause License
- Base Image:
ubuntu:22.04
- Available Version: DIA-NN 2.1.0
- Architecture Support:
amd64
/x86_64
- Sourced from:
ghcr.io/openms/openms-tools-thirdparty
- Architecture Support:
amd64
/x86_64
# Pull DIA-NN Docker image
docker pull ghcr.io/bigbio/diann:latest
# Pull OpenMS Docker image
docker pull ghcr.io/bigbio/openms-tools-thirdparty:latest
# Pull OpenMS Singularity image
singularity pull openms.sif oras://ghcr.io/bigbio/openms-tools-thirdparty-sif:latest
# Build DIA-NN 2.1.0
cd diann-2.1.0/
docker build -t diann:2.1.0 .
# View DIA-NN help
docker run -it diann:2.1.0 diann --help
# Process data (example)
docker run -v /path/to/data:/data -it ghcr.io/bigbio/diann:latest diann \
--f /data/input.raw \
--lib /data/library.tsv \
--out /data/results.tsv
After you build your container, you chave to add a custom configuration file to resolve the diann container. You can do this by creating a file called diann_config.yml
in the quantms
directory. The content of the file should be:
process {
withLabel: diann {
container = '/path-singularity-file/diann-2.0.0.sif'
}
}
Please check quantms documentation for more information about how to run the pipeline with custom configurations.
# View OpenMS tools
docker run -it ghcr.io/bigbio/openms-tools-thirdparty:latest ls /usr/local/bin/
# Run an OpenMS tool (example)
docker run -v /path/to/data:/data -it ghcr.io/bigbio/openms-tools-thirdparty:latest \
PeakPickerHiRes -in /data/input.mzML -out /data/output.mzML
When processing data, mount your local directories using Docker volumes:
docker run -v /local/path:/container/path -it ghcr.io/bigbio/diann:latest diann [commands]
This repository includes a GitHub Actions workflow that builds and syncs all containers:
QuantMS Containers Build and Sync: A combined workflow that:
- First builds and pushes DIA-NN Docker and Singularity containers
- Then syncs OpenMS containers from the official repository to BigBio
The workflow is triggered by:
- Pushes to the main branch
- Pull requests (for DiaNN builds only)
- Release events (which also tag images as "latest")
- Manual dispatch with configurable options
This sequential approach ensures that all containers are built and pushed in a coordinated manner.
- Memory Allocation: Ensure sufficient memory is allocated to Docker
- Storage: Use fast storage (SSD recommended) for data directories
- CPU: These tools benefit from multiple cores; allocate accordingly
- Temp Files: Consider mounting a temp directory for large analyses
Common issues and solutions:
-
Permission Errors
# Fix file ownership issues chown -R $(id -u):$(id -g) /path/to/output
-
Memory Issues
- Increase Docker memory allocation in Docker Desktop settings
- Use
--memory
flag to specify container memory limit
-
OpenMS Singularity Pull Issues
If you encounter an error when pulling OpenMS Singularity images:
FATAL: While pulling image from oci registry: error fetching image to cache: failed to get checksum for oras://ghcr.io/bigbio/openms-tools-thirdparty-sif:YYYY.MM.DD: GET https://ghcr.io/v2/bigbio/openms-tools-thirdparty-sif/manifests/YYYY.MM.DD: DENIED: requested access to the resource is denied
Try the following:
- Verify you're using the correct date tag format (YYYY.MM.DD)
- Check the workflow logs to confirm the exact version tag that was published
- If using Nextflow, try increasing the pull timeout:
nextflow run bigbio/quantms -r dev -profile test_lfq,singularity -with-singularity --singularity.pullTimeout '2h'
- If the issue persists, please open an issue on the GitHub repository
-
DiaNN Container Issues
Remember that DiaNN containers must be built locally due to licensing restrictions:
- Follow the build instructions in the "DiaNN Containers" section
- For quantms pipeline, specify your local DiaNN container path in a custom config file:
process { withLabel: diann { container = '/path-to-your-singularity-file/diann-2.1.0.sif' } }
- Yasset Perez-Riverol (@ypriverol) - ypriverol@gmail.com
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
If you use these containers in your research, please cite:
@software{quantms_docker,
author = {Perez-Riverol, Yasset},
title = {QuantMS Docker Containers},
year = {2025},
url = {https://github.com/ypriverol/quantms-docker}
}