PacificBiosciences / pb-human-wgs-workflow-snakemake

DEPRECATED - Workflow for the comprehensive detection and prioritization of variants in human genomes with PacBio HiFi reads
BSD 3-Clause Clear License
38 stars 19 forks source link

Singularity version error/check in process_sample.local.sh #141

Closed ashishjain1988 closed 7 months ago

ashishjain1988 commented 1 year ago

Hi @williamrowell ,

I have the latest singularity version (apptainer version 1.1.3-1.el7) but when I run the process_sample.local.sh I got the singularity version error. "WorkflowError: Minimum singularity version is 2.4.1."

Can you please help me with this?

Regards, Ashish Jain

williamrowell commented 1 year ago

Can you get the output of:

singularity --version

Also, this must be installed by root in order to run correctly.

ashishjain1988 commented 1 year ago

The output is apptainer version 1.1.3-1.el7

williamrowell commented 1 year ago

Hi @ashishjain1988,

So, here's what's going on (thanks to @juniper-lake for digging into this):

McClatcheyM commented 1 year ago

Hi @williamrowell @juniper-lake I've been having a similar, related issue with this and was wondering if you could offer any suggestions FYI, this is for the 3rd of 3 trios that I've recently run using a Slurm HPC. The previous two trios have run fairly successfully. I've been running singularity 3.8.5 as this was a stable and available version and I had wanted to replicate the methodology used for the other families.

Unfortunately the singularity version issue has arisen before I could run this family through end-to-end. It managed to pass through process_smrtcell ok but is causing major problems with process_sample on the first sample of three in the trio.

I've been running singularity 3.8.5 as this was a stable and available version and I had wanted to replicate the methodology used for the other families. Other versions available to me as a University HPC user are: singularity-ce/3.10.2 singularity/apptainer/1.1.2

The main issue appears to arise with the ### deepvariant_make_examples jobs, where these will run across the available nodes in a small batch (1-6) but the workflow will terminate upon completion of the batch without continuing with the raminaing jobs (see screenshot of a failed single job cluster log). Unfortunately this is defeating the point of the workflow currently.

Based on the previous post, I've tried re-setting my conda config .condarc channel priority to strict and have de-bugged the relevant conda environments in rules/envs/*.yaml based on error outputs from running process_sample. The output is still the same - i.e. version control issues with singularity.

Is there another way that I could amend the workflow to account for this version control issue as a short-term fix to complete my priority run?! Any suggestions would be much appreciated. Kind regards, Martin clusterLog_processSample_example

juniper-lake commented 1 year ago

This error happens when snakemake runs the command singularity --version because singularity cannot identify the user. This is therefore an issue that you should discuss with your HPC support. It might be a version issue, but might also be a user permissions problem. Snakemake might be trying to use a singularity installation that wasn't installed by root. Or maybe it's a node-specific issue.

The issue arises only with deepvariant because that's the first step that uses singularity. Conda shouldn't have an impact on it. The singularity version will not affect the workflow in terms of reproducibility, so just use a version that works and make sure it's first place in your PATH.

williamrowell commented 1 year ago

My response above is kind of confusing, so I'll try to clarify a little.