2016-11-23 16 views
0

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

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

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

Проблема заключается в том, что некоторые из правил/работ требуют меньше или больше ресурсов. Я, однако, что, если бы я использовал файл json cluster, я мог бы отправлять задания с разными ресурсами. Мой файл 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. Посмотрите на the corresponding section in the documentation еще раз.

Может быть, пример делает вещи яснее:

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

{ 
    "__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

+1

Смотрите также ответ Саймона в вашем КРОССПОСТИНГ: https://groups.google.com/forum/#!topic/snakemake/D4enw1jt7iQ – Andreas