2015-09-27 3 views
0

Я студент-биолог, и это первый опыт работы с массивом на сервере, поэтому, пожалуйста, будьте терпеливы со мной. Я пытаюсь представить сценарий PBS для выполнения задачи взрыва на каждом входном файле. Мои имена входных файлов: file1.fa file2.fa file3.fa file4.fa file5.fa file6.fa. Сценарий PBS выглядит следующим образом:Как решить ошибку при представлении массива Job?

#!/bin/bash 
#PBS -N run_x3 
#PBS -l ncpus=4 
#PBS -l mem=30G 
#PBS -l walltime=200:00:00 
#PBS -J 1-6 
#PBS -o stdout_file 
#PBS -e stderr_file 

cd /home/mary/software/ncbi-blast-2.2.30+/bin 
./blastx -query file_${1 2 3 4 5 6}.fa -db uni_database -out blast_file{1 2 3 4 5 6}.xml -evalue 1e-3 -outfmt 5 -show_gis -num_alignments 15 -num_threads 3 

Я запустил работу как qsub run_x3.sh. но появилась следующая ошибка: /var/spool/torque/mom_priv/jobs/1007-1.chpc.SC: строка 12: файл _ $ {1 2 3 4 5 6} .fa: плохая замена

I был бы очень признателен, если бы вы могли помочь мне решить проблему. Кроме того, это действительно ваш вид, пожалуйста, сообщите мне, если что-то не так в файле PBS. Как я уже упоминал ранее, у меня недостаточно компьютерных знаний для решения этой проблемы.

Благодарим вас за внимание и ожидаем услышать от вас.

Бест, Мэри

ответ

0

Я предполагаю, что вы намерены делать с $ {1 2 3 4 5 6}, это есть, что оценивать идентификатору массива, которая выполняется. Если да, то вы можете использовать $ PBS_ARRAYID:

./blastx -query_file_${PBS_ARRAYID} ... 

Это даст вам 1 для работы 1, 2 для задания 2 и т.д. В частности, не ставьте

./blastx file1.fa 

Написать

./blastx file${PBS_ARRAY_ID}.fa 

, чтобы сделать его уникальным для каждого задания.

+0

Спасибо за ваш комментарий. У меня есть 6 файлов с именем file1.fa file2.fa file3.fa file4.fa file5.fa file6.fa, которым должна быть запущена программа blastx. Я написал ./blastx -query file1.fa file2.fa .... file6.fa {PBS_ARRAY_ID} ... также попробуйте ./blastx -query file_ {PBS_ARRAY_ID} .fa, которая появилась ошибка для обоих. Не могли бы вы написать полную команду для этой части? Большое спасибо – Mary

+0

Спасибо dbeer. Я написал так, как вам было предложено, ./blastx file $ {PBS_ARRAY_ID} .fa, но появилась следующая ошибка: (Ошибка аргумента командной строки: аргумент «запрос». Файл недоступен: 'file.fa '), что по-вашему, неправильно? Я очень благодарен за ваше предложение помочь решить проблему. – Mary

+0

Какую версию PBS вы используете? Эта переменная определена для Torque. Чтобы запросить массив в Torque, у вас должен быть параметр -t. Раньше я не заметил, что у вас есть #PBS -J 1-5. Это, вероятно, должно быть -t. – dbeer

Смежные вопросы