CCBR / XAVIER

An easy-to-use, flexible variant calling pipeline for use on the Biowulf cluster at NIH
https://ccbr.github.io/XAVIER/
MIT License
1 stars 3 forks source link

KeyError in somatic variant calling rules in FRCE #41

Closed samarth8392 closed 1 year ago

samarth8392 commented 1 year ago

Working with XAVIER frce_test branch (that was previously merged with hotfix) and running xavier on frce with hg38 data.

srun -N 1 -n 2 --time=12:00:00 --mem=16gb --pty bash

module purge
module load singularity snakemake
cd /scratch/cluster_scratch/mathurs2/techDev/
# hg38 #
/scratch/cluster_scratch/mathurs2/XAVIER/xavier run \
--input data/*.R?.fastq.gz \
--output runs/hg38.cli.tp.r4 \
--genome hg38 \
--pairs pairs.txt \
--tmp-dir /scratch/cluster_scratch/$USER/ \
--targets Twist_Exome_Core_Covered_Targets_hg38.bed \
--mode slurm \
--sif-cache /mnt/projects/CCBR-Pipelines/SIFs/XAVIER/ \
--runmode run  #init/drunrun/run

The pipeline runs with many failed steps. see: /scratch/cluster_scratch/mathurs2/techDev/runs/hg38.cli.tp.r4/logfiles

And the slurm errors files say:

Config file config.json is extended by additional config specified via the command line.
Building DAG of jobs...
InputFunctionException in line 396 of /scratch/cluster_scratch/mathurs2/techDev/runs/hg38.cli.tp.r4/workflow/rules/somatic_snps.paired.smk:
Error:
  KeyError: 'sample1-tumor'
Wildcards:
  samples=sample1-tumor
  chroms=chr6
Traceback:
  File "/scratch/cluster_scratch/mathurs2/techDev/runs/hg38.cli.tp.r4/workflow/rules/somatic_snps.paired.smk", line 400, in <lambda>

Thoughts?

kelly-sovacool commented 1 year ago

This is bizarre. The line that threw that exception is this: https://github.com/CCBR/XAVIER/blob/72d41af65c3484ff6c206577c80edb82317d54c7/workflow/rules/somatic_snps.paired.smk#L400

i.e. it's saying that 'sample1-tumor' isn't a key in the dictionary. But if I edit the main Snakefile at /scratch/cluster_scratch/mathurs2/techDev/runs/hg38.cli.tp.r4/workflow/Snakefile to print out pairs_dict and do a dry run, it's in there:

pairs_dict: {'sample1-tumor': 'sample1-normal', 'sample2-tumor': 'sample2-normal'}
kelly-sovacool commented 1 year ago

I submitted a job on biowulf using the frce_test branch -- in theory it should work there too. Edit: actually it's failing due to #40

Unsure if it matters but there is a difference in snakemake versions:

biowulf frce
7.19.1 7.3.8

Edit: XAVIER on FRCE actually uses /mnt/projects/CCBR-Pipelines/bin/snakemake which is v6.2.1.

samarth8392 commented 1 year ago

Tried re-running the same command but could not reproduce the error.