snakemake настраивает временной предел на основе попытки перезапуска

#python #bioinformatics #slurm #snakemake

#python #биоинформатика #slurm #snakemake

Вопрос:

У меня есть рабочий процесс, который требует смущающе параллельного шага с различными требованиями к ресурсам (памяти и времени) для кластера slurm. Я оформил рабочий процесс в соответствии с документацией:

 rule freebayes:
    ...
    resources:
        mem = lambda wildcards, attempt: attempt * 6144,
        time = lambda wildcards, attempt: attempt * 12 * 60
    ...
 

Это успешно отправлено, и требование к памяти запрошено правильно, но time для требования установлено значение по умолчанию в файле конфигурации. В журнале кажется, что все в порядке:

 resources: mem=6144, time=720
 

Я также попытался запросить время в виде строки:

 time = lambda wildcards, attempt: str(attempt * 12)   ":00:00"
 

который также отправил ok, но по-прежнему установлен на время по умолчанию.

Что я делаю не так?

Ответ №1:

Я только что заметил, что я делал неправильно. Мой cluster.json переопределял запрос из-за следующей строки:

 "__default__":
{
    "time": "24:00",
},
 

Я удалил его, и теперь он работает нормально.