Como usar uma variável com o SLURM sbatch para definir o nome do arquivo de saída / erro?

0

Acabamos de usar o SLURM e gostaríamos de enviar uma série de tarefas usando um loop e sbatch . Anteriormente, eu poderia usar uma variável como parte dos nomes dos arquivos de saída. Eu tenho tentado fazer isso em sbatch usando --export para passar a variável, mas não consigo fazer com que a variável seja interpolada para os nomes de arquivo de erro / saída std. Eu acho que está trabalhando para o nome do trabalho ( -J ) e --wrap partes embora.

for i in *fastq.gz; do sbatch \
--export=i=$i --error='$i.eo%j' --output='$i.eo%j'  \
-J trim_'basename ${i}' \
--wrap="fastq_trim_single.sh ${i}" \
; done

Produz arquivos de saída com $ i no nome: $ i.eo68065. É possível fazer o que eu quero fazer?

Observação: idealmente, gostaria de usar basename $i em vez de $i para o nome do arquivo de saída.

    
por kanne 01.03.2018 / 02:14

1 resposta

0

Não tenho certeza se isso se encaixa no seu caso de uso, mas você já pensou em usar uma matriz de tarefas? Ao usar uma matriz de tarefas, a variável SLURM_ARRAY_TASK_ID será atribuída ao índice atual da matriz da tarefa, que você pode usar nos comandos --error e --output .

Veja alguns exemplos que podem ser úteis: link

    
por 01.03.2018 / 04:42

Tags