From bcbdb0bc44746961838f9603e42d0e171407c740 Mon Sep 17 00:00:00 2001 From: Lars Bilke Date: Wed, 15 Jun 2022 15:00:37 +0200 Subject: [PATCH] fix: allow apptainer as a successor to singularity. (#1706) Closes #1570. --- snakemake/deployment/singularity.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/snakemake/deployment/singularity.py b/snakemake/deployment/singularity.py index 801e09849..71c692907 100644 --- a/snakemake/deployment/singularity.py +++ b/snakemake/deployment/singularity.py @@ -173,9 +173,14 @@ def check(self): raise WorkflowError( "Failed to get singularity version:\n{}".format(e.stderr.decode()) ) - v = v.rsplit(" ", 1)[-1] - if v.startswith("v"): - v = v[1:] - if not LooseVersion(v) >= LooseVersion("2.4.1"): - raise WorkflowError("Minimum singularity version is 2.4.1.") + if v.startswith("apptainer"): + v = v.rsplit(" ", 1)[-1] + if not LooseVersion(v) >= LooseVersion("1.0.0"): + raise WorkflowError("Minimum apptainer version is 1.0.0.") + else: + v = v.rsplit(" ", 1)[-1] + if v.startswith("v"): + v = v[1:] + if not LooseVersion(v) >= LooseVersion("2.4.1"): + raise WorkflowError("Minimum singularity version is 2.4.1.") self._version = v