yanhui09 / laca

A reproducible and scalable workflow for Long Amplicon Consensus Analysis (LACA)
GNU General Public License v3.0
7 stars 2 forks source link

Run without singularity requirement #5

Open Irsan88 opened 7 months ago

Irsan88 commented 7 months ago

Hi, I am trying to run the laca workflow in an execution environment where I am not allowed (nor able) to run the docker container with --privileged enabled, and therefore the steps that are run in a singularity container fail, see below error message:

FATAL: while extracting /database/singularity_envs/be79a9f6f5e87678ce46ad686c92cb19.simg: root filesystem extraction failed: extract command failed: ERROR : Failed to create user namespace: user namespace requires to set /proc/sys/kernel/unprivileged_userns_clone to 1

Is there any way to circumvent the use of singularity in the workflow?

yanhui09 commented 7 months ago

Hi Irsan

Thank you for your interest in LACA. singularity is mainly used to support guppy. You probably could avoid it if you start with a demultiplexed run.

Regarding the namespace issue, this (https://github.com/apptainer/singularity/issues/5240#issuecomment-618405898) may help.

Irsan88 commented 6 months ago

I thought about that, but how about the mashclust rule?

yanhui09 commented 6 months ago

em... yes, you are right. You couldn't use meshclust without singularity I considered building it with conda. But I couldn't get response from the author (https://github.com/BioinformaticsToolsmith/Identity/issues/17#issuecomment-1708296574). 😢

Irsan88 commented 6 months ago

I tried running without meshcluster by running

laca init --cluster isONclust -x /inputs -d /database -w ./output --ont && laca run all -w ./output

but then I got below error:

image

Is there a way to run without meshclust?

yanhui09 commented 6 months ago

The philosophy is to use meshclust to filter possib outliers. (https://github.com/yanhui09/laca/blob/3037b358d379a6e575a83852f439ace3dbd67df8/laca/workflow/rules/clust.smk#L4-L5)

Thus, meshclust is required for laca at this moment. 😢