1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
##################################################################################################################################
########################## ########################################
########################## Trinity PBS job submission with multi part dependencies ########################################
########################## ########################################
##################################################################################################################################
##################################################################################################################################
### Author: Josh Bowden, Alexie Papanicolaou, CSIRO
### Version 1.0
########### The main control script, that we will run and can be run seperately later if the job fails at intermediate stages ###################
############################################################################################################################################################
RUNVAR1=""$HASHBANG"
echo Killing any running jobs in "$OUTPUTDIR"
trinity_kill.pl "$OUTPUTDIR" 2> /dev/null >/dev/null
echo Checking and submitting any jobs
###########################################################################################################################################################
################ Use the Trinity/Chrysalis checkpoint files to work out what part of job remains #########################################
################ and queue only those parts that are still required #########################################
if [ -s \""$OUTPUTDIR"/Trinity.fasta\" ] ; then
echo 'Trinity seemingly finished: Trinity.fasta present in output directory. If you think this is wrong, delete Trinity.fasta and re-submit'
exit 0
fi
if [ ! -e \""$OUTPUTDIR"/inchworm.K25.L25"$DS"fa.finished\" ] ;then # do the whole analysis
PBS_JOB1=\`qsub "$JOBNAME1".sh\`
PBS_JOB2=\`qsub -W depend=afterok:\$PBS_JOB1 "$JOBNAME2".sh\`
PBS_JOB3=\`qsub -W depend=afternotok:\$PBS_JOB2 "$JOBNAME3".sh\`
PBS_JOB4_2=\`qsub -W depend=afterok:\$PBS_JOB2,afterany:\$PBS_JOB3 "$JOBNAME4".sh\`
echo "$JOBNAME1".sh submitted ; echo \"\$PBS_JOB1\" > jobnumbers.out ;
echo "$JOBNAME2".sh submitted ; echo \"\$PBS_JOB2\" >> jobnumbers.out ;
echo "$JOBNAME3".sh submitted ; echo \"\$PBS_JOB3\" >> jobnumbers.out ;
echo "$JOBNAME4".sh post-job "$JOBNAME2" submitted ; echo \"\$PBS_JOB4_2\" >> jobnumbers.out ;
else # do analysis after inchworm only
if [ ! -e \""$OUTPUTDIR"/chrysalis/GraphFromIwormFasta.finished\" ] ; then # start analysis after inchworm
PBS_JOB2=\`qsub "$JOBNAME2".sh\`
PBS_JOB3=\`qsub -W depend=afternotok:\$PBS_JOB2 "$JOBNAME3".sh\`
PBS_JOB4_2=\`qsub -W depend=afterok:\$PBS_JOB2,afterany:\$PBS_JOB3 "$JOBNAME4".sh\`
echo "$JOBNAME2".sh submitted ; echo \"\$PBS_JOB2\" > jobnumbers.out ;
echo "$JOBNAME3".sh submitted ; echo \"\$PBS_JOB3\" >> jobnumbers.out ;
echo "$JOBNAME4".sh post-job "$JOBNAME2" submitted ; echo \"\$PBS_JOB4_2\" >> jobnumbers.out ;
else
if [ ! -e \""$OUTPUTDIR"/chrysalis/readsToComponents.finished\" ] ;then # start analysis at Chrisyalis ReadsToTranscripts - which is slow due to I/O
PBS_JOB3=\`qsub "$JOBNAME3".sh\`
PBS_JOB4=\`qsub -W depend=afterok:\$PBS_JOB3 "$JOBNAME4".sh\`
echo "$JOBNAME3".sh submitted ; echo \"\$PBS_JOB3\" > jobnumbers.out ;
echo "$JOBNAME4".sh post-job "$JOBNAME3" submitted ; echo \"\$PBS_JOB4\" >> jobnumbers.out ;
else # Run Chrysalis QuantifyGraph and then Butterfly
PBS_JOB4=\`qsub "$JOBNAME4".sh\`
echo "$JOBNAME4".sh submitted ; echo \"\$PBS_JOB4\" > jobnumbers.out ;
fi
fi
echo When JOB ID \"\$PBS_JOB4\" finishes successfully - see output: \"$OUTPUTDIR\"/\"$JOBNAME4\".o\"\$PBS_JOB4\" - either re-run the submit command or use the following command to get all the data into a single file:
echo ' find "$OUTPUTDIR"/chrysalis -name *allProbPaths.fasta -exec cat {} \\; > "$OUTPUTDIR"/Trinity.fasta '
fi
"
echo "${RUNVAR1}" | cat -> ""$JOBPREFIX"_run.sh"
chmod 744 ""$JOBPREFIX"_run.sh"
echo "To restart these jobs run either the same command again:"
echo " trinity_pbs.sh <the same .config file> "
echo " or the following script: "
echo " "$JOBPREFIX"_run.sh found in the output directory "$OUTPUTDIR" "
echo "To stop these jobs run:"
echo " trinity_kill.pl "$OUTPUTDIR" "
echo "To check progress of these jobs run:"
echo " qstat -u "$USER""
echo ""
|