diff --git a/src/nf_modules/flexi_splitter/main.nf b/src/nf_modules/flexi_splitter/main.nf new file mode 100644 index 0000000000000000000000000000000000000000..fdb5f29bd943bab5885ed070143ecbf7cda7664c --- /dev/null +++ b/src/nf_modules/flexi_splitter/main.nf @@ -0,0 +1,43 @@ +version = "1.0.2" +container_url = "lbmc/flexi_splitter:${version}" + +params.split = "" +params.split_out = "" + +process split { + // You can get an example of config file here: + // src/nf_modules/flexi_splitter/marseq_flexi_splitter.yaml + container = "${container_url}" + label "big_mem_multi_cpus" + tag "$file_prefix" + if (params.split_out != "") { + publishDir "results/${params.split_out}", mode: 'copy' + } + + input: + tuple val(file_id), path(reads) + tuple val(config_id), path(config) + + output: + tuple val(file_id), path("*.fastq*"), emit: fastq + + script: + if (file_id instanceof List){ + file_prefix = file_id[0] + } else { + file_prefix = file_id + } + def whitelist_param = "" + if (whitelist_id != "NO CONFIG"){ + whitelist_param = "-w ${white_list}" + } + + if (reads.size() == 2) + """ + flexi_splitter ${params.split} -f ${reads[0]} ${read[1]} -c ${config} -o split + """ + else + """ + flexi_splitter ${params.split} -f ${reads[0]} -c ${config} -o split + """ +} diff --git a/src/nf_modules/flexi_splitter/marseq_flexi_splitter.yaml b/src/nf_modules/flexi_splitter/marseq_flexi_splitter.yaml new file mode 100644 index 0000000000000000000000000000000000000000..72f46d2dc1833e1fab00b734aefadd55a70b44c1 --- /dev/null +++ b/src/nf_modules/flexi_splitter/marseq_flexi_splitter.yaml @@ -0,0 +1,41 @@ +PLATE: + coords: + reads: 0 + start: 1 + stop: 4 + header: False + samples: + - name : Plate1 + seq: GACT + - name : Plate2 + seq: CATG + - name : Plate3 + seq: CCAA + - name : Plate4 + seq: CTGT + - name : Plate5 + seq: GTAG + - name : Plate6 + seq: TGAT + - name : Plate7 + seq: ATCA + - name : Plate8 + seq: TAGA + +conditions: + - Plate1 : + Plate1 + - Plate2 : + Plate2 + - Plate3 : + Plate3 + - Plate4 : + Plate4 + - Plate5 : + Plate5 + - Plate6 : + Plate6 + - Plate7 : + Plate7 + - Plate8 : + Plate8