Não entendo como especificar corretamente os parâmetros em um cluster SLURM
para snakemake
usá-los. Tentei enviar o seguinte arquivo SLURM
, mas não funciona dessa forma e o número de núcleos usados é apenas 1
, não 20
:
#! / bin / bash # SBATCH -p padrão # SBATCH -A geral #SBATCH --time = 12: 00: 00 # SBATCH --output = snakemake% A.out # SBATCH - -error = snakemake% A.err # SBATCH --nodes = 1 # SBATCH --ntasks = 1 # SBATCH --cpus-per-task = 20 # SBATCH --mem = 120000snakemake
Então, tentei seguir o snakemake
tutorial. E criei cluster.json
com base nos parâmetros SLURM
de que preciso:
{"__default__": {"A": "em geral "," time ":" 24:00:00 "," nodes ": 1," ntasks ": 1," cpus ": 20," p ":" standard "," mem ": 120000," output ": "snakemake% A.out", "error": "snakemake% A.err"}}
E executou snakemake
dentro de um snakemake recém-criado .sh
script:
#! / bin / bashsnakemake -j 999 --cluster-config cluster.json --cluster "sbatch -A {cluster.A} -p { cluster.p} \ -t {cluster.time} --output {cluster.output} --error {cluster.error} - nodes {cluster.nodes} \ - ntasks {cluster.ntasks} --cpus-per -task {cluster.cpus} --mem {cluster.mem} "
E está me dando um erro agora:
sbatch: erro: Não foi possível abrir o arquivo
/ bin / sh: linha 1: -t: comando não encontrado Erro ao enviar jobscript (código de saída 127):
Agora estou completamente perdido no que eu deveria realmente fazer. Eu preferiria o envio de arquivos .slurm
simples, mas como fazer o snakemake
usá-los? Qualquer sugestão seria muito apreciada.
Eu removi \
- separadores de linha no script snakemake.sh
:
#! / bin / bash
snakemake -j 10 --cluster-config cluster.json --cluster "sbatch -A {cluster.A} -p {cluster.p} -t {cluster.time} --output {cluster.output} --error { cluster.error} --nodes {cluster.nodes} --ntasks {cluster.ntasks} --cpus-per-task {cluster.cpus} --mem {cluster.mem} "
E começou a funcionar. Não é conveniente para mim. Prefiro enviar apenas um trabalho usando o arquivo .slurm
passando todos os parâmetros de #SBATCH
. É possível?