나는 phylip 파일마다 하나의 나무를 만들기 위해 RAxML이라는 계통 발생 소프트웨어를 사용하고 있습니다. 3 개의 phylip 파일이있는 디렉토리의 경우 다음을 수행했습니다.계통 발생 트리의 반복을 위해서
##files in directory
Ortho1.phy Ortho6.Phy Ortho6.Phy
for f in /home/Single_trees/trimmed_alignment/*.phy; do raxmlHPC -f a -x 100 -m PROTGAMMAAUTO -p 100 -s $f -N 100 -n $f.tree; done;
하지만 $ symbol은 허용되지 않는다고 말하는 오류가 발생합니다.
raxmlHPC: axml.c:5236: analyzeRunId: Assertion `0' failed.
오류 문자/실행 ID에서 허용되지
그것을 할 수있는 더 좋은 방법이 있나요? 여기에이 링크를 사용하여 비 순차적으로 명명 된 파일에 작업 배열을 사용하려 시도했지만 https://rc.fas.harvard.edu/resources/documentation/submitting-large-numbers-of-jobs-to-odyssey/을 구현할 수 없었습니다.
#!/bin/bash -l
#
# raxml.sbatch
#
#SBATCH -J consensus # A single job name for the array
#SBATCH -p high # best partition for single core small jobs
#SBATCH -n 12 # one core
#SBATCH -N 1 # on one node
#SBATCH -t 100:00:00 # Running time of 2 hours
#SBATCH --mem 18000 # Memory request of 4 GB
#SBATCH -o raxml_%A_%a.out # Standard output
#SBATCH -e raxml_%A_%a.err # Standard error
module load raxml
for FILES in /home/aligned_fasta/.phy; do
echo ${FILES}
done;
# grab out filename from the array exported from our 'parent' shell
FILENAME=${FILES[$SLURM_ARRAY_TASK_ID]}
# make & move into new directory, and run!
mkdir ${FILENAME}_out
cd ${FILENAME}_out
raxmlHPC -f a -x 100 -m PROTGAMMAAUTO -p 100 -s $FILENAME -N 100 -n $FILENAME.tree
#Now, we grab all the appropriate files and submit them en-batch with an array:
# grab the files, and export it so the 'child' sbatch jobs can access it
수출 FILES = ($ (LS -1 .phy))
# get size of array
NUMPHY=${#FILES[@]}
# now subtract 1 as we have to use zero-based indexing (first cell is 0)
ZBNUMPHY=$(($NUMPHY - 1))
# now submit to SLURM
if [ $ZBNUMPHY -ge 0 ]; then
sbatch --array=0-$ZBNUMPHY raxml.sbatch
fi
I 사용하여 제출 sbatch --array = 0 :
이
내가 배열 작업 제출을 위해 뭘하려 -10 raxml.sh하지만 작동하지 않았습니다.