From 880406dfe03f2e08bbf0cf9a2d6d6791d319307d Mon Sep 17 00:00:00 2001
From: Alex Kanitz <alexander.kanitz@alumni.ethz.ch>
Date: Fri, 8 Jul 2022 19:14:51 +0200
Subject: [PATCH] test: fix Slurm submission

---
 RUNS/JOB/map/cluster.json               |  2 +-
 RUNS/JOB/map/run_workflow_slurm.sh      |  8 +--
 RUNS/JOB/prepare/run_workflow_slurm.sh  |  7 +--
 RUNS/JOB/quantify/cluster.json          |  4 +-
 RUNS/JOB/quantify/run_workflow_slurm.sh |  1 +
 test/cluster.json                       | 68 +++++++++++++++++++++++++
 test/test_workflow_slurm.sh             | 17 ++++---
 7 files changed, 91 insertions(+), 16 deletions(-)
 create mode 100644 test/cluster.json

diff --git a/RUNS/JOB/map/cluster.json b/RUNS/JOB/map/cluster.json
index f771d03..8056f93 100644
--- a/RUNS/JOB/map/cluster.json
+++ b/RUNS/JOB/map/cluster.json
@@ -47,7 +47,7 @@
     "threads":"{resources.threads}"
   },
 
-   "sort_genome_oligomap":
+  "sort_genome_oligomap":
   {
     "time": "{resources.time}:00:00",
     "threads":"{resources.threads}"
diff --git a/RUNS/JOB/map/run_workflow_slurm.sh b/RUNS/JOB/map/run_workflow_slurm.sh
index 7f21a9e..8f23407 100755
--- a/RUNS/JOB/map/run_workflow_slurm.sh
+++ b/RUNS/JOB/map/run_workflow_slurm.sh
@@ -18,10 +18,9 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
 cd $script_dir
 
 # Have to match directories indicated in config.yaml
-mkdir -p logs/cluster
-mkdir -p logs/local
-mkdir -p results
-
+mkdir -p logs/cluster/{sample_1,sample_2}
+mkdir -p logs/local/{sample_1,sample_2}
+mkdir -p results/{sample_1,sample_2}
 
 # Run workflow
 snakemake \
@@ -40,6 +39,7 @@ snakemake \
     --use-singularity \
     --singularity-args="--no-home --bind ${PWD}/../../../" \
     --jobscript="../../../jobscript.sh" \
+    --jobs=20 \
     --cores=256 \
     --printshellcmds \
     --rerun-incomplete \
diff --git a/RUNS/JOB/prepare/run_workflow_slurm.sh b/RUNS/JOB/prepare/run_workflow_slurm.sh
index f9f1f5a..e9138f6 100755
--- a/RUNS/JOB/prepare/run_workflow_slurm.sh
+++ b/RUNS/JOB/prepare/run_workflow_slurm.sh
@@ -17,9 +17,9 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
 cd $script_dir
 
 # Have to match directories indicated in config.yaml
-mkdir -p logs/cluster
-mkdir -p logs/local
-mkdir -p results
+mkdir -p logs/cluster/org/pre
+mkdir -p logs/local/org/pre
+mkdir -p results/org/pre
 
 # Run workflow
 snakemake \
@@ -38,6 +38,7 @@ snakemake \
     --use-singularity \
     --singularity-args="--no-home --bind ${PWD}/../../../" \
     --jobscript="../../../jobscript.sh" \
+    --jobs=20 \
     --cores=256 \
     --printshellcmds \
     --rerun-incomplete \
diff --git a/RUNS/JOB/quantify/cluster.json b/RUNS/JOB/quantify/cluster.json
index ef1ea5b..29cdfb9 100644
--- a/RUNS/JOB/quantify/cluster.json
+++ b/RUNS/JOB/quantify/cluster.json
@@ -7,9 +7,9 @@
     "mem": "4G"
   },
 
-    "sortaligment":
+  "sort_alignment":
   {
     "mem":"{resources.mem}G",
     "threads":"{resources.threads}"
   }
-}
\ No newline at end of file
+}
diff --git a/RUNS/JOB/quantify/run_workflow_slurm.sh b/RUNS/JOB/quantify/run_workflow_slurm.sh
index 15fd9d3..54b62b2 100755
--- a/RUNS/JOB/quantify/run_workflow_slurm.sh
+++ b/RUNS/JOB/quantify/run_workflow_slurm.sh
@@ -38,6 +38,7 @@ snakemake \
     --use-singularity \
     --singularity-args="--no-home --bind ${PWD}/../../../" \
     --jobscript="../../../jobscript.sh" \
+    --jobs=20 \
     --cores=256 \
     --printshellcmds \
     --rerun-incomplete \
diff --git a/test/cluster.json b/test/cluster.json
new file mode 100644
index 0000000..0fbb1ef
--- /dev/null
+++ b/test/cluster.json
@@ -0,0 +1,68 @@
+{
+  "__default__" :
+  {
+    "queue": "30min",
+    "time": "00:05:00",
+    "threads": "1",
+    "mem": "4G"
+  },
+
+  "cutadapt":
+  {
+    "threads":"{resources.threads}"
+  },
+
+  "mapping_genome_segemehl":
+  {
+    "mem":"{resources.mem}G"
+  },
+
+  "mapping_transcriptome_segemehl":
+  {
+    "mem":"{resources.mem}G"
+  },
+
+  "mapping_genome_oligomap":
+  {
+    "mem":"{resources.mem}G"
+  },
+
+  "mapping_transcriptome_oligomap":
+  {
+    "mem":"{resources.mem}G"
+  },
+
+  "sort_transcriptome_oligomap":
+  {
+    "threads":"{resources.threads}"
+  },
+
+  "sort_genome_oligomap":
+  {
+    "threads":"{resources.threads}"
+  },
+
+  "remove_inferiors":
+  {
+    "threads":"{resources.threads}",
+    "mem":"{resources.mem}G"
+  },
+
+  "generate_segemehl_index_transcriptome":
+  {
+    "threads":"{resources.threads}",
+    "mem":"{resources.mem}G"
+  },
+
+  "generate_segemehl_index_genome":
+  {
+    "threads":"{resources.threads}",
+    "mem":"{resources.mem}G"
+  },
+
+  "sort_alignment":
+  {
+    "mem":"{resources.mem}G",
+    "threads":"{resources.threads}"
+  }
+}
diff --git a/test/test_workflow_slurm.sh b/test/test_workflow_slurm.sh
index 5ae9432..0c50de3 100755
--- a/test/test_workflow_slurm.sh
+++ b/test/test_workflow_slurm.sh
@@ -15,15 +15,17 @@ set -x  # facilitates debugging by printing out executed commands
 user_dir=$PWD
 script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
 cd $script_dir
-mkdir -p logs/cluster/{homo_sapiens/chrY,results/test_lib}
-mkdir -p logs/local/{homo_sapiens/chrY,results/test_lib}
-mkdir -p results/{homo_sapiens/chrY,results/test_lib}
+
+# Have to match directories indicated in config.yaml files
+mkdir -p logs/cluster/{homo_sapiens/chrY,test_lib}
+mkdir -p logs/local/{homo_sapiens/chrY,test_lib}
+mkdir -p results/{homo_sapiens/chrY,test_lib}
 
 # Run test: prepare workflow
 snakemake \
     --snakefile="../workflow/prepare/Snakefile" \
     --configfile="config_prepare.yaml" \
-    --cluster-config="../RUNS/JOB/prepare/cluster.json" \
+    --cluster-config="cluster.json" \
     --cluster "sbatch \
         --cpus-per-task={cluster.threads} \
         --mem={cluster.mem} \
@@ -34,6 +36,7 @@ snakemake \
         -p scicore \
         --open-mode=append" \
     --jobscript="../jobscript.sh" \
+    --jobs=20 \
     --use-singularity \
     --singularity-args="--no-home --bind ${PWD}/../" \
     --cores=256 \
@@ -45,7 +48,7 @@ snakemake \
 snakemake \
     --snakefile="../workflow/map/Snakefile" \
     --configfile="config_map.yaml" \
-    --cluster-config="../RUNS/JOB/map/cluster.json" \
+    --cluster-config="cluster.json" \
     --cluster "sbatch \
         --cpus-per-task={cluster.threads} \
         --mem={cluster.mem} \
@@ -56,6 +59,7 @@ snakemake \
         -p scicore \
         --open-mode=append" \
     --jobscript="../jobscript.sh" \
+    --jobs=20 \
     --use-singularity \
     --singularity-args="--no-home --bind ${PWD}/../" \
     --cores=256 \
@@ -67,7 +71,7 @@ snakemake \
 snakemake \
     --snakefile="../workflow/quantify/Snakefile" \
     --configfile="config_quantify.yaml" \
-    --cluster-config="../RUNS/JOB/quantify/cluster.json" \
+    --cluster-config="cluster.json" \
     --cluster "sbatch \
         --cpus-per-task={cluster.threads} \
         --mem={cluster.mem} \
@@ -78,6 +82,7 @@ snakemake \
         -p scicore \
         --open-mode=append" \
     --jobscript="../jobscript.sh" \
+    --jobs=20 \
     --use-singularity \
     --singularity-args="--no-home --bind ${PWD}/../" \
     --cores=256 \
-- 
GitLab