a-ludi/dentist

'Wildcards' object has no attribute 'memory'

cassondranewman opened this issue · 2 comments

Hello,

I have been attempting to get dentist to complete on a cluster managed by slurm. Dentist fails with this message:

WorkflowError in line 562 of /lustre/project/gbru/gbru_X/RawData/dentist/Snakefile:
'Wildcards' object has no attribute 'memory'
  File "/software/7/apps/snakemake/5.25.0/lib/python3.8/site-packages/snakemake/executors/__init__.py", line 111, in run_jobs
  File "/software/7/apps/snakemake/5.25.0/lib/python3.8/site-packages/snakemake/executors/__init__.py", line 920, in run

I am worried that dentist/snakemake is not "seeing" the cluster.yml file which lists memory for the workflow. How can I fix this so that I can run dentist to completion?

My stderr, script, config.yaml, cluster.yml and snakemake.yml files are attached.
stderr.txt
Dentist_Script.txt
config.yaml.txt
cluster.txt
snakemake.txt

Generally speaking, this error occurs usually if Snakemake attempts to execute a rule on the cluster for which there is no proper entry in cluster.yml. The violating rule is the last one listed in the Snakemake log, in this example it is mask_tandem. A direct fix for the issue is to insert an appropriate section into cluster.yml, e.g.:

mask_tandem:
    memory:     8192
    time:       "00:30"

That said, it seems your specific problem occurred because the Snakefile and cluster.yml are out of sync (Snakefile is older than the cluster.yml). Please make sure you are using dentist, Snakefile and cluster.yml from the same git commit. If the issue persists, please report back and I will fix the cluster.yml in the repo.

After working with my cluster admin and adding more sections to the cluster.yml, the job was able to complete. Thank you for your help.