Make EHDN pipeline more generic

parent ca848b6f
......@@ -2,6 +2,9 @@
- [ ] Ecrire la doc
- [ ] Ajouter dans la doc que Tred doit être ouvert dans virtual
- [ ] Mode transfert
- [ ] Préciser qu'il ne faut rien ajouter manuellement dans les répertoires de OUTPUTDIR (car EHDN travaille sur tous les répertoires présents dans OUTPUTDIR, uniquement samples)
- [ ] EHDN
- [ ] Brancher EHDN et outlier
- [ ] Séparer case et contrôles
- [ ] Ajouter EHDN dans GetResults
- [ ] Ajouter le sample dans le nom de fichier de log
......@@ -33,6 +33,7 @@ GANGSTR_REGIONS="/work/gad/shared/bin/gangstr/STRregions/hg19_ver13_1.bed"
EHDN="/work/gad/shared/bin/expansionhunterdenovo/ExpansionHunterDenovo-v0.8.0-linux_x86_64/bin/ExpansionHunterDenovo-v0.8.0"
EHDN_OUTLIER="/work/gad/shared/bin/expansionhunterdenovo/ExpansionHunterDenovo-v0.8.0-linux_x86_64/scripts/outlier.py"
REF="/work/gad/shared/pipeline/hg19/index/hg19_essential.fa"
......
#! /bin/sh
### ASDP PIPELINE ###
## Version: 0.0.1
## Licence: AGPLv3
## Author: anne-sophie.denomme-pichon@u-bourgogne.fr
## Description: script to launch the wrapper for qsubing outlier analysis by ExpansionHunter denovo script for STR detection
CASE="$1"
DATE="$(date +"%F_%H-%M-%S")"
OUTPUTDIR="/work/gad/shared/analyse/STR/ExpansionHunterDeNovoOutlier/$DATE"
LOGFILE="$OUTPUTDIR/$DATE.$CASE.log"
# Launch the script on local host with --local option and on SGE with qsub without the --local option
if [ $# -eq 1 ] && [ "x$1" = x--local ]
then
mkdir -p "$OUTPUTDIR"
CASE="$CASE" LOGFILE="$LOGFILE" "$(dirname "$0")/wrapper_ehdn_outlier.sh"
else
mkdir -p "$OUTPUTDIR"
qsub -pe smp 1 -q batch -N "ehdn_outlier_$CASE" -sync y -v CASE="$CASE",LOGFILE="$LOGFILE" "$(dirname "$0")/wrapper_ehdn_outlier.sh"
fi
......@@ -6,12 +6,12 @@
## Author : anne-sophie.denomme-pichon@u-bourgogne.fr
## Description : script to launch the pipeline for STR detection with EHDN outlier
# Source configuration file
. "$(dirname "$0")/config.sh"
LAUNCHER="$(readlink -f "$(dirname "$0")/launch_ehdn_outlier.sh")"
cd "/work/gad/shared/analyse/STR/pipeline"
printf "%s\n" dijen* |
/work/gad/shared/bin/parallel/parallel-20150522-1.el7.cern/bin/parallel \
--jobs 30 \
cd "$OUTPUTDIR"
printf "%s\n" * |
"$PARALLEL" \
--jobs "$PARALLEL_JOB_COUNT" \
--line-buffer \
"$LAUNCHER"
"$(dirname "$0")/pipeline_ehdn_outlier.sh"
......@@ -37,30 +37,30 @@ if [ "x$TRANSFER" = "xyes" ]
then
mkdir -p "$OUTPUTDIR"
TRANSFER_JOB="transfer_$SAMPLE"
qsub -pe smp 1 -q "$TRANSFERQUEUE" -N "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTDIR="$OUTPUTDIR",LOGFILE="$OUTPUTDIR/transfer_$DATE.log" wrapper_transfer.sh
qsub -pe smp 1 -q "$TRANSFER_QUEUE" -N "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTDIR="$OUTPUTDIR",LOGFILE="$OUTPUTDIR/transfer_$DATE.log" "$(dirname "$0")/wrapper_transfer.sh"
INPUTFILE="$OUTPUTDIR/$SAMPLE.bam"
fi
# Launch ExpansionHunter
mkdir -p "$OUTPUTDIR/eh"
qsub -pe smp 4 -q "$COMPUTEQUEUE" -N "eh_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/eh/$SAMPLE",LOGFILE="$OUTPUTDIR/eh/$DATE.log" wrapper_expansionhunter.sh
qsub -pe smp 4 -q "$COMPUTE_QUEUE" -N "eh_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/eh/$SAMPLE",LOGFILE="$OUTPUTDIR/eh/$DATE.log" "$(dirname "$0")/wrapper_expansionhunter.sh"
# Launch Tredparse
mkdir -p "$OUTPUTDIR/tredparse"
qsub -pe smp 4 -q "$COMPUTEQUEUE" -N "tredparse_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTDIR="$OUTPUTDIR/tredparse",LOGFILE="$OUTPUTDIR/tredparse/$DATE.log" wrapper_tredparse.sh
qsub -pe smp 4 -q "$COMPUTE_QUEUE" -N "tredparse_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTDIR="$OUTPUTDIR/tredparse",LOGFILE="$OUTPUTDIR/tredparse/$DATE.log" "$(dirname "$0")/wrapper_tredparse.sh"
# Launch GangSTR
mkdir -p "$OUTPUTDIR/gangstr"
qsub -pe smp 4 -q "$COMPUTEQUEUE" -N "gangstr_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/gangstr/$SAMPLE",LOGFILE="$OUTPUTDIR/gangstr/$DATE.log" wrapper_gangstr.sh
qsub -pe smp 4 -q "$COMPUTE_QUEUE" -N "gangstr_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/gangstr/$SAMPLE",LOGFILE="$OUTPUTDIR/gangstr/$DATE.log" "$(dirname "$0")/wrapper_gangstr.sh"
# Launch ehdn profile
mkdir -p "$OUTPUTDIR/ehdn"
qsub -pe smp 4 -q "$COMPUTEQUEUE" -N "ehdn_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/ehdn/$SAMPLE",LOGFILE="$OUTPUTDIR/ehdn/$DATE.log" wrapper_ehdn_profile.sh
qsub -pe smp 4 -q "$COMPUTE_QUEUE" -N "ehdn_$SAMPLE" -hold_jid "$TRANSFER_JOB" -v INPUTFILE="$INPUTFILE",OUTPUTPREFIX="$OUTPUTDIR/ehdn/$SAMPLE",LOGFILE="$OUTPUTDIR/ehdn/$DATE.log" "$(dirname "$0")/wrapper_ehdn_profile.sh"
# Delete transfered bam and bai
if [ "x$TRANSFER" = "xyes" ]
then
qsub -pe smp 1 -q "$COMPUTEQUEUE" -N "delete_$SAMPLE" -hold_jid "eh_$SAMPLE,tredparse_$SAMPLE,gangstr_$SAMPLE,ehdn_$SAMPLE" -sync y -v SAMPLE="$SAMPLE",LOGFILE="$OUTPUTDIR/delete_$DATE.log" wrapper_delete.sh
qsub -pe smp 1 -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" "$(dirname "$0")/wrapper_delete.sh"
else
qsub -pe smp 1 -q "$COMPUTEQUEUE" -N "delete_$SAMPLE" -hold_jid "eh_$SAMPLE,tredparse_$SAMPLE,gangstr_$SAMPLE,ehdn_$SAMPLE" -sync y -b y echo "Nothing to delete."
qsub -pe smp 1 -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
#! /bin/sh
### ASDP PIPELINE ###
## Version: 0.0.1
## Licence: AGPLv3
## Author: anne-sophie.denomme-pichon@u-bourgogne.fr
## Description: script to launch the wrapper for qsubing outlier analysis by ExpansionHunter denovo script for STR detection
# Source configuration file
. "$(dirname "$0")/config.sh"
CASE="$1"
qsub -pe smp 1 -q "$COMPUTE_QUEUE" -N "ehdn_outlier_$CASE" -sync y -v CASE="$CASE" "$(dirname "$0")/wrapper_ehdn_outlier.sh"
......@@ -9,36 +9,31 @@
# Source the configuration file
. "$(dirname "$0")/config.sh"
# Log file path option
if [ -z "$LOGFILE" ]
then
LOGFILE=ehdn_outlier.$(date +"%F_%H-%M-%S").log
fi
# Logging
LOGFILE="$OUTPUTDIR/$CASE/ehdn/$CASE.ehdn_outlier.$(date +"%F_%H-%M-%S").log"
exec 1>> "$LOGFILE" 2>&1
echo "$(date +"%F_%H-%M-%S"): START"
# Check if case is specified
if [ -z "$CASE" ]
then
echo "Dijen is not specified"
echo "Sample is not specified"
echo "$(date +"%F_%H-%M-%S"): END"
exit 1
fi
# Generate manifest for one patient with all samples (to write lines in the file)
cd "$OUTPUTDIR"
for dijen in dijen*
for sample in *
do
# Check if str_profile.json exists
if [ -f "$OUTPUTDIR/$dijen/ehdn/$dijen.str_profile.json" ]
if [ -f "$OUTPUTDIR/$sample/ehdn/$sample.str_profile.json" ]
then
if [ "x$dijen" = "x$CASE" ]
if [ "x$sample" = "x$CASE" ]
then
echo -e "$dijen\tcase\t$OUTPUTDIR/$dijen/ehdn/$dijen.str_profile.json"
echo -e "$sample\tcase\t$OUTPUTDIR/$sample/ehdn/$sample.str_profile.json"
else
echo -e "$dijen\tcontrol\t$OUTPUTDIR/$dijen/ehdn/$dijen.str_profile.json"
echo -e "$sample\tcontrol\t$OUTPUTDIR/$sample/ehdn/$sample.str_profile.json"
fi
fi
done > "$OUTPUTDIR/$CASE/ehdn/$CASE.manifest.tsv"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment