--- a +++ b/main.nf @@ -0,0 +1,124 @@ +#!/usr/bin/env nextflow +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + nf-core/deepmodeloptim +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Github : https://github.com/nf-core/deepmodeloptim + Website: https://nf-co.re/deepmodeloptim + Slack : https://nfcore.slack.com/channels/deepmodeloptim +---------------------------------------------------------------------------------------- +*/ + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RUN ALL WORKFLOWS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +include { DEEPMODELOPTIM } from './workflows/deepmodeloptim' +include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_deepmodeloptim_pipeline' +include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_deepmodeloptim_pipeline' + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + NAMED WORKFLOWS FOR PIPELINE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +// +// WORKFLOW: Run main analysis pipeline depending on type of input +// +workflow NFCORE_DEEPMODELOPTIM { + + take: + data + data_config + model + model_config + initial_weights + preprocessing_config + genome + tune_trials_range + tune_replicates + prediction_data + + main: + + // + // WORKFLOW: Run pipeline + // + DEEPMODELOPTIM ( + data, + data_config, + model, + model_config, + initial_weights, + preprocessing_config, + genome, + tune_trials_range, + tune_replicates, + prediction_data + ) +} + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RUN MAIN WORKFLOW +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +workflow { + + main: + // + // SUBWORKFLOW: Run initialisation tasks + // + PIPELINE_INITIALISATION ( + params.version, + params.validate_params, + params.monochrome_logs, + args, + params.outdir, + // and the input files + params.data, + params.data_config, + params.model, + params.model_config, + params.initial_weights, + params.preprocessing_config + ) + + // + // WORKFLOW: Run main workflow + // + NFCORE_DEEPMODELOPTIM ( + PIPELINE_INITIALISATION.out.data, + PIPELINE_INITIALISATION.out.data_config, + PIPELINE_INITIALISATION.out.model, + PIPELINE_INITIALISATION.out.model_config, + PIPELINE_INITIALISATION.out.initial_weights, + PIPELINE_INITIALISATION.out.preprocessing_config, + PIPELINE_INITIALISATION.out.genome, + PIPELINE_INITIALISATION.out.tune_trials_range, + PIPELINE_INITIALISATION.out.tune_replicates, + PIPELINE_INITIALISATION.out.prediction_data + ) + + // + // SUBWORKFLOW: Run completion tasks + // + PIPELINE_COMPLETION ( + params.email, + params.email_on_fail, + params.plaintext_email, + params.outdir, + params.monochrome_logs, + params.hook_url + ) +} + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + THE END +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/