#! /bin/sh ### ASDP PIPELINE ### ## Version: 0.0.1 ## Licence: AGPLV3 ## Author: Anne-Sophie Denommé-Pichon ## Description: script to launch the pipeline for STR detection. This script handles a single sample. # $1 : first argument in the command line : the input file SAMPLE="$1" # Check if sample is specified if [ -z "$SAMPLE" ] then echo "Sample is not specified" echo "$(date +"%F_%H-%M-%S"): END" exit 1 fi # Source the configuration file . "$(dirname "$0")/config.sh" # Commented to fit the GAD pipeline #if [ "x$INPUTDIR" = "x$OUTPUTDIR" ] #then # echo "Input directory is the same as output directory. Please change it to prevent the pipeline from deleting or overwriting raw data." # exit 1 #fi INPUTFILE="$INPUTDIR/$SAMPLE/$SAMPLE.bam" DATE="$(date +"%F_%H-%M-%S")" OUTPUTDIR="$OUTPUTDIR/$SAMPLE" TRANSFER_JOB="" WD="$(dirname "$(readlink -f "$0")")" LOGDIR="$OUTPUTDIR/logs" STRDIR="$OUTPUTDIR/str" mkdir -p "$LOGDIR" "$STRDIR" # Transfer bam and bai from archive to work TRANSFER_JOB="transfer_$SAMPLE" if [ "x$TRANSFER" = "xyes" ] then INPUTFILE="$INPUTDIR/$SAMPLE.bam" qsub -wd "$WD" -pe smp 1 -o "$LOGDIR" -e "$LOGDIR" -q "$TRANSFER_QUEUE" -N "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",TRANSFER_OUTPUTDIR="$STRDIR",LOGFILE="$LOGDIR/transfer_$SAMPLE.$DATE.log" "$WD/wrapper_transfer.sh" INPUTFILE="$STRDIR/$SAMPLE.bam" else qsub -wd "$WD" -pe smp 1 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "$TRANSFER_JOB" -b y echo "No bam transfer." fi # Launch ExpansionHunter mkdir -p "$STRDIR/eh" qsub -wd "$WD" -pe smp 4 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "eh_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$STRDIR/eh/$SAMPLE",LOGFILE="$LOGDIR/eh_$SAMPLE.$DATE.log" "$WD/wrapper_expansionhunter.sh" # Launch Tredparse mkdir -p "$STRDIR/tredparse" qsub -wd "$WD" -pe smp 4 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "tredparse_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",TREDPARSE_OUTPUTDIR="$STRDIR/tredparse",LOGFILE="$LOGDIR/tredparse_$SAMPLE.$DATE.log" "$WD/wrapper_tredparse.sh" # Launch GangSTR mkdir -p "$STRDIR/gangstr" qsub -wd "$WD" -pe smp 4 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "gangstr_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$STRDIR/gangstr/$SAMPLE",LOGFILE="$LOGDIR/gangstr_$SAMPLE.$DATE.log" "$WD/wrapper_gangstr.sh" # Launch ehdn profile mkdir -p "$STRDIR/ehdn" qsub -wd "$WD" -pe smp 4 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "ehdn_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$STRDIR/ehdn/$SAMPLE",LOGFILE="$LOGDIR/ehdn_profile_$SAMPLE.$DATE.log" "$WD/wrapper_ehdn_profile.sh" # Delete transfered bam and bai if [ "x$TRANSFER" = "xyes" ] then qsub -wd "$WD" -pe smp 1 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "delete_$SAMPLE" -hold_jid "eh_$SAMPLE,tredparse_$SAMPLE,gangstr_$SAMPLE,ehdn_$SAMPLE" -sync y -v SAMPLE="$SAMPLE",LOGFILE="$LOGDIR/delete_$SAMPLE.$DATE.log" "$WD/wrapper_delete.sh" else qsub -wd "$WD" -pe smp 1 -o "$LOGDIR" -e "$LOGDIR" -q "$COMPUTE_QUEUE" -N "delete_$SAMPLE" -hold_jid "eh_$SAMPLE,tredparse_$SAMPLE,gangstr_$SAMPLE,ehdn_$SAMPLE" -sync y -b y echo "Nothing to delete." fi