Snakemake-Profiles / slurm

Cookiecutter for snakemake slurm profile
MIT License
126 stars 44 forks source link

Submission fails if memory UNIT is used (e.g. mem: 1000M) #62

Closed sschmeier closed 3 years ago

sschmeier commented 3 years ago

the comparision

https://github.com/Snakemake-Profiles/slurm/blob/f9c28508c445bcbb8e9d35021feaef6ccf86ac24/%7B%7Bcookiecutter.profile_name%7D%7D/slurm_utils.py#L306

fails if a memory unit is used, (e.g. mem: 1000M) as its a string then and you compare str to int.

percyfal commented 3 years ago

This is indeed currently a missing feature, even if the docs would suggest that this is possible ("correct unit/format as expected by sbatch") - my apologies for being unclear on this matter. I presume you are setting the values in the cluster configuration file?

sschmeier commented 3 years ago

Yes that is right. I know it's an easy workaround with setting values to int values. But maybe a check would be appropriate?

sschmeier commented 3 years ago

I know it's the wrong place but I also I fail to understand why the profile does not try to map more slurm parameters?

Could that not be an option? Then it could be used with resources for example.

percyfal commented 3 years ago

Yes that is right. I know it's an easy workaround with setting values to int values. But maybe a check would be appropriate?

I have added preliminary support for units currently being tested in branch cookiecutter-config.

I know it's the wrong place but I also I fail to understand why the profile does not try to map more slurm parameters?

Could that not be an option? Then it could be used with resources for example.

A previous implementation did just that, but after pull request #33 (see discussion) the conclusion was that users set these in the sbatch defaults. I'm certainly open for suggestions though, and similar comments regarding resources have been made.