From 1e638b24f030b08981463e0c6d703c46ac893485 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anne-Sophie=20Denomm=C3=A9-Pichon?=
 <anne-sophie.denomme-pichon@u-bourgogne.fr>
Date: Wed, 29 Jul 2020 20:52:19 +0200
Subject: [PATCH] Place output files in specific directories

---
 pipeline.sh         | 49 +++++++++++++++++++++++++--------------------
 wrapper_delete.sh   |  4 ++--
 wrapper_transfer.sh |  1 -
 3 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/pipeline.sh b/pipeline.sh
index 480b8a2..d567cd6 100755
--- a/pipeline.sh
+++ b/pipeline.sh
@@ -21,11 +21,12 @@ fi
 # Source the configuration file
 . "$(dirname "$0")/config.sh"
 
-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
+# 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.bam"
 DATE="$(date +"%F_%H-%M-%S")"
@@ -33,35 +34,39 @@ 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
 if [ "x$TRANSFER" = "xyes" ]
 then
-    mkdir -p "$OUTPUTDIR"
     TRANSFER_JOB="transfer_$SAMPLE"
-    qsub -wd "$WD" -pe smp 1 -o "$OUTPUTDIR" -e "$OUTPUTDIR" -q "$TRANSFER_QUEUE" -N "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",TRANSFER_OUTPUTDIR="$OUTPUTDIR",LOGFILE="$OUTPUTDIR/transfer_$DATE.log" "$WD/wrapper_transfer.sh"
-    INPUTFILE="$OUTPUTDIR/$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"
 fi
 
 # Launch ExpansionHunter
-mkdir -p "$OUTPUTDIR/eh"
-qsub -wd "$WD" -pe smp 4 -o "$OUTPUTDIR" -e "$OUTPUTDIR" -q "$COMPUTE_QUEUE"  -N "eh_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/eh/$SAMPLE",LOGFILE="$OUTPUTDIR/eh/$DATE.log" "$WD/wrapper_expansionhunter.sh"
+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 "$OUTPUTDIR/tredparse"
-qsub -wd "$WD" -pe smp 4 -o "$OUTPUTDIR" -e "$OUTPUTDIR" -q "$COMPUTE_QUEUE" -N "tredparse_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",TREDPARSE_OUTPUTDIR="$OUTPUTDIR/tredparse",LOGFILE="$OUTPUTDIR/tredparse/$DATE.log" "$WD/wrapper_tredparse.sh"
+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 "$OUTPUTDIR/gangstr"
-qsub -wd "$WD" -pe smp 4 -o "$OUTPUTDIR" -e "$OUTPUTDIR" -q "$COMPUTE_QUEUE" -N "gangstr_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/gangstr/$SAMPLE",LOGFILE="$OUTPUTDIR/gangstr/$DATE.log" "$WD/wrapper_gangstr.sh"
+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 "$OUTPUTDIR/ehdn"
-qsub -wd "$WD" -pe smp 4 -o "$OUTPUTDIR" -e "$OUTPUTDIR" -q "$COMPUTE_QUEUE" -N "ehdn_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/ehdn/$SAMPLE",LOGFILE="$OUTPUTDIR/ehdn/$DATE.log" "$WD/wrapper_ehdn_profile.sh"
+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_$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 "$OUTPUTDIR" -e "$OUTPUTDIR" -q "$COMPUTE_QUEUE" -N "delete_$SAMPLE" -hold_jid "eh_$SAMPLE,tredparse_$SAMPLE,gangstr_$SAMPLE,ehdn_$SAMPLE" -sync y -v SAMPLE="$SAMPLE",LOGFILE="$OUTPUTDIR/delete_$DATE.log" "$WD/wrapper_delete.sh"
-else
-    qsub -wd "$WD" -pe smp 1 -o "$OUTPUTDIR" -e "$OUTPUTDIR" -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
+#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
diff --git a/wrapper_delete.sh b/wrapper_delete.sh
index 788e9d6..2a8c2f0 100755
--- a/wrapper_delete.sh
+++ b/wrapper_delete.sh
@@ -32,8 +32,8 @@ fi
 echo "command : rm \
     $SAMPLE"
 rm \
-    "$OUTPUTDIR/$SAMPLE/$SAMPLE.bam" \
-    "$OUTPUTDIR/$SAMPLE/$SAMPLE.bai"
+    "$OUTPUTDIR/$SAMPLE/str/$SAMPLE.bam" \
+    "$OUTPUTDIR/$SAMPLE/str/$SAMPLE.bai"
 
 delete_exitcode=$?
 
diff --git a/wrapper_transfer.sh b/wrapper_transfer.sh
index d1f9272..43a6abc 100755
--- a/wrapper_transfer.sh
+++ b/wrapper_transfer.sh
@@ -7,7 +7,6 @@
 ## Description: a wrapper for qsubing bam transfer for STR pipeline
 ## Usage: qsub -pe smp 1 -v INPUTFILE=<path to the bam file>,TRANSFER_OUTPUTDIR=<output directory>,[LOGFILE=<path to the log file>] wrapper_transfer.sh
 
-
 # Log file path option
 if [ -z "$LOGFILE" ]
 then
-- 
2.17.1