Конфигурация кластера Snakemake в сочетании с DRMMA

У меня есть вопрос, связанный с drmma и файлом конфигурации кластера в snakemake.

В настоящее время у меня есть конвейер, и я отправляю задания в кластер с помощью drmma с помощью следующей команды:

snakemake --drmaa " -q short.q -pe smp 8 -l membycore=4G" --jobs 100 -p file1/out file2/out file3/out

Проблема в том, что некоторые правила / задания требуют меньше или больше ресурсов. Я подумал, что, если бы я использовал файл кластера json, я мог бы отправлять задания с разными ресурсами. Мой файл JSON выглядит так:

{
    "__default__":
    {
        "-q":"short.q",
        "-pe":"smp 1",
        "-l":"membycore=4G"
    },
    "job1":
    {
        "-q":"short.q",
        "-pe":"smp 8",
        "-l":"membycore=4G"
    },
    "job2":
    {
        "-q":"short.q",
        "-pe":"smp 8",
        "-l":"membycore=4G"
    }
}

Когда я запускаю следующую команду, мои задания (job1 и job2) отправляются с параметрами по умолчанию, а не с пользовательскими:

snakemake --jobs 100 --cluster-config cluster.json --drmaa -p file1/out file2/out file3/out

Что я делаю неправильно? Неужели я не могу объединить опцию drmaa с файлом cluster-config?

1 ответ

Решение

Файл конфигурации кластера просто позволяет вам определять переменные, которые позже используются в --cluster/--cluster-sync/--drmaa в зависимости от определенных заполнителей. Здесь нет никакой специфической магии DRMAA. Взгляните на соответствующий раздел документации снова.

Может быть, пример проясняет ситуацию:

Конфигурация кластера:

{
    "__default__":
    {
      "time" : "02:00:00",
      "mem" : 1G,
    },
    # more rule specific definitions here...
}

Пример аргументов snakemake для использования вышеперечисленного:

 --drmaa " -pe OpenMP {threads} -l mem_free={cluster.mem} -l h_rt={cluster.time}"

или же

--cluster-sync "qsub -sync y -pe OpenMP {threads} -l mem_free={cluster.mem} -l h_rt={cluster.time}"

cluster.time а также cluster.mem будут заменены соответственно в соответствии с правилом.

Andreas

Другие вопросы по тегам