У меня есть 50 различных fast-файлов, которые я хотел бы проанализировать с помощью программы (glsearch36).
Файлы пронумерованы 3163proph00.fa - 3163proph49.fa.
Я хотел бы отправить эти 50 почти идентичных заданий, используя кластер, используя систему очередей SGE в качестве задания массива.
Одна проблема состоит в том, что SGE требует, чтобы SGE_TASK_ID был от 1 до 50, поэтому сначала я должен был создать переменную i и вычесть 1, чтобы получить 0. Затем я создал j, так как числа имеют начальный ноль.
Я не слишком опытен в bash, поэтому я уверен, что допустил некоторую синтаксическую ошибку при переходе от SGE_TASK_ID к i к j.
Когда я отправляю этот файл, я получаю следующую ошибку «Недопустимое имя переменной».
Любая помощь будет оценена.
Спасибо,
#!/bin/bash
#$ -cwd
#$ -t 1-50
#$ -e glsearch.err
#$ -o glsearch.out
#$ -N glsearch
# really the files are 00-49
i=$(($SGE_TASK_ID - 1))
j= printf "%02d" "$i"
echo $j
/g/bor/x86_64/bin/glsearch36 -T 1 /g/bor/Viruses/3163_proph_split50/3163proph$j.fa /g/bor/Viruses/prophage_region.fna > glsearch_3163proph$j.txt