#! /bin/bash
#SBATCH -D .
#SBATCH -o log.%x.%j
#SBATCH -J nf_hq
#SBATCH --get-user-env
#SBATCH -M cm4
#SBATCH -p cm4_tiny
#SBATCH --qos=cm4_tiny
#SBATCH --nodes=1-1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=112
#SBATCH --hint=nomultithread
#SBATCH --export=none
#SBATCH --time=1-00:00:00

module load slurm_setup

module load micromamba
micromamba activate $SCRATCH_DSS/env_nfcore

module use /lrz/sys/share/modules/extfiles
module load hq/0.24.0

export HQ_SERVER_DIR="$PWD/hq-server/$SLURM_JOB_ID"
mkdir -p "$HQ_SERVER_DIR"

hq server start &
srun --cpu-bind=none --hint=nomultithread --mpi=none -N $SLURM_NNODES -n $SLURM_NNODES -c $SLURM_CPUS_PER_TASK hq worker start \
     --manager slurm \
     --on-server-lost finish-running \
     --cpus=$SLURM_CPUS_PER_TASK &

hq worker wait "$SLURM_NTASKS"

nextflow run nf-core/rnaseq -resume -c lrz_cm4.config --input samplesheet.csv -process.executor=hq

# Wait for all tasks to finish
hq job wait all

# Shut down the workers and server
hq worker stop all
hq server stop

