2015-02-16 3 views
0

Я пытаюсь запустить некоторые команды samtools из вызова qsub (для запуска в кластере). По некоторым причинам команды, похоже, не распознаются. Однако, если я скопирую команду и запускаю ее непосредственно из кластера терминалов, она работает нормально. Кто-нибудь сталкивался с такими проблемами или имел представление о том, что я делаю неправильно? Спасибо,Запуск samtools из qsub

Patrick

Мой qsub (это не работает):

#!/bin/bash 
#./etc/sysconfig/pssc 
#PBS -S /bin/bash 
#PBS JOB_NAME="QSH_$(whoami)" 
#PBS NODE_NUM="1" 
#PBS NODE_PPN="${NODE_NCPUS}" 
#PBS HOURS="24" 
#PBS MINUTES="00" 
#PBS SECONDS="00" 
#PBS WALLTIME=${HOURS}:${MINUTES}:${SECONDS} 
#PBS RES_LIST="nodes=${NODE_NUM}:ppn=${NODE_PPN}" 
#PBS DIR_WORK="${PBS_O_WORKDIR}" 
#PBS QUEUE="high" 
#PBS cd ${DIR_WORK} 
samtools index /data/test.bam /data/test.bai 

Если я запускаю команду непосредственно с терминала, он работает:

samtools index /data/test.bam /data/test.bai

ответ

0

Вы запомнили cd в своей рабочей директории? Я не считаю, что qsub расширяет переменные $, например. PBS cd ${DIR_WORK}.

Попробуйте с помощью этого сценария:

#!/bin/bash 
#./etc/sysconfig/pssc 
#PBS JOB_NAME=test 
#PBS WALLTIME=24:00:00 

cd ${PBS_O_WORKDIR} 

echo `pwd` 
dir 
+0

Вы имеете в виду у компакт-диск в каталог, где файлы или samtools? /data/test.bam - это абсолютный путь к test.bam, поэтому я не думаю, что это должно быть проблемой, но, возможно, я ошибаюсь. Спасибо за любую дополнительную помощь/идеи. –