# STQ at PDC
https://github.com/TheJacksonLaboratory/STQ
## Preparing the pipeline
:::danger
!!! WARNING !!!
Seems that the GPU accelerated containers are setup with CUDA i.e. NVIDIA GPU support, which will not work on Dardel !!! [Hardware info - Dardel](https://www.pdc.kth.se/hpc-services/computing-systems/dardel-hpc-system/about-the-dardel-system-1.1053338)
To switch off the GPU mode, one needs to add
`params.hovernet_device_mode = cpu` in `nextflow.config` in the corresponding section...
:::
> preliminary draft instructions
```bash
module load PDC nextflow apptainer
export APPTAINER_DISABLE_CACHE=true
# Somewhere in your project space
cd my-piepline-run
git clone https://github.com/TheJacksonLaboratory/STQ.git
# Pull the containers
singularity pull docker://quay.io/jaxcompsci/xenome:1.0.1
...
# deal with " conf/containers.config"
# note add the template at the bottom, since it is incomplette.
# well - there are more fixes needed...
```
`run.sh`
```bash
workflow="deconvolution_indices" ### "two_references" "one_reference" "arbitrary_grid" "deconvolution_indices"
samplesheet="./assets/samplesheet_demo.csv"
workdir="./work_test"
outdir="./results_test"
binddir="/cfs/klemming"
#----------------------------------------------------------------------------------------------------
./check.sh
SLURM_SUBMIT_DIR=`pwd`
sbatch \
submit.sb $workflow "$samplesheet" "$workdir" "$outdir" "$binddir"
```
`submit.sb`
```bash
#!/bin/bash --login
#SBATCH -A naiss2025-22-385
#SBATCH -p shared
#SBATCH -t 3-00:00:00
#SBATCH -J deconvolution
#SBATCH --mail-type=BEGIN,END,FAIL
#SBATCH --mail-user=your@mail.se
#SBATCH --mem=56G
#SBATCH --ntasks=1
module load PDC nextflow apptainer
cd $SLURM_SUBMIT_DIR
nextflow run main.nf \
-w $3 \
-profile slurm,singularity \
-resume \
--input=$2 \
--outdir=$4 \
--workflow=$1 \
--bind="-B $5"
```
### `nextcloud.config`
- still testing, please make these changes
```yaml
...
process {
resourceLimits = [ cpus: 256, memory: 1790.GB, time: 7.d ]
// beforeScript = 'module load PDC apptainer'
...
profiles {
slurm {
executor {
name = "slurm"
submitRateLimit = '1/1s'
queueSize = 20
exitReadTimeout = '600s'
//pollInterval = '30s'
}
process.queue = "shared -A naiss2025-22-385"
process.clusterOptions = ''
process.module = "slurm"
}
singularity {
process.module = 'PDC:apptainer'
singularity.enabled = true
singularity.envWhitelist = 'CUDA_VISIBLE_DEVICES'
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
singularity.runOptions = "-B /cfs/klemming " + params.bind
}
```
### `conf/containers.config`
```jsonl
params {
container_dir = "/cfs/klemming/scratch/p/pmitev/RT-202508.25-317850-STQ/STQ/containers"
container_inception = "${params.container_dir}/container-mamba-inception.sif"
container_hovernet = "${params.container_dir}/local/container-singularity-hovernet-py.sif"
container_stainnet = "${params.container_dir}/container-singularity-stainnet.sif"
container_staintools = "${params.container_dir}/container-singularity-staintools.sif"
container_vips = "${params.container_dir}/container-singularity-vips.sif"
container_uni_conch = "${params.container_dir}/hf-uni-conch.sif"
container_ctranspath = "${params.container_dir}/local/mamba-timm.sif"
container_deepfocus = "${params.container_dir}/deepfocus.sif"
container_ome = "${params.container_dir}/local/ome.sif"
container_xenome = "/projects/compsci/omics_share/meta/containers/quay.io-jaxcompsci-xenome-1.0.1.img"
container_xengsort = "${params.container_dir}/local/mamba-xenomake.sif"
container_fastqtools = "${params.container_dir}/container-singularity-fastqtools.sif"
container_spaceranger = "${params.container_dir}/container-singularity-spaceranger.sif"
container_bafextract = "${params.container_dir}/bafextract_v1.0.0.sif"
container_samtools = "${params.container_bafextract}"
container_velocyto = "${params.container_dir}/container-singularity-velocyto.sif"
container_inception = "${params.container_dir}/inception_v1.0.0.sif"
container_hovernet = "${params.container_dir}/hovernet_v2.0.0.sif"
container_stainnet = "${params.container_dir}/stainnet_v1.0.0.sif"
container_staintools = "${params.container_dir}/staintools_v1.0.0.sif"
container_vips = "${params.container_dir}/vips_v1.0.0.sif"
container_xenome = "${params.container_dir}/xenome_v1.0.1.sif"
container_xengsort = "${params.container_dir}/xenomake_v1.0.0.sif"
container_fastqtools = "${params.container_dir}/fastqtools_v1.0.0.sif"
container_spaceranger = "${params.container_dir}/spaceranger_v1.0.0.sif"
container_bafextract = "${params.container_dir}/bafextract_v1.0.0.sif"
container_python = "${params.container_dir}/pythonlow_v1.0.0.sif"
container_velocyto = "${params.container_dir}/velocyto_v1.0.0.sif"
container_deepfocus = "${params.container_dir}/deepfocus_v1.0.0.sif"
container_ome = "${params.container_dir}/ome_v1.0.0.sif"
container_timm = "${params.container_dir}/timm_v1.0.0.sif"
container_conch = "${params.container_dir}/hfconch_v1.0.0.sif"
container_uni_conch = "${params.container_dir}/hfconch_v1.0.0.sif"
}
```
## Contacts:
- [Pavlin Mitev](https://katalog.uu.se/profile/?id=N3-1425)
- [UPPMAX](https://www.uu.se/en/centre/uppmax)
- [AE@UPPMAX - related documentation](/8sqXISVRRquPDSw9o1DizQ)
###### tags: `PDC`, `Dardel`, `nextflow`, `RT317850`