diff --git a/src/main.nf b/src/main.nf
index 7269cae383f110f95d88d8b3c3d50a87ab7b65a0..5034df44fe25910c997e505e8090222c4b15ee25 100644
--- a/src/main.nf
+++ b/src/main.nf
@@ -5,6 +5,7 @@ Testing pipeline for marseq scRNASeq analysis
 */
 
 include { FASTKMERS } from "./modules/fastkmers"
+include { SPLIT } from "./modules/split"
 
 
 Channel.fromPath( file(params.csv) )
@@ -18,5 +19,6 @@ Channel.fromPath( file(params.csv) )
                     .set{ fastq }
 
 workflow {
-  FASTKMERS(fastq.r1.mix(fastq.r2).splitFastq( by: 1000000, compress: true, file: true ))
+  SPLIT(fastq.r1.mix(fastq.r2))
+  FASTKMERS(SPLIT.out.fastq.transpose())
 }
diff --git a/src/modules/fastkmers.nf b/src/modules/fastkmers.nf
index 4384f0b4ef6b25f9a0f805a39162863e383e6eb8..ebbdf45db41435ed556dd6f6ab1bf4bf158679e8 100644
--- a/src/modules/fastkmers.nf
+++ b/src/modules/fastkmers.nf
@@ -3,7 +3,7 @@
  */
 process FASTKMERS {
     tag "$meta.id"
-    label 'process_single'
+    label 'big_mem_mono_cpus'
     publishDir "results/${meta.specie}/${meta.sex}/${meta.read}/", mode: 'copy'
 
     container "lbmc/fastkmers:025efdf"
diff --git a/src/modules/split.nf b/src/modules/split.nf
new file mode 100644
index 0000000000000000000000000000000000000000..73249144894f7f48ceeaaab7ee9d0d59b9ef2ae8
--- /dev/null
+++ b/src/modules/split.nf
@@ -0,0 +1,23 @@
+process SPLIT {
+    tag "$meta.id"
+    label 'small_mem_mono_cpus'
+
+    container "alpine:3.17"
+
+    input:
+    tuple val(meta), path(fastq)
+
+    output:
+    tuple val(meta), path("*.fastq.gz"), emit: fastq
+    path "versions.yml"           , emit: versions
+
+    script:
+    def args = task.ext.args ?: ''
+    """
+    zcat ${fastq} | split -d -l4000000 --filter='gzip > \$FILE.fastq.gz' ${fastq.simpleName}_
+
+    "${task.process}":
+        split: v1.35.0
+    END_VERSIONS
+    """
+}