chrisquince / STRONG

Strain Resolution ON Graphs
MIT License
44 stars 9 forks source link

snakemake 5.29.0 : keyerror #102

Open Sebastien-Raguideau opened 3 years ago

Sebastien-Raguideau commented 3 years ago

with a fresh install and latest version of snakemake, the 2nd step is failing, not going through the rule select_bins_for_strain_analysis. This in turn trip the start of the step 3 when looking for a file which has not been generated. Upon rerun, snakemake throw :

Traceback (most recent call last):
  File "/home/student/miniconda3/envs/STRONG/lib/python3.7/site-packages/snakemake/__init__.py", line 772, in snakemake
    executesubworkflows=execute_subworkflows,
  File "/home/student/miniconda3/envs/STRONG/lib/python3.7/site-packages/snakemake/workflow.py", line 699, in execute
    dag.update_checkpoint_dependencies()
  File "/home/student/miniconda3/envs/STRONG/lib/python3.7/site-packages/snakemake/dag.py", line 1294, in update_checkpoint_dependencies
    logger.info("Updating job {} ({}).".format(self.jobid(j), j))
  File "/home/student/miniconda3/envs/STRONG/lib/python3.7/site-packages/snakemake/dag.py", line 701, in jobid
    return self._jobid[job]
KeyError: select_bins_for_strain_analysis
Traceback (most recent call last):
  File "../repos/STRONG/bin/STRONG", line 98, in <module>
    call_snake(["--snakefile", "SnakeNest/HeavyLifting.snake"])
  File "../repos/STRONG/bin/STRONG", line 83, in call_snake
    subprocess.check_call(base_params + extra_params, stdout=sys.stdout, stderr=sys.stderr)
  File "/home/student/miniconda3/envs/STRONG/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)

So... snakemake update broke something, unclear what the highest version we can use but the 5.14 is fine.

martijnvanattekum commented 3 years ago

+1. I had the same issue using snakemake 5.30 and rule all after the run failed due to a missing package. It also got resolved by downgrading to 5.14.

Sebastien-Raguideau commented 3 years ago

I'll have a go at this. What package was missing for you? I should add it to the conda_env.yaml for install.

martijnvanattekum commented 3 years ago

thanks! some steps into the pipeline, it took my personal installation of R instead of the one installed via the conda_env.yaml file (my personal installation was first on my PATH). Therefore dplyr was missing.

Sebastien-Raguideau commented 3 years ago

Aouch, this is hard to fix on my end. But I can still try to check installation before running STRONG and inform user of issue. Thanks for feedback :)