59 lines (46 with data), 1.7 kB
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IMPORT NF-CORE MODULES/SUBWORKFLOWS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
include { STIMULUS_SPLIT_DATA } from '../../../modules/local/stimulus/split_csv'
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RUN MAIN SUBWORKFLOW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
workflow SPLIT_CSV_WF {
take:
ch_data
ch_config_split
main:
ch_versions = Channel.empty()
// ==============================================================================
// Split csv data using stimulus
// ==============================================================================
// combine each data with each split config
ch_input = ch_data
.combine(ch_config_split)
.multiMap { meta_data, data, meta_config, config ->
def meta = meta_data + [split_id: meta_config.split_id]
data:
[meta, data]
config:
[meta, config]
}
// run stimulus split
STIMULUS_SPLIT_DATA(
ch_input.data,
ch_input.config
)
ch_split_data = STIMULUS_SPLIT_DATA.out.csv_with_split
ch_versions = ch_versions.mix(STIMULUS_SPLIT_DATA.out.versions)
emit:
split_data = ch_split_data
versions = ch_versions // channel: [ versions.yml ]
}
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THE END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/