#!/bin/bash
#SBATCH --dependency=afterany:110336:110337:110338:110339:110340:110341
set -eux
set -o pipefail
umask 0002

#### SET THE STAGE
SCRATCH_DIR=/scratch/CountQC_2025-11-25--16-09-00_temp$$
GSTORE_DIR=/srv/GT/analysis/course_sushi/public/gstore/projects
INPUT_DATASET=/srv/GT/analysis/course_sushi/public/gstore/projects/p1001/CountQC_2025-11-25--16-09-00/input_dataset.tsv
LAST_JOB=TRUE
echo "Job runs on `hostname`"
echo "at $SCRATCH_DIR"
mkdir $SCRATCH_DIR || exit 1
cd $SCRATCH_DIR || exit 1
source /usr/local/ngseq/etc/lmod_profile
module add Dev/R/4.5.0

#### NOW THE ACTUAL JOBS STARTS
R --vanilla --slave<<  EOT
EZ_GLOBAL_VARIABLES <<- '/usr/local/ngseq/opt/EZ_GLOBAL_VARIABLES.txt'
if (!library(ezRun, logical.return = TRUE)){
message('retry loading ezRun')
Sys.sleep(120)
library(ezRun)
}
param = list()
param[['cores']] = '1'
param[['ram']] = '8'
param[['scratch']] = '10'
param[['partition']] = 'course'
param[['process_mode']] = 'DATASET'
param[['samples']] = 'S1_undiff,S2_undiff,S3_undiff,S4_diff,S5_diff,S6_diff'
param[['name']] = 'Count_QC'
param[['refBuild']] = 'Homo_sapiens/GENCODE/GRCh38.p14/Annotation/Release_48-2025-07-03'
param[['refFeatureFile']] = 'genes.gtf'
param[['featureLevel']] = 'gene'
param[['normMethod']] = 'logMean'
param[['runGO']] = 'true'
param[['backgroundExpression']] = '10'
param[['topGeneSize']] = '100'
param[['selectByFtest']] = 'false'
param[['transcriptTypes']] = 'protein_coding'
param[['specialOptions']] = ''
param[['expressionName']] = ''
param[['mail']] = ''
param[['sushi_app']] = 'CountQCApp'
param[['dataRoot']] = '/srv/GT/analysis/course_sushi/public/gstore/projects'
param[['resultDir']] = 'p1001/CountQC_2025-11-25--16-09-00'
param[['isLastJob']] = TRUE
output = list()
output[['Name']] = 'Count_QC'
output[['Species']] = 'Homo sapiens (human)'
output[['refBuild']] = 'Homo_sapiens/GENCODE/GRCh38.p14/Annotation/Release_48-2025-07-03'
output[['Static Report [Link]']] = 'p1001/CountQC_2025-11-25--16-09-00/Count_QC/00index.html'
output[['Live Report [Link]']] = 'https://fgcz-shiny.uzh.ch/app/exploreCountQC/?data=p1001/CountQC_2025-11-25--16-09-00/Count_QC/counts-joonfwevpmam-EzResult.RData'
output[['Report [File]']] = 'p1001/CountQC_2025-11-25--16-09-00/Count_QC'
grandchild_output = list()
input = '/srv/GT/analysis/course_sushi/public/gstore/projects/p1001/CountQC_2025-11-25--16-09-00/input_dataset.tsv'
EzAppCountQC\$new()\$run(input=input, output=output, param=param)
EOT


#### JOB IS DONE WE PUT THINGS IN PLACE AND CLEAN AUP
rsync -r Count_QC /srv/GT/analysis/course_sushi/public/gstore/projects/p1001/CountQC_2025-11-25--16-09-00/
cd /scratch
rm -rf /scratch/CountQC_2025-11-25--16-09-00_temp$$ || exit 1

