A repository of production-ready Docker and Singularity containers for proteomics tools used in quantms pipelines, including DIA-NN, Relink, and OpenMS.
This repository provides containerized versions of popular proteomics tools:
- DIA-NN: A powerful software solution for analyzing DIA proteomics data
- Relink: Crosslinking mass spectrometry analysis pipeline (xiSEARCH, xiFDR, Scout)
- 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, DIA-NN containers are not publicly distributed. Users must build these containers locally or have access to the private ghcr.io/bigbio/diann registry.
| Version | Directory | Key Features | Container Tag |
|---|---|---|---|
| 1.8.1 | diann-1.8.1/ |
Core DIA-NN, library-free analysis | ghcr.io/bigbio/diann:1.8.1 |
| 1.9.2 | diann-1.9.2/ |
QuantUMS quantification, redesigned NN | ghcr.io/bigbio/diann:1.9.2 |
| 2.0.2 | diann-2.0/ |
Parquet output, proteoform confidence | ghcr.io/bigbio/diann:2.0.2 |
| 2.1.0 | diann-2.1.0/ |
Native .raw on Linux | ghcr.io/bigbio/diann:2.1.0 |
| 2.2.0 | diann-2.2.0/ |
Latest release | ghcr.io/bigbio/diann:2.2.0 |
# Build Docker container locally
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.0The Relink container provides a complete crosslinking mass spectrometry analysis environment.
| Component | Version | Description |
|---|---|---|
| xiSEARCH | 1.8.11 | Crosslink identification search engine |
| xiFDR | 2.3.10 | FDR estimation for crosslinked peptides |
| Scout | 2.0.0 | Crosslink analysis tool |
| pyOpenMS | latest | Python bindings for OpenMS |
| .NET Runtime | 9.0 | Required by Scout |
| Java JRE | 21 | Required by xiSEARCH and xiFDR |
| Container Type | Tag | URL |
|---|---|---|
| Docker | 1.0.0 | ghcr.io/bigbio/relink:1.0.0 |
| Docker | latest | ghcr.io/bigbio/relink:latest |
| Singularity | 1.0.0 | oras://ghcr.io/bigbio/relink-sif:1.0.0 |
# Pull Relink Docker image
docker pull ghcr.io/bigbio/relink:latest
# Run xiSEARCH
docker run -v /path/to/data:/data ghcr.io/bigbio/relink:latest \
java -jar /opt/xisearch/xiSEARCH.jar --help
# Run Scout
docker run -v /path/to/data:/data ghcr.io/bigbio/relink:latest \
dotnet /opt/scout/Scout_Unix.dll --helpOpenMS 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: Custom academic license with restrictions. Please review the DIA-NN license before using. No commercial use or cloud deployment without collaboration agreement.
- Relink/xiSEARCH/xiFDR/Scout: Please review the individual tool licenses
- OpenMS: Available under the BSD 3-Clause License
- Base Image:
ubuntu:22.04 - Available Versions: 1.8.1, 1.9.2, 2.0.2, 2.1.0, 2.2.0
- Architecture:
amd64/x86_64
- Base Image:
python:3.12-slim(multi-stage build) - Version: 1.0.0
- Architecture:
amd64/x86_64 - Includes: Java 21, .NET 9.0, Python 3.12, pyOpenMS, polars, pandas
- Sourced from:
ghcr.io/openms/openms-tools-thirdparty - Architecture:
amd64/x86_64
The workflow in .github/workflows/quantms-containers.yml is configured to build and push
DIA-NN containers to the private ghcr.io/{owner}/diann and ghcr.io/{owner}/diann-sif
registries. To access these
containers, which runs the action in your own GitHub organization. If this fails,
you will need to configure the packages on ghcr.io to allow pushing from
the GitHub Actions. This can be configured for the entire organization or for each
package individually. Please refer to the
GitHub documentation
for more details. See also the gif for details on the biosustain fork (do it for both
diann and diann-sif packages):
Below you then need to replace
bigbiowith your GitHub username or organization name in the container tags.
# Pull DIA-NN Docker image (requires GHCR access)
docker pull ghcr.io/bigbio/diann:2.1.0
# Pull Relink Docker image
docker pull ghcr.io/bigbio/relink:latest
# Pull OpenMS Docker image
docker pull ghcr.io/bigbio/openms-tools-thirdparty:latest# Build DIA-NN (any version)
cd diann-2.1.0/ && docker build -t diann:2.1.0 .
# Build Relink
cd relink-1.0.0/ && docker build -t relink:1.0.0 .docker run -v /path/to/data:/data ghcr.io/bigbio/diann:2.1.0 diann \
--f /data/input.raw \
--lib /data/library.tsv \
--out /data/results.tsvAfter building your container, create a custom configuration file to override the DIA-NN container:
process {
withLabel: diann {
container = '/path-singularity-file/diann-2.1.0.sif'
}
}Please check quantmsdiann documentation for more information.
# Run xiSEARCH
docker run -v /path/to/data:/data ghcr.io/bigbio/relink:latest \
java -jar /opt/xisearch/xiSEARCH.jar [options]
# Run Scout
docker run -v /path/to/data:/data ghcr.io/bigbio/relink:latest \
dotnet /opt/scout/Scout_Unix.dll [options]docker run -v /path/to/data:/data ghcr.io/bigbio/openms-tools-thirdparty:latest \
PeakPickerHiRes -in /data/input.mzML -out /data/output.mzMLWhen processing data, mount your local directories using Docker volumes:
docker run -v /local/path:/container/path -it <container> [commands]This repository includes a GitHub Actions workflow that builds and syncs all containers:
QuantMS Containers Build and Sync: A combined workflow that:
- Builds and pushes DIA-NN Docker and Singularity containers (all versions)
- Builds and pushes Relink Docker and Singularity containers
- Syncs OpenMS containers from the official repository to BigBio
The workflow is triggered by:
- Pushes to the main branch
- Pull requests (for Dockerfile changes)
- Release events (which also tag images as "latest")
- Manual dispatch with configurable options
-
Permission Errors
chown -R $(id -u):$(id -g) /path/to/output
-
Memory Issues: Increase Docker memory allocation in Docker Desktop settings
-
DIA-NN Container Issues: Must be built locally or with GHCR access due to licensing
-
Relink Java/Dotnet Issues: Ensure the container has sufficient memory (recommend >= 4GB)
- 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_containers,
author = {Perez-Riverol, Yasset},
title = {QuantMS Docker Containers},
year = {2025},
url = {https://github.com/bigbio/quantms-containers}
}