From f469045a95aad1ce911f0e6db7393800535935d2 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 17 Mar 2022 13:08:51 +0100 Subject: [PATCH] Fix DeepARG depenency issue with singularity containers (#1397) * fix: remove left-over unnecessary code * Adds --fakeroot option for singularity usage with DeepARG as workaround for broken conda dependency * Update modules/deeparg/downloaddata/main.nf Co-authored-by: Moritz E. Beber * Update modules/deeparg/predict/main.nf Co-authored-by: Moritz E. Beber * Apply suggestions from code review * Update main.nf * Update main.nf * Update main.nf * Update main.nf * Go back to original logic Co-authored-by: Moritz E. Beber --- modules/deeparg/downloaddata/main.nf | 6 ++++++ modules/deeparg/predict/main.nf | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/modules/deeparg/downloaddata/main.nf b/modules/deeparg/downloaddata/main.nf index aacdc778..78208d21 100644 --- a/modules/deeparg/downloaddata/main.nf +++ b/modules/deeparg/downloaddata/main.nf @@ -7,6 +7,12 @@ process DEEPARG_DOWNLOADDATA { container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/deeparg:1.0.2--pyhdfd78af_1' : 'quay.io/biocontainers/deeparg:1.0.2--pyhdfd78af_1' }" + /* + We have to force singularity to run with --fakeroot to allow reading of a problematic file with borked read-write permissions in an upstream dependency (theanos). + This flag may not be available on all systems and may be considered a security problem. so please document and /or warn for this in your pipeline! + */ + containerOptions { "${workflow.containerEngine}" == 'singularity' ? '--fakeroot' : '' } + input: diff --git a/modules/deeparg/predict/main.nf b/modules/deeparg/predict/main.nf index 3e478e59..05cee2f8 100644 --- a/modules/deeparg/predict/main.nf +++ b/modules/deeparg/predict/main.nf @@ -8,6 +8,11 @@ process DEEPARG_PREDICT { container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity//deeparg:1.0.2--pyhdfd78af_1' : 'quay.io/biocontainers/deeparg:1.0.2--pyhdfd78af_1' }" + /* + We have to force singularity to run with --fakeroot to allow reading of a problematic file with borked read-write permissions in an upstream dependency (theanos). + This flag may not be available on all systems and may be considered a security problem. so please document and /or warn for this in your pipeline! + */ + containerOptions { "${workflow.containerEngine}" == 'singularity' ? '--fakeroot' : '' } input: tuple val(meta), path(fasta), val(model)