diff --git a/src/nf_modules/htseq/htseq.config b/src/nf_modules/htseq/htseq.config
index 94fe2781667a280f45e06abb982e6fb0fcbab84f..95eff69cbb0958aa27df4eb08378daf122fe7498 100644
--- a/src/nf_modules/htseq/htseq.config
+++ b/src/nf_modules/htseq/htseq.config
@@ -5,9 +5,20 @@ profiles {
     process {
       withName: sort_bam {
         container = "samtools:1.7"
+        cpus = 1
       }
       withName: counting {
         container = "htseq:0.8.0"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: sort_bam {
+        container = "file://bin/htseq:0.8.0.sif"
+        cpus = 1
       }
     }
   }
@@ -18,6 +29,7 @@ profiles {
         module = "samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
@@ -27,6 +39,7 @@ profiles {
         module = "htseq/0.8.0"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
diff --git a/src/nf_modules/htseq/tests.sh b/src/nf_modules/htseq/tests.sh
index 3bb59705f90aa31a5c02dc6cd94791fafbf059bd..904b42b3476e4daf3e97b6e52f435a507c033cd0 100755
--- a/src/nf_modules/htseq/tests.sh
+++ b/src/nf_modules/htseq/tests.sh
@@ -5,3 +5,11 @@
   --bam "data/tiny_dataset/map/tiny_v2.bam" \
   -resume
 
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/htseq/htseq.nf \
+  -c src/nf_modules/htseq/htseq.config \
+  -profile docker \
+  --gtf "data/tiny_dataset/annot/tiny.gff" \
+  --bam "data/tiny_dataset/map/tiny_v2.bam" \
+  -resume
+fi
diff --git a/src/nf_modules/kallisto/indexing.config b/src/nf_modules/kallisto/indexing.config
index 8e7131291f896159235d13d48786412a34f3cdea..2db7e1d605b7188f9dd2d51b516bafac44bd5119 100644
--- a/src/nf_modules/kallisto/indexing.config
+++ b/src/nf_modules/kallisto/indexing.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: index_fasta {
         container = "kallisto:0.44.0"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: index_fasta {
+        container = "file://bin/kallisto:0.44.0.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "kallisto/0.44.0"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/kallisto/indexing.nf b/src/nf_modules/kallisto/indexing.nf
index 9e38260f87e9bfa4384b69ef440c73acb6feba05..ea153569693b5dd057727a072d14dadd0ce77bf5 100644
--- a/src/nf_modules/kallisto/indexing.nf
+++ b/src/nf_modules/kallisto/indexing.nf
@@ -9,7 +9,6 @@ Channel
 
 process index_fasta {
   tag "$fasta.baseName"
-  cpus 4
   publishDir "results/mapping/index/", mode: 'copy'
 
   input:
diff --git a/src/nf_modules/kallisto/mapping_paired.config b/src/nf_modules/kallisto/mapping_paired.config
index a0ec051d1c2a3300aae241dbccfc36bdc06a9f85..3a26a4fe0bfd29b60268fd3398bbabb8b87bb9ba 100644
--- a/src/nf_modules/kallisto/mapping_paired.config
+++ b/src/nf_modules/kallisto/mapping_paired.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: mapping_fastq {
         container = "kallisto:0.44.0"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: mapping_fastq {
+        container = "file://bin/kallisto:0.44.0.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "kallisto/0.44.0"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/kallisto/mapping_paired.nf b/src/nf_modules/kallisto/mapping_paired.nf
index 4f4ad3d167292dcf9919506f89103dbbbab7f709..455e70cd4030a28e9fe3fcaccadc92e915c75859 100644
--- a/src/nf_modules/kallisto/mapping_paired.nf
+++ b/src/nf_modules/kallisto/mapping_paired.nf
@@ -15,7 +15,6 @@ Channel
 
 process mapping_fastq {
   tag "$reads"
-  cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
diff --git a/src/nf_modules/kallisto/mapping_single.config b/src/nf_modules/kallisto/mapping_single.config
index a0ec051d1c2a3300aae241dbccfc36bdc06a9f85..3a26a4fe0bfd29b60268fd3398bbabb8b87bb9ba 100644
--- a/src/nf_modules/kallisto/mapping_single.config
+++ b/src/nf_modules/kallisto/mapping_single.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: mapping_fastq {
         container = "kallisto:0.44.0"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: mapping_fastq {
+        container = "file://bin/kallisto:0.44.0.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "kallisto/0.44.0"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/kallisto/mapping_single.nf b/src/nf_modules/kallisto/mapping_single.nf
index 97861e76faad7a266b279bb6fe8ac77964c94284..95bed86418491de0f8038a23c14c6b75eb973d55 100644
--- a/src/nf_modules/kallisto/mapping_single.nf
+++ b/src/nf_modules/kallisto/mapping_single.nf
@@ -20,7 +20,6 @@ Channel
 
 process mapping_fastq {
   tag "$file_id"
-  cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
diff --git a/src/nf_modules/kallisto/tests.sh b/src/nf_modules/kallisto/tests.sh
index 299c8dd5e5c66f9d3e667f42161eab435840fef7..f8816f0ab6ea505a9c0cb22331107d612f6fadf4 100755
--- a/src/nf_modules/kallisto/tests.sh
+++ b/src/nf_modules/kallisto/tests.sh
@@ -18,3 +18,24 @@
   --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" \
   -resume
 
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/kallisto/indexing.nf \
+  -c src/nf_modules/kallisto/indexing.config \
+  -profile docker \
+  --fasta "data/tiny_dataset/fasta/tiny_v2.fasta" \
+  -resume
+
+./nextflow src/nf_modules/kallisto/mapping_single.nf \
+  -c src/nf_modules/kallisto/mapping_single.config \
+  -profile docker \
+  --index "results/mapping/index/tiny_v2.index" \
+  --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" \
+  -resume
+
+./nextflow src/nf_modules/kallisto/mapping_paired.nf \
+  -c src/nf_modules/kallisto/mapping_paired.config \
+  -profile docker \
+  --index "results/mapping/index/tiny_v2.index" \
+  --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" \
+  -resume
+fi
diff --git a/src/nf_modules/multiqc/multiqc_paired.config b/src/nf_modules/multiqc/multiqc_paired.config
index 323e81d2ebfc1570109cd9013280f5bd43ec82b6..9e16c674b0403f0dd74e6dd0fa84ea08d6dcbe4b 100644
--- a/src/nf_modules/multiqc/multiqc_paired.config
+++ b/src/nf_modules/multiqc/multiqc_paired.config
@@ -6,9 +6,24 @@ profiles {
     process {
       withName: fastqc_fastq {
         container = "fastqc:0.11.5"
+        cpus = 1
       }
       withName: multiqc {
         container = "multiqc:1.0"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: fastqc_fastq {
+        container = "file://bin/fastqc:0.11.5.sif"
+        cpus = 1
+      }
+      withName: multiqc {
+        container = "file://bin/multiqc:1.0.sif"
+        cpus = 1
       }
     }
   }
@@ -19,6 +34,7 @@ profiles {
         module = "fastqc/0.11.5"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "5GB"
         time = "6h"
         queueSize = 1000
@@ -30,6 +46,7 @@ profiles {
         module = "multiqc/1.0"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "5GB"
         time = "6h"
         queueSize = 1000
diff --git a/src/nf_modules/multiqc/multiqc_single.config b/src/nf_modules/multiqc/multiqc_single.config
index a7f3e82e016ef440f78921408ef865ae1d386b8a..56a734c869ec48e6b6d3c25eaf142f8dcb7fd192 100644
--- a/src/nf_modules/multiqc/multiqc_single.config
+++ b/src/nf_modules/multiqc/multiqc_single.config
@@ -5,9 +5,24 @@ profiles {
     process {
       withName: fastqc_fastq {
         container = "fastqc:0.11.5"
+        cpus = 1
       }
       withName: multiqc {
         container = "multiqc:1.0"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: fastqc_fastq {
+        container = "file://bin/fastqc:0.11.5.sif"
+        cpus = 1
+      }
+      withName: multiqc {
+        container = "file://bin/multiqc:1.0.sif"
+        cpus = 1
       }
     }
   }
@@ -18,6 +33,7 @@ profiles {
         module = "fastqc/0.11.5"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "5GB"
         time = "6h"
         queueSize = 1000
@@ -29,6 +45,7 @@ profiles {
         module = "multiqc/1.0"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "5GB"
         time = "6h"
         queueSize = 1000
diff --git a/src/nf_modules/multiqc/tests.sh b/src/nf_modules/multiqc/tests.sh
index b323f30055fcfabbd4625a9add3cf60b81a742d2..0ba607642695fc8a0e30c67f3658cef0da020378 100755
--- a/src/nf_modules/multiqc/tests.sh
+++ b/src/nf_modules/multiqc/tests.sh
@@ -9,3 +9,17 @@
   -profile docker \
   --fastq "data/tiny_dataset/fastq/tiny_S.fastq" \
   -resume
+
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/multiqc/multiqc_paired.nf \
+  -c src/nf_modules/multiqc/multiqc_paired.config \
+  -profile docker \
+  --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" \
+  -resume
+
+./nextflow src/nf_modules/multiqc/multiqc_single.nf \
+  -c src/nf_modules/multiqc/multiqc_single.config \
+  -profile docker \
+  --fastq "data/tiny_dataset/fastq/tiny_S.fastq" \
+  -resume
+fi
diff --git a/src/nf_modules/music/peak_calling_single.config b/src/nf_modules/music/peak_calling_single.config
index f9a1d7991fda7f0887a2a6b71617cb0039048463..713c2e7a0e6caeb6bc4f61fcb2273228886b83ca 100644
--- a/src/nf_modules/music/peak_calling_single.config
+++ b/src/nf_modules/music/peak_calling_single.config
@@ -5,12 +5,32 @@ profiles {
     process {
       withName: compute_mappability {
         container = "music:6613c53"
+        cpus = 1
       }
       withName: music_preprocessing {
         container = "music:6613c53"
+        cpus = 1
       }
       withName: music_computation {
         container = "music:6613c53"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: compute_mappability {
+        container = "file://bin/music:6613c53.sif"
+        cpus = 1
+      }
+      withName: music_preprocessing {
+        container = "file://bin/music:6613c53.sif"
+        cpus = 1
+      }
+      withName: music_computation {
+        container = "file://bin/music:6613c53.sif"
+        cpus = 1
       }
     }
   }
@@ -21,6 +41,7 @@ profiles {
         module = "music/6613c53"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
@@ -30,6 +51,7 @@ profiles {
         module = "music/6613c53"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
@@ -39,6 +61,7 @@ profiles {
         module = "music/6613c53"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
diff --git a/src/nf_modules/rsem/indexing.config b/src/nf_modules/rsem/indexing.config
index 059dbbaa49253c00a1e82fcd0cb6dd2b4802234c..f7265d6550ca5cd48ebb244942a49d067bfde89e 100644
--- a/src/nf_modules/rsem/indexing.config
+++ b/src/nf_modules/rsem/indexing.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: index_fasta {
         container = "rsem:1.3.0"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: index_fasta {
+        container = "file://bin/rsem:1.3.0.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "rsem/1.3.0:samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/rsem/indexing.nf b/src/nf_modules/rsem/indexing.nf
index 0f5473ac900f1d7c99975db7467abed466b98abb..4b95622aaa31f5eece4390f3f09418750e44570c 100644
--- a/src/nf_modules/rsem/indexing.nf
+++ b/src/nf_modules/rsem/indexing.nf
@@ -14,7 +14,6 @@ Channel
 
 process index_fasta {
   tag "$fasta.baseName"
-  cpus 4
   publishDir "results/mapping/index/", mode: 'copy'
 
   input:
diff --git a/src/nf_modules/rsem/quantification_paired.config b/src/nf_modules/rsem/quantification_paired.config
index 16de29e87a153f7cd1e95ea7c1bd7e6391d1cfaa..520a7064118b72ff61d8f4f8d9ecc76e63bf6815 100644
--- a/src/nf_modules/rsem/quantification_paired.config
+++ b/src/nf_modules/rsem/quantification_paired.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: mapping_fastq {
         container = "rsem:1.3.0"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: mapping_fastq {
+        container = "file://bin/rsem:1.3.0.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "rsem/1.3.0:samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/rsem/quantification_paired.nf b/src/nf_modules/rsem/quantification_paired.nf
index a22950fd2b4a0548ea7a45bc0a0965992246047f..c9e23ac8d19e510eee63823069dcb5bc86a38c9b 100644
--- a/src/nf_modules/rsem/quantification_paired.nf
+++ b/src/nf_modules/rsem/quantification_paired.nf
@@ -15,7 +15,6 @@ Channel
 
 process mapping_fastq {
   tag "$pair_id"
-  cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
diff --git a/src/nf_modules/rsem/quantification_single.config b/src/nf_modules/rsem/quantification_single.config
index 16de29e87a153f7cd1e95ea7c1bd7e6391d1cfaa..520a7064118b72ff61d8f4f8d9ecc76e63bf6815 100644
--- a/src/nf_modules/rsem/quantification_single.config
+++ b/src/nf_modules/rsem/quantification_single.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: mapping_fastq {
         container = "rsem:1.3.0"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: mapping_fastq {
+        container = "file://bin/rsem:1.3.0.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "rsem/1.3.0:samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/rsem/quantification_single.nf b/src/nf_modules/rsem/quantification_single.nf
index d52b7f446049abac081b5a17f2202909f070e600..fe635ca8106e89c0976ae7ad38107b7faaf0f1df 100644
--- a/src/nf_modules/rsem/quantification_single.nf
+++ b/src/nf_modules/rsem/quantification_single.nf
@@ -20,7 +20,6 @@ Channel
 
 process mapping_fastq {
   tag "$file_id"
-  cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
diff --git a/src/nf_modules/rsem/tests.sh b/src/nf_modules/rsem/tests.sh
index fdf0aa302ee19cf9777044ac678e28cb3df78f85..13256a52c5013e9ca010b8630f6dcdb573df5455 100755
--- a/src/nf_modules/rsem/tests.sh
+++ b/src/nf_modules/rsem/tests.sh
@@ -19,3 +19,26 @@
   --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" \
   -resume
 
+
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/rsem/indexing.nf \
+  -c src/nf_modules/rsem/indexing.config \
+  -profile docker \
+  --fasta "data/tiny_dataset/fasta/tiny_v2.fasta" \
+  --annotation "data/tiny_dataset/annot/tiny.gff" \
+  -resume
+
+./nextflow src/nf_modules/rsem/quantification_single.nf \
+  -c src/nf_modules/rsem/quantification_single.config \
+  -profile docker \
+  --index "results/mapping/index/tiny_v2.index*" \
+  --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" \
+  -resume
+
+./nextflow src/nf_modules/rsem/quantification_paired.nf \
+  -c src/nf_modules/rsem/quantification_paired.config \
+  -profile docker \
+  --index "results/mapping/index/tiny_v2.index*" \
+  --fastq "data/tiny_dataset/fastq/tiny*_R{1,2}.fastq" \
+  -resume
+fi
diff --git a/src/nf_modules/samblaster/dedup_sams.config b/src/nf_modules/samblaster/dedup_sams.config
index 42e3757cc206d52cc96a4dcdab48f5c3f41fa1c3..f98a94ca8be264ba45a18e8550935b64d07223bf 100644
--- a/src/nf_modules/samblaster/dedup_sams.config
+++ b/src/nf_modules/samblaster/dedup_sams.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: dedup_sam {
         container = "samblaster:0.1.24"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: split_bam {
+        container = "file://bin/sambamba:0.6.7.sif"
+        cpus = 4
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "samblaster/0.1.24"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 16
         memory = "30GB"
         time = "24h"
         queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
diff --git a/src/nf_modules/samblaster/dedup_sams.nf b/src/nf_modules/samblaster/dedup_sams.nf
index ae07c975a65d4af403ba4a6dca5a641fa6e919a1..24f4fc5ac75a41698ee0aedcc6d3ab59aae9c61d 100644
--- a/src/nf_modules/samblaster/dedup_sams.nf
+++ b/src/nf_modules/samblaster/dedup_sams.nf
@@ -10,7 +10,6 @@ Channel
 
 process dedup_sam {
   tag "$file_id"
-  cpus 4
 
   input:
     set file_id, file(bam) from bam_files
diff --git a/src/nf_modules/samblaster/tests.sh b/src/nf_modules/samblaster/tests.sh
index 962f2b8be768607192a4d8fe3e997746f026eeaa..10ad93d7841ba4b708664803c0ca1299cc34ee19 100755
--- a/src/nf_modules/samblaster/tests.sh
+++ b/src/nf_modules/samblaster/tests.sh
@@ -3,3 +3,11 @@
   -profile docker \
   --bam "data/tiny_dataset/map/tiny_v2.bam" \
   -resume
+
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/samblaster/dedup_sams.nf \
+  -c src/nf_modules/samblaster/dedup_sams.config \
+  -profile docker \
+  --bam "data/tiny_dataset/map/tiny_v2.bam" \
+  -resume
+fi
diff --git a/src/nf_modules/samtools/filter_bams.config b/src/nf_modules/samtools/filter_bams.config
index 36d191dc499b3fdbd32f4d1bef4845d38e3ac50c..0d411c507541692b3fae1c33200abafd96ebe143 100644
--- a/src/nf_modules/samtools/filter_bams.config
+++ b/src/nf_modules/samtools/filter_bams.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: filter_bam {
         container = "samtools:1.7"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: filter_bam {
+        container = "file://bin/samtools:1.7.sif"
+        cpus = 4
       }
     }
   }
@@ -15,9 +25,11 @@ profiles {
         module = "samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
-        memory = "20GB"
-        time = "12h"
-        queue = 'monointeldeb128'
+        cpus = 16
+        memory = "30GB"
+        time = "24h"
+        queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
+        penv = 'openmp16'
       }
     }
   }
diff --git a/src/nf_modules/samtools/filter_bams.nf b/src/nf_modules/samtools/filter_bams.nf
index 0812a19b227049fd05b54f46cbc30b246da73127..6e81b758dede1f317d981409f7c85571ede55b06 100644
--- a/src/nf_modules/samtools/filter_bams.nf
+++ b/src/nf_modules/samtools/filter_bams.nf
@@ -16,7 +16,6 @@ Channel
 
 process filter_bam {
   tag "$file_id"
-  cpus 4
 
   input:
     set file_id, file(bam) from bam_files
diff --git a/src/nf_modules/samtools/index_bams.config b/src/nf_modules/samtools/index_bams.config
index fc6122c9c5f11d894722dea126289c8b6e29fec7..3f70dc27583476fcd700b3a156fce78c140aa688 100644
--- a/src/nf_modules/samtools/index_bams.config
+++ b/src/nf_modules/samtools/index_bams.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: index_bam {
         container = "samtools:1.7"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: index_bam {
+        container = "file://bin/samtools:1.7.sif"
+        cpus = 1
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
diff --git a/src/nf_modules/samtools/sort_bams.config b/src/nf_modules/samtools/sort_bams.config
index 0071ca2c33e6ae6d8240cff376f2eaea84e46285..8a84a222c511912c12be3d03de82d0a063cf6a34 100644
--- a/src/nf_modules/samtools/sort_bams.config
+++ b/src/nf_modules/samtools/sort_bams.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: sort_bam {
         container = "samtools:1.7"
+        cpus = 4
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: sort_bam {
+        container = "file://bin/samtools:1.7.sif"
+        cpus = 4
       }
     }
   }
@@ -15,9 +25,11 @@ profiles {
         module = "samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
-        memory = "20GB"
-        time = "12h"
-        queue = 'monointeldeb128'
+        cpus = 16
+        memory = "30GB"
+        time = "24h"
+        queue = 'E5-2670deb128A,E5-2670deb128B,E5-2670deb128C,E5-2670deb128D,E5-2670deb128E,E5-2670deb128F'
+        penv = 'openmp16'
       }
     }
   }
diff --git a/src/nf_modules/samtools/sort_bams.nf b/src/nf_modules/samtools/sort_bams.nf
index ab5c7e5140989b83eebd25f7b4dbb206520416b6..db1b30d1d6d59ae74535267815f6f887e2b267dd 100644
--- a/src/nf_modules/samtools/sort_bams.nf
+++ b/src/nf_modules/samtools/sort_bams.nf
@@ -10,7 +10,6 @@ Channel
 
 process sort_bam {
   tag "$file_id"
-  cpus 4
 
   input:
     set file_id, file(bam) from bam_files
diff --git a/src/nf_modules/samtools/split_bams.config b/src/nf_modules/samtools/split_bams.config
index e2d521cefc24944cdc2a760cd77842fe0dd1004f..8b285ac9dd0711110a0868787af086a3781e996d 100644
--- a/src/nf_modules/samtools/split_bams.config
+++ b/src/nf_modules/samtools/split_bams.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: split_bam {
         container = "samtools:1.7"
+        cpus = 2
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: split_bam {
+        container = "file://bin/samtools:1.7.sif"
+        cpus = 2
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "samtools/1.7"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
diff --git a/src/nf_modules/samtools/split_bams.nf b/src/nf_modules/samtools/split_bams.nf
index f8ba6a50c7d7aecfb7c9c7b0fff8d4436cf055a4..0d02a5d170893a88625a0885ffed16e1adbef35c 100644
--- a/src/nf_modules/samtools/split_bams.nf
+++ b/src/nf_modules/samtools/split_bams.nf
@@ -10,7 +10,6 @@ Channel
 
 process split_bam {
   tag "$file_id"
-  cpus 2
 
   input:
     set file_id, file(bam) from bam_files
diff --git a/src/nf_modules/samtools/tests.sh b/src/nf_modules/samtools/tests.sh
index e9bd50d06e98b6f84df3d4e274ea7f0c9d42dd12..256fa058beeaf3464391f4e974a2b4a2ef499b0c 100755
--- a/src/nf_modules/samtools/tests.sh
+++ b/src/nf_modules/samtools/tests.sh
@@ -22,3 +22,30 @@
   --bam "data/tiny_dataset/map/tiny_v2.bam" \
   --bed "data/tiny_dataset/OLD/2genes.bed" \
   -resume
+
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/samtools/sort_bams.nf \
+  -c src/nf_modules/samtools/sort_bams.config \
+  -profile docker \
+  --bam "data/tiny_dataset/map/tiny_v2.bam" \
+  -resume
+
+./nextflow src/nf_modules/samtools/index_bams.nf \
+  -c src/nf_modules/samtools/index_bams.config \
+  -profile docker \
+  --bam "data/tiny_dataset/map/tiny_v2.sort.bam" \
+  -resume
+
+./nextflow src/nf_modules/samtools/split_bams.nf \
+  -c src/nf_modules/samtools/split_bams.config \
+  -profile docker \
+  --bam "data/tiny_dataset/map/tiny_v2.bam" \
+  -resume
+
+./nextflow src/nf_modules/samtools/filter_bams.nf \
+  -c src/nf_modules/samtools/filter_bams.config \
+  -profile docker \
+  --bam "data/tiny_dataset/map/tiny_v2.bam" \
+  --bed "data/tiny_dataset/OLD/2genes.bed" \
+  -resume
+fi
diff --git a/src/nf_modules/sratoolkit/fastqdump.config b/src/nf_modules/sratoolkit/fastqdump.config
index ef335129858460c7ab291afe9935c3feeae20a35..9a0a30cf1e4d72fafb538a6c9ceabb10d370b2bd 100644
--- a/src/nf_modules/sratoolkit/fastqdump.config
+++ b/src/nf_modules/sratoolkit/fastqdump.config
@@ -5,6 +5,16 @@ profiles {
     process {
       withName: fastq_dump {
         container = "sratoolkit:2.8.2"
+        cpus = 1
+      }
+    }
+  }
+  singularity {
+    singularity.enabled = true
+    process {
+      withName: split_bam {
+        container = "file://bin/sambamba:0.6.7.sif"
+        cpus = 1
       }
     }
   }
@@ -15,6 +25,7 @@ profiles {
         module = "sratoolkit/2.8.2"
         executor = "sge"
         clusterOptions = "-m e -cwd -V"
+        cpus = 1
         memory = "20GB"
         time = "12h"
         queue = 'monointeldeb128'
diff --git a/src/nf_modules/sratoolkit/tests.sh b/src/nf_modules/sratoolkit/tests.sh
index 97d8026bb29f0c8ac6154452ddc89a8ba8939f78..1747137d454630bffa8538efc3009469f271b50c 100755
--- a/src/nf_modules/sratoolkit/tests.sh
+++ b/src/nf_modules/sratoolkit/tests.sh
@@ -3,3 +3,11 @@
   -profile docker \
   --list_srr "src/nf_modules/sratoolkit/list-srr.txt" \
   -resume
+
+if [ -x "$(command -v singularity)" ]; then
+./nextflow src/nf_modules/sratoolkit/fastqdump.nf \
+  -c src/nf_modules/sratoolkit/fastqdump.config \
+  -profile docker \
+  --list_srr "src/nf_modules/sratoolkit/list-srr.txt" \
+  -resume
+fi