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
71
72
73
74
75
#! /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