diff --git a/.gitignore b/.gitignore index 7f20e6ac..53fcf2b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ target testData +resources_test # Nextflow related files .nextflow diff --git a/_viash.yaml b/_viash.yaml index 38f36696..54d96fa9 100644 --- a/_viash.yaml +++ b/_viash.yaml @@ -50,7 +50,7 @@ info: config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} diff --git a/src/io/publish_results/code.sh b/src/io/publish_results/code.sh index 72dd5ed5..62349343 100755 --- a/src/io/publish_results/code.sh +++ b/src/io/publish_results/code.sh @@ -1,44 +1,93 @@ #!/bin/bash -echo "Publishing $par_input -> $par_output" +set -eo pipefail + +echo "Publishing results to multiple output directories" + +# Create output directories for multiple files +echo "Creating output directories..." + +path_pars=( + par_star_output_dir + par_nrReadsNrGenesPerChrom_dir + par_star_qc_metrics_dir + par_eset_dir + par_f_data_dir + par_p_data_dir + par_html_report_output + par_run_params_output +) + +for par in ${path_pars[@]}; do + curr_val="${!par}" + new_value=$(realpath --canonicalize-missing "$curr_val") + declare -g "$par=$new_value" +done + +mkdir -p "$par_star_output_dir" && echo "$par_star_output_dir created" +mkdir -p "$par_nrReadsNrGenesPerChrom_dir" && echo "$par_nrReadsNrGenesPerChrom_dir created" +mkdir -p "$par_star_qc_metrics_dir" && echo "$par_star_qc_metrics_dir created" +mkdir -p "$par_eset_dir" && echo "$par_eset_dir created" +mkdir -p "$par_f_data_dir" && echo "$par_f_data_dir created" +mkdir -p "$par_p_data_dir" && echo "$par_p_data_dir created" echo -echo "Creating directory if it does not exist:" -mkdir -p "$par_output" && echo "$par_output created" - -echo -echo "Copying files..." +echo "Copying STAR output files..." IFS=";" read -ra star_output <<<$par_star_output -IFS=";" read -ra nrReadsNrGenesPerChrom <<<$par_nrReadsNrGenesPerChrom -IFS=";" read -ra star_qc_metrics <<<$par_star_qc_metrics -IFS=";" read -ra eset <<<$par_eset -IFS=";" read -ra f_data <<<$par_f_data -IFS=";" read -ra p_data <<<$par_p_data - for i in "${star_output[@]}"; do - cp -rL "$i" "$par_output/" + echo "Copying $i to $par_star_output_dir/" + cp -rL "$i" "$par_star_output_dir/" done +echo +echo "Copying nrReadsNrGenesPerChrom files..." +IFS=";" read -ra nrReadsNrGenesPerChrom <<<$par_nrReadsNrGenesPerChrom for i in "${nrReadsNrGenesPerChrom[@]}"; do - cp -rL "$i" "$par_output/" + echo "Copying $i to $par_nrReadsNrGenesPerChrom_dir/" + cp -rL "$i" "$par_nrReadsNrGenesPerChrom_dir/" done +echo +echo "Copying STAR QC metrics files..." +IFS=";" read -ra star_qc_metrics <<<$par_star_qc_metrics for i in "${star_qc_metrics[@]}"; do - cp -rL "$i" "$par_output/" + echo "Copying $i to $par_star_qc_metrics_dir/" + cp -rL "$i" "$par_star_qc_metrics_dir/" done +echo +echo "Copying eset files..." +IFS=";" read -ra eset <<<$par_eset for i in "${eset[@]}"; do - cp -rL "$i" "$par_output/" + echo "Copying $i to $par_eset_dir/" + cp -rL "$i" "$par_eset_dir/" done +echo +echo "Copying f_data files..." +IFS=";" read -ra f_data <<<$par_f_data for i in "${f_data[@]}"; do - cp -rL "$i" "$par_output/" + echo "Copying $i to $par_f_data_dir/" + cp -rL "$i" "$par_f_data_dir/" done +echo +echo "Copying p_data files..." +IFS=";" read -ra p_data <<<$par_p_data for i in "${p_data[@]}"; do - cp -rL "$i" "$par_output/" + echo "Copying $i to $par_p_data_dir/" + cp -rL "$i" "$par_p_data_dir/" done -cp -rL "$par_html_report" "$par_output/" +echo +echo "Copying single files directly..." +mkdir -p $(dirname "$par_html_report_output") +echo "Copying $par_html_report to $par_html_report_output" +cp -L "$par_html_report" "$par_html_report_output" -cp -rL "$par_run_params" "$par_output/" +echo "Copying $par_run_params to $par_run_params_output" +mkdir -p $(dirname "$par_run_params_output") +cp -L "$par_run_params" "$par_run_params_output" + +echo +echo "Publishing completed successfully!" diff --git a/src/io/publish_results/config.vsh.yaml b/src/io/publish_results/config.vsh.yaml index 5c294aba..6da4c312 100644 --- a/src/io/publish_results/config.vsh.yaml +++ b/src/io/publish_results/config.vsh.yaml @@ -35,13 +35,44 @@ argument_groups: - name: "--run_params" type: file required: true - - name: Output arguments + - name: Output directory + description: | + Determines the name of output directories arguments: - - name: --output + - name: --star_output_dir type: file direction: output - # ID is the well barcode - default: "$id/" + default: "star_output" + - name: --nrReadsNrGenesPerChrom_dir + type: file + direction: output + default: "nrReadsNrGenesPerChrom" + - name: --star_qc_metrics_dir + type: file + direction: output + default: "starLogs" + - name: --eset_dir + type: file + direction: output + default: "esets" + - name: --f_data_dir + type: file + direction: output + default: "fData" + - name: --p_data_dir + type: file + direction: output + default: "pData" + - name: "Output file arguments" + description: Determines the name of output files + arguments: + - name: "--run_params_output" + type: file + direction: output + - name: "--html_report_output" + type: file + direction: output + resources: - type: bash_script diff --git a/src/workflows/htrnaseq/main.nf b/src/workflows/htrnaseq/main.nf index 9b32050b..6b7fb1a4 100644 --- a/src/workflows/htrnaseq/main.nf +++ b/src/workflows/htrnaseq/main.nf @@ -344,7 +344,6 @@ workflow run_wf { | setState([ "star_output": "star_output", "fastq_output": "fastq_output_directory", - "star_output": "star_output", "nrReadsNrGenesPerChrom": "nrReadsNrGenesPerChromPool", "star_qc_metrics": "star_qc_metrics", "eset": "eset", diff --git a/src/workflows/runner/config.vsh.yaml b/src/workflows/runner/config.vsh.yaml index 26509a23..b6101e8a 100644 --- a/src/workflows/runner/config.vsh.yaml +++ b/src/workflows/runner/config.vsh.yaml @@ -66,15 +66,36 @@ argument_groups: required: true - name: Output arguments arguments: - - name: "--eset_output" - type: file - direction: output - default: esets + - name: "--star_output_dir" + type: file + direction: output + default: "star_output" + - name: "--nrReadsNrGenesPerChrom_dir" + type: file + direction: output + default: "nrReadsNrGenesPerChrom" + - name: "--star_qc_metrics_dir" + type: file + direction: output + default: "starLogs" + - name: "--eset_dir" + type: file + direction: output + default: "esets" + - name: "--f_data_dir" + type: file + direction: output + default: "fData" + - name: "--p_data_dir" + type: file + direction: output + default: "pData" resources: - type: nextflow_script path: main.nf entrypoint: run_wf + - path: disable_publishfiles_process.config test_resources: - type: nextflow_script @@ -95,6 +116,9 @@ dependencies: runners: - type: nextflow + config: + script: + - includeConfig("disable_publishfiles_process.config") engines: - type: native diff --git a/src/workflows/runner/disable_publishfiles_process.config b/src/workflows/runner/disable_publishfiles_process.config new file mode 100644 index 00000000..6cff5e26 --- /dev/null +++ b/src/workflows/runner/disable_publishfiles_process.config @@ -0,0 +1,5 @@ +process { + withName: publishFilesProc { + publishDir = [ enabled: false ] + } +} \ No newline at end of file diff --git a/src/workflows/runner/integration_test.sh b/src/workflows/runner/integration_test.sh index 57531155..eb67d014 100755 --- a/src/workflows/runner/integration_test.sh +++ b/src/workflows/runner/integration_test.sh @@ -1,6 +1,8 @@ # get the root of the directory REPO_ROOT=$(git rev-parse --show-toplevel) +set -eo pipefail + # ensure that the command below is run from the root of the repository cd "$REPO_ROOT" diff --git a/src/workflows/runner/main.nf b/src/workflows/runner/main.nf index 515cf565..d2111352 100644 --- a/src/workflows/runner/main.nf +++ b/src/workflows/runner/main.nf @@ -26,7 +26,6 @@ workflow run_wf { def new_state = ["run_params": run_params_output_templates[0], "all_states": all_states] return [new_id, new_state] } - | save_params.run( key: "save_params_runner", fromState: {id, state -> @@ -60,6 +59,19 @@ workflow run_wf { ) htrnaseq_ch = input_ch + | map { id, state -> + // The argument names for this workflow and the htrnaseq workflow may overlap + // here, we store a copy in order to make sure to not accidentally overwrite the state. + def new_state = state + [ + "star_output_dir_workflow": state.star_output_dir, + "nrReadsNrGenesPerChrom_dir_workflow": state.nrReadsNrGenesPerChrom_dir, + "star_qc_metrics_dir_workflow": state.star_qc_metrics_dir, + "eset_dir_workflow": state.eset_dir, + "f_data_dir_workflow": state.f_data_dir, + "p_data_dir_workflow": state.p_data_dir + ] + return [id, new_state] + } | listInputDir.run( fromState: [ "input": "input", @@ -119,49 +131,81 @@ workflow run_wf { toState: { id, result, state -> state + result } ) - // The HT-RNAseq workflow outputs multiple events, one per 'pool' (usually a plate) - // but for publishing the results, this is not handy because we want to use the $id - // variable as a pointer to the target data. - // - // So, we should combine everything together - // - // project_id / experiment_id / "data_processed" / date_workflow - grouped_ch = htrnaseq_ch - | toSortedList - | map{ vs -> - def all_fastqs - [ - vs[0][1].run_id, // The original ID - [ - star_output: reduce_paths(vs.collect{ it[1].star_output }.flatten()), - nrReadsNrGenesPerChrom: reduce_paths(vs.collect{ it[1].nrReadsNrGenesPerChrom }), - star_qc_metrics: reduce_paths(vs.collect{ it[1].star_qc_metrics }), - eset: reduce_paths(vs.collect{ it[1].eset }), - f_data: reduce_paths(vs.collect{ it[1].f_data }), - p_data: reduce_paths(vs.collect{ it[1].p_data }), - fastq_output: vs.collect{ it[1].fastq_output }.flatten().unique(), - html_report: vs.collect{ it[1].html_report }[0], // The report is for all pools - plain_output: vs.collect{ it[1].plain_output }[0], - project_id: vs.collect{ it[1].project_id }[0], - experiment_id: vs.collect{ it[1].experiment_id }[0] - ] - ] - } - - grouped_with_params_list_ch = grouped_ch.combine(save_params_ch) + // The HT-RNAseq workflow outputs multiple events, one per 'pool' (usually a plate) + // but for publishing the results, this is not handy because we want to use the $id + // variable as a pointer to the target data. + // So, we should combine everything together + results_publish_ch = htrnaseq_ch + | combine(save_params_ch) | map {new_id, grouped_ch_state, save_params_id, save_params_state -> def new_state = grouped_ch_state + ["run_params": save_params_state.run_params] return [new_id, new_state] - } + | toSortedList + | map{ vs -> + def states = vs.collect{it[1]} - results_publish_ch = grouped_with_params_list_ch + // The STAR output is a directory for each well in a plate (or pool of plates). + // The wells are grouped into a directory per sample. The name of this directory should + // match the sample_id. + def star_output_samples = states.collectMany{state -> + state.star_output.collect{ + def star_sample_dir = it.parent + assert star_sample_dir.name == state.sample_id: "Unexpected state: the parent directory of STAR output \ + path '${it}' should match with the sample ID ${sample_id}" + star_sample_dir + } + } + def new_state = [ + "star_output": star_output_samples, + ] + + // Keys for which the values should be the same across samples + def state_keys_unique = [ + "html_report", + "project_id", + "experiment_id", + "star_output_dir_workflow", + "nrReadsNrGenesPerChrom_dir_workflow", + "star_qc_metrics_dir_workflow", + "eset_dir_workflow", + "f_data_dir_workflow", + "p_data_dir_workflow", + "f_data", + "run_params" + ] + def state_unique_keys = state_keys_unique.inject([:]) { state_to_update, argument_name -> + argument_values = states.collect{it.get(argument_name)}.unique() + assert argument_values.size() == 1, "State error: values for argument $argument_name should be the same across states. \ + Argument values: $argument_values" + // take the unique value from the set (there is only one) + def argument_value + argument_values.each { argument_value = it } + state_to_update + [(argument_name): argument_value] + } + + // Keys that just require gathering of values across samples + def state_keys_collect = [ + "nrReadsNrGenesPerChrom", + "star_qc_metrics", + "eset", + "p_data", + ] + def state_collect = state_keys_collect.collectEntries{ key_ -> + [key_, states.collect{it.get(key_)}] + } + + new_state = new_state + state_unique_keys + state_collect + [states[0].run_id, new_state] + } | publish_results.run( fromState: { id, state -> - def output_dir = "${state.project_id}/${state.experiment_id}/data_processed/${date}_htrnaseq_${version}" - println("Publising results to ${params.results_publish_dir}/${output_dir}") + def prefix = "${state.project_id}/${state.experiment_id}/data_processed/${date}_htrnaseq_${version}" - [ + println("Publising results to ${params.results_publish_dir}/${prefix}") + + [ + // Inputs star_output: state.star_output, nrReadsNrGenesPerChrom: state.nrReadsNrGenesPerChrom, star_qc_metrics: state.star_qc_metrics, @@ -170,10 +214,18 @@ workflow run_wf { p_data: state.p_data, html_report: state.html_report, run_params: state.run_params, - output: output_dir.toString() + // Output locations + run_params_output: "${prefix}/${state.run_params.name}", + html_report_output: "${prefix}/${state.html_report.name}", + star_output_dir: "${prefix}/${state.star_output_dir_workflow}", + nrReadsNrGenesPerChrom_dir: "${prefix}/${state.nrReadsNrGenesPerChrom_dir_workflow}", + star_qc_metrics_dir: "${prefix}/${state.star_qc_metrics_dir_workflow}", + eset_dir: "${prefix}/${state.eset_dir_workflow}", + f_data_dir: "${prefix}/${state.f_data_dir_workflow}", + p_data_dir: "${prefix}/${state.p_data_dir_workflow}" ] }, - toState: { id, result, state -> state + ["eset_output": state.eset] }, + toState: { id, result, state -> result }, directives: [ publishDir: [ path: "${params.results_publish_dir}", @@ -182,33 +234,43 @@ workflow run_wf { ] ] ) + | setState([ + "star_output_dir", + "nrReadsNrGenesPerChrom_dir", + "star_qc_metrics_dir", + "eset_dir", + "f_data_dir", + "p_data_dir", + ] + ) - fastq_publish_ch = grouped_ch - | flatMap{id, state -> - def new_states = state.fastq_output.collect{fastq_dir -> - def run_id = fastq_dir.name // The folder name corresponds to the run - def sample = fastq_dir.parent.name // The parent folder name should be the sample - def new_id = "${run_id}/${sample}" - def fastq_files = fastq_dir.listFiles() - def new_state = [ - "fastq_output": fastq_files, - "sample_id": sample, - "run_id": run_id - ] - return [new_id, new_state] - } - return new_states + fastq_publish_ch = htrnaseq_ch + // The output from the htrnaseq workflow is on sample (i.e. pool) level + // Multiple sequencing runs may have contributes to the FASTQ files from this pool. + // So the fastq_output is a list of directories, one for each run. + // We assume that the names of the folders containing the FASTQ files are equal to the pool names. + | flatMap {id, state -> + state.fastq_output.collect{fastq_dir -> + def run_id = fastq_dir.name + def new_id = "${run_id}/${state.sample_id}" + def new_state = [ + "fastq_output": fastq_dir.listFiles(), + "sample_id": state.sample_id, + "run_id": run_id, + "output": "${run_id}/${date}_htrnaseq_${version}/${state.sample_id}".toString() + ] + [new_id, new_state] + } } + // A folder containing the FASTQ files from a certain pool may be present in the state from + // multiple samples; if that pool contributed to the data from those samples. + // Those FASTQ files will only be published once by filtering out the duplicate events here. + | unique{it[0]} | publish_fastqs.run( - fromState: { id, state -> - def output_dir = "${state.run_id}/${date}_htrnaseq_${version}/${state.sample_id}" - println("Publising fastqs to ${params.fastq_publish_dir}/${output_dir}") - - [ - input: state.fastq_output, - output: output_dir.toString(), - ] - }, + fromState: [ + "input": "fastq_output", + "output": "output", + ], toState: { id, result, state -> state }, directives: [ publishDir: [ @@ -219,12 +281,9 @@ workflow run_wf { ] ) - output_ch = results_publish_ch - | setState(["eset_output"]) - emit: - grouped_ch - | map{ id, state -> [ id, [ _meta: [ join_id: state.run_id ] ] ] } + results_publish_ch + } def get_version(inputFile) { @@ -233,37 +292,4 @@ def get_version(inputFile) { def version = (loaded_viash_config.version) ? loaded_viash_config.version : "unknown_version" println("HT-RNAseq version to be used: ${version}") return version -} - -/* - * This function uses a heuristic to group a list of paths so that the level of nesting - * of IDs is represented in the output. - * - * We iterative of the path sections (subfolders) from the last (file) the first (root node). - * The first path segment that is common across all 'events' is the cutoff. We cutoff the paths - * at this level, select the unique elements from the list and use that as input for the next step. - * - * An optional offset allows one to shift the cutoff left or right. - */ -def reduce_paths(paths, offset = 0) { - def path_length = paths.collect{ it.getNameCount() }[0] - - def unique_list = (path_length-1..0).collectEntries { i -> - [ (i): paths.collect{ it.getName(i) }.unique().size() ] - } - - def cutoff = unique_list.find{ it.value == 1 }.key - - def grouped_paths = paths.collect{ f -> "/" + f.subpath(0, cutoff+1+offset) }.unique() - - println("") - println("Detecting the common path section to pass to the next step:") - print(" From: ") - print paths - println("") - print(" To: ") - print grouped_paths - println("") - - return grouped_paths } \ No newline at end of file diff --git a/src/workflows/runner/test.nf b/src/workflows/runner/test.nf index ea020c11..c9269907 100644 --- a/src/workflows/runner/test.nf +++ b/src/workflows/runner/test.nf @@ -36,7 +36,8 @@ if (!params.containsKey("publish_dir")) { params.fastq_publish_dir = (file(params.publish_dir) / "fastq").toUriString() params.results_publish_dir = (file(params.publish_dir) / "results").toUriString() - +assert file(params.fastq_publish_dir).isEmpty() +assert file(params.results_publish_dir).isEmpty() // The module inherits the parameters defined before the include statement, // therefore any parameters set afterwards will not be used by the module. @@ -99,6 +100,17 @@ workflow test_wf { | toSortedList() | map {events -> assert events.size() == 1, "Expected one events to be output, found ${events.size()}" + events + } + | map {states -> + def output_state = states[0][1] + assert output_state.eset_dir.listFiles().collect{it.name}.toSet() == ["VH02001612.rds", "VH02001614.rds"].toSet() + assert output_state.star_output_dir.listFiles().collect{it.name}.toSet() == ["VH02001612", "VH02001614"].toSet() + ["VH02001612", "VH02001614"].each{it -> + assert output_state.star_output_dir.resolve(it).listFiles().collect{it.name}.toSet() == ["ACACCGAATT", "GGCTATTGAT"].toSet() + } + assert output_state.star_qc_metrics_dir.listFiles().collect{it.name}.toSet() == ["VH02001612.txt", "VH02001614.txt"].toSet() + assert output_state.nrReadsNrGenesPerChrom_dir.listFiles().collect{it.name}.toSet() == ["VH02001612.txt", "VH02001614.txt"].toSet() } @@ -172,7 +184,7 @@ workflow test_wf { assert files("${star_output}/VH02001614/*", type: 'any').collect{it.name}.toSet() == ["ACACCGAATT", "GGCTATTGAT"].toSet() assert file("${expected_result_dir}/report.html").isFile() assert file("${expected_result_dir}/params.yaml").isFile() - assert file("${expected_result_dir}/fData.gencode.v41.annotation.gtf.gz.txt").isFile() + assert file("${expected_result_dir}/fData/fData.gencode.v41.annotation.gtf.gz.txt").isFile() } catch (Exception e) { throw new WorkflowScriptErrorException("Integration test failed!", e) @@ -309,7 +321,7 @@ workflow test_wf_with_lanes { assert files("${star_output}/VH02001614/*", type: 'any').collect{it.name}.toSet() == ["ACACCGAATT", "GGCTATTGAT"].toSet() assert file("${expected_result_dir}/report.html").isFile() assert file("${expected_result_dir}/params.yaml").isFile() - assert file("${expected_result_dir}/fData.gencode.v41.annotation.gtf.gz.txt").isFile() + assert file("${expected_result_dir}/fData/fData.gencode.v41.annotation.gtf.gz.txt").isFile() } catch (Exception e) { throw new WorkflowScriptErrorException("Integration test failed!", e) diff --git a/target/executable/eset/create_eset/.config.vsh.yaml b/target/executable/eset/create_eset/.config.vsh.yaml index 7d288625..0550c682 100644 --- a/target/executable/eset/create_eset/.config.vsh.yaml +++ b/target/executable/eset/create_eset/.config.vsh.yaml @@ -206,9 +206,9 @@ build_info: output: "target/executable/eset/create_eset" executable: "target/executable/eset/create_eset/create_eset" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -238,7 +238,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/eset/create_eset/_viash.yaml b/target/executable/eset/create_eset/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/eset/create_eset/_viash.yaml +++ b/target/executable/eset/create_eset/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/eset/create_eset/create_eset b/target/executable/eset/create_eset/create_eset index 5369e231..3057d1b0 100755 --- a/target/executable/eset/create_eset/create_eset +++ b/target/executable/eset/create_eset/create_eset @@ -456,9 +456,9 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke" LABEL org.opencontainers.image.description="Companion container for running component eset create_eset" -LABEL org.opencontainers.image.created="2025-08-22T08:16:48Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:40Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/eset/create_fdata/.config.vsh.yaml b/target/executable/eset/create_fdata/.config.vsh.yaml index 04ec3f20..132c2d7a 100644 --- a/target/executable/eset/create_fdata/.config.vsh.yaml +++ b/target/executable/eset/create_fdata/.config.vsh.yaml @@ -183,9 +183,9 @@ build_info: output: "target/executable/eset/create_fdata" executable: "target/executable/eset/create_fdata/create_fdata" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -215,7 +215,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/eset/create_fdata/_viash.yaml b/target/executable/eset/create_fdata/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/eset/create_fdata/_viash.yaml +++ b/target/executable/eset/create_fdata/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/eset/create_fdata/create_fdata b/target/executable/eset/create_fdata/create_fdata index 1c95466a..4484b331 100755 --- a/target/executable/eset/create_fdata/create_fdata +++ b/target/executable/eset/create_fdata/create_fdata @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke" LABEL org.opencontainers.image.description="Companion container for running component eset create_fdata" -LABEL org.opencontainers.image.created="2025-08-22T08:16:49Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:38Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/eset/create_pdata/.config.vsh.yaml b/target/executable/eset/create_pdata/.config.vsh.yaml index 1c52688f..9c07a78a 100644 --- a/target/executable/eset/create_pdata/.config.vsh.yaml +++ b/target/executable/eset/create_pdata/.config.vsh.yaml @@ -197,9 +197,9 @@ build_info: output: "target/executable/eset/create_pdata" executable: "target/executable/eset/create_pdata/create_pdata" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -229,7 +229,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/eset/create_pdata/_viash.yaml b/target/executable/eset/create_pdata/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/eset/create_pdata/_viash.yaml +++ b/target/executable/eset/create_pdata/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/eset/create_pdata/create_pdata b/target/executable/eset/create_pdata/create_pdata index 3dd9ad35..abc94620 100755 --- a/target/executable/eset/create_pdata/create_pdata +++ b/target/executable/eset/create_pdata/create_pdata @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke" LABEL org.opencontainers.image.description="Companion container for running component eset create_pdata" -LABEL org.opencontainers.image.created="2025-08-22T08:16:48Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:40Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml b/target/executable/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml index 922154d6..ac605de5 100644 --- a/target/executable/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml +++ b/target/executable/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml @@ -155,9 +155,9 @@ build_info: output: "target/executable/integration_test_components/htrnaseq/check_eset" executable: "target/executable/integration_test_components/htrnaseq/check_eset/check_eset" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -187,7 +187,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/integration_test_components/htrnaseq/check_eset/_viash.yaml b/target/executable/integration_test_components/htrnaseq/check_eset/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/integration_test_components/htrnaseq/check_eset/_viash.yaml +++ b/target/executable/integration_test_components/htrnaseq/check_eset/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/integration_test_components/htrnaseq/check_eset/check_eset b/target/executable/integration_test_components/htrnaseq/check_eset/check_eset index f70a9741..0c9aa98a 100755 --- a/target/executable/integration_test_components/htrnaseq/check_eset/check_eset +++ b/target/executable/integration_test_components/htrnaseq/check_eset/check_eset @@ -455,9 +455,9 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR LABEL org.opencontainers.image.authors="Dries Schaumont" LABEL org.opencontainers.image.description="Companion container for running component integration_test_components/htrnaseq check_eset" -LABEL org.opencontainers.image.created="2025-08-22T08:16:49Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml b/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml index a40e60ff..9d93fb33 100644 --- a/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml +++ b/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml @@ -164,9 +164,9 @@ build_info: output: "target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output" executable: "target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -196,7 +196,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml b/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml +++ b/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output b/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output index d73d7bf5..5ecf0e27 100755 --- a/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output +++ b/target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output @@ -457,9 +457,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dries Schaumont" LABEL org.opencontainers.image.description="Companion container for running component integration_test_components/well_demultiplexing check_cutadapt_output" -LABEL org.opencontainers.image.created="2025-08-22T08:16:49Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/io/publish_fastqs/.config.vsh.yaml b/target/executable/io/publish_fastqs/.config.vsh.yaml index ab0341e9..fbada63f 100644 --- a/target/executable/io/publish_fastqs/.config.vsh.yaml +++ b/target/executable/io/publish_fastqs/.config.vsh.yaml @@ -139,9 +139,9 @@ build_info: output: "target/executable/io/publish_fastqs" executable: "target/executable/io/publish_fastqs/publish_fastqs" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -171,7 +171,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/io/publish_fastqs/_viash.yaml b/target/executable/io/publish_fastqs/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/io/publish_fastqs/_viash.yaml +++ b/target/executable/io/publish_fastqs/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/io/publish_fastqs/publish_fastqs b/target/executable/io/publish_fastqs/publish_fastqs index 99c6307b..8a8b8616 100755 --- a/target/executable/io/publish_fastqs/publish_fastqs +++ b/target/executable/io/publish_fastqs/publish_fastqs @@ -450,9 +450,9 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* LABEL org.opencontainers.image.description="Companion container for running component io publish_fastqs" -LABEL org.opencontainers.image.created="2025-08-22T08:16:50Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/io/publish_results/.config.vsh.yaml b/target/executable/io/publish_results/.config.vsh.yaml index c658d4ea..96071baf 100644 --- a/target/executable/io/publish_results/.config.vsh.yaml +++ b/target/executable/io/publish_results/.config.vsh.yaml @@ -77,13 +77,90 @@ argument_groups: direction: "input" multiple: false multiple_sep: ";" -- name: "Output arguments" +- name: "Output directory" + description: "Determines the name of output directories\n" arguments: - type: "file" - name: "--output" + name: "--star_output_dir" info: null default: - - "$id" + - "star_output" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--nrReadsNrGenesPerChrom_dir" + info: null + default: + - "nrReadsNrGenesPerChrom" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--star_qc_metrics_dir" + info: null + default: + - "starLogs" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--eset_dir" + info: null + default: + - "esets" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--f_data_dir" + info: null + default: + - "fData" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--p_data_dir" + info: null + default: + - "pData" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" +- name: "Output file arguments" + description: "Determines the name of output files" + arguments: + - type: "file" + name: "--run_params_output" + info: null + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--html_report_output" + info: null must_exist: true create_parent: true required: false @@ -202,9 +279,9 @@ build_info: output: "target/executable/io/publish_results" executable: "target/executable/io/publish_results/publish_results" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -234,7 +311,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/io/publish_results/_viash.yaml b/target/executable/io/publish_results/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/io/publish_results/_viash.yaml +++ b/target/executable/io/publish_results/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/io/publish_results/publish_results b/target/executable/io/publish_results/publish_results index 0afa282a..2a92bda6 100755 --- a/target/executable/io/publish_results/publish_results +++ b/target/executable/io/publish_results/publish_results @@ -450,9 +450,9 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* LABEL org.opencontainers.image.description="Companion container for running component io publish_results" -LABEL org.opencontainers.image.created="2025-08-22T08:16:50Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER @@ -600,10 +600,41 @@ function ViashHelp { echo " --run_params" echo " type: file, required parameter, file must exist" echo "" - echo "Output arguments:" - echo " --output" + echo "Output directory:" + echo " Determines the name of output directories" + echo "" + echo " --star_output_dir" + echo " type: file, output, file must exist" + echo " default: star_output" + echo "" + echo " --nrReadsNrGenesPerChrom_dir" + echo " type: file, output, file must exist" + echo " default: nrReadsNrGenesPerChrom" + echo "" + echo " --star_qc_metrics_dir" + echo " type: file, output, file must exist" + echo " default: starLogs" + echo "" + echo " --eset_dir" + echo " type: file, output, file must exist" + echo " default: esets" + echo "" + echo " --f_data_dir" + echo " type: file, output, file must exist" + echo " default: fData" + echo "" + echo " --p_data_dir" + echo " type: file, output, file must exist" + echo " default: pData" + echo "" + echo "Output file arguments:" + echo " Determines the name of output files" + echo "" + echo " --run_params_output" + echo " type: file, output, file must exist" + echo "" + echo " --html_report_output" echo " type: file, output, file must exist" - echo " default: \$id" echo "" echo "Viash built in Computational Requirements:" echo " ---cpus=INT" @@ -779,15 +810,92 @@ while [[ $# -gt 0 ]]; do VIASH_PAR_RUN_PARAMS=$(ViashRemoveFlags "$1") shift 1 ;; - --output) - [ -n "$VIASH_PAR_OUTPUT" ] && ViashError Bad arguments for option \'--output\': \'$VIASH_PAR_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 - VIASH_PAR_OUTPUT="$2" - [ $# -lt 2 ] && ViashError Not enough arguments passed to --output. Use "--help" to get more information on the parameters. && exit 1 + --star_output_dir) + [ -n "$VIASH_PAR_STAR_OUTPUT_DIR" ] && ViashError Bad arguments for option \'--star_output_dir\': \'$VIASH_PAR_STAR_OUTPUT_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_OUTPUT_DIR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --star_output_dir. Use "--help" to get more information on the parameters. && exit 1 shift 2 ;; - --output=*) - [ -n "$VIASH_PAR_OUTPUT" ] && ViashError Bad arguments for option \'--output=*\': \'$VIASH_PAR_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 - VIASH_PAR_OUTPUT=$(ViashRemoveFlags "$1") + --star_output_dir=*) + [ -n "$VIASH_PAR_STAR_OUTPUT_DIR" ] && ViashError Bad arguments for option \'--star_output_dir=*\': \'$VIASH_PAR_STAR_OUTPUT_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_OUTPUT_DIR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --nrReadsNrGenesPerChrom_dir) + [ -n "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ] && ViashError Bad arguments for option \'--nrReadsNrGenesPerChrom_dir\': \'$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NRREADSNRGENESPERCHROM_DIR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --nrReadsNrGenesPerChrom_dir. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --nrReadsNrGenesPerChrom_dir=*) + [ -n "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ] && ViashError Bad arguments for option \'--nrReadsNrGenesPerChrom_dir=*\': \'$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NRREADSNRGENESPERCHROM_DIR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --star_qc_metrics_dir) + [ -n "$VIASH_PAR_STAR_QC_METRICS_DIR" ] && ViashError Bad arguments for option \'--star_qc_metrics_dir\': \'$VIASH_PAR_STAR_QC_METRICS_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_QC_METRICS_DIR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --star_qc_metrics_dir. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --star_qc_metrics_dir=*) + [ -n "$VIASH_PAR_STAR_QC_METRICS_DIR" ] && ViashError Bad arguments for option \'--star_qc_metrics_dir=*\': \'$VIASH_PAR_STAR_QC_METRICS_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_QC_METRICS_DIR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --eset_dir) + [ -n "$VIASH_PAR_ESET_DIR" ] && ViashError Bad arguments for option \'--eset_dir\': \'$VIASH_PAR_ESET_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_ESET_DIR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --eset_dir. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --eset_dir=*) + [ -n "$VIASH_PAR_ESET_DIR" ] && ViashError Bad arguments for option \'--eset_dir=*\': \'$VIASH_PAR_ESET_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_ESET_DIR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --f_data_dir) + [ -n "$VIASH_PAR_F_DATA_DIR" ] && ViashError Bad arguments for option \'--f_data_dir\': \'$VIASH_PAR_F_DATA_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_F_DATA_DIR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --f_data_dir. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --f_data_dir=*) + [ -n "$VIASH_PAR_F_DATA_DIR" ] && ViashError Bad arguments for option \'--f_data_dir=*\': \'$VIASH_PAR_F_DATA_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_F_DATA_DIR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --p_data_dir) + [ -n "$VIASH_PAR_P_DATA_DIR" ] && ViashError Bad arguments for option \'--p_data_dir\': \'$VIASH_PAR_P_DATA_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_P_DATA_DIR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --p_data_dir. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --p_data_dir=*) + [ -n "$VIASH_PAR_P_DATA_DIR" ] && ViashError Bad arguments for option \'--p_data_dir=*\': \'$VIASH_PAR_P_DATA_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_P_DATA_DIR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --run_params_output) + [ -n "$VIASH_PAR_RUN_PARAMS_OUTPUT" ] && ViashError Bad arguments for option \'--run_params_output\': \'$VIASH_PAR_RUN_PARAMS_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_RUN_PARAMS_OUTPUT="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --run_params_output. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --run_params_output=*) + [ -n "$VIASH_PAR_RUN_PARAMS_OUTPUT" ] && ViashError Bad arguments for option \'--run_params_output=*\': \'$VIASH_PAR_RUN_PARAMS_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_RUN_PARAMS_OUTPUT=$(ViashRemoveFlags "$1") + shift 1 + ;; + --html_report_output) + [ -n "$VIASH_PAR_HTML_REPORT_OUTPUT" ] && ViashError Bad arguments for option \'--html_report_output\': \'$VIASH_PAR_HTML_REPORT_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_HTML_REPORT_OUTPUT="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --html_report_output. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --html_report_output=*) + [ -n "$VIASH_PAR_HTML_REPORT_OUTPUT" ] && ViashError Bad arguments for option \'--html_report_output=*\': \'$VIASH_PAR_HTML_REPORT_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_HTML_REPORT_OUTPUT=$(ViashRemoveFlags "$1") shift 1 ;; ---engine) @@ -1020,8 +1128,23 @@ if [ -z ${VIASH_META_TEMP_DIR+x} ]; then fi # filling in defaults -if [ -z ${VIASH_PAR_OUTPUT+x} ]; then - VIASH_PAR_OUTPUT="\$id" +if [ -z ${VIASH_PAR_STAR_OUTPUT_DIR+x} ]; then + VIASH_PAR_STAR_OUTPUT_DIR="star_output" +fi +if [ -z ${VIASH_PAR_NRREADSNRGENESPERCHROM_DIR+x} ]; then + VIASH_PAR_NRREADSNRGENESPERCHROM_DIR="nrReadsNrGenesPerChrom" +fi +if [ -z ${VIASH_PAR_STAR_QC_METRICS_DIR+x} ]; then + VIASH_PAR_STAR_QC_METRICS_DIR="starLogs" +fi +if [ -z ${VIASH_PAR_ESET_DIR+x} ]; then + VIASH_PAR_ESET_DIR="esets" +fi +if [ -z ${VIASH_PAR_F_DATA_DIR+x} ]; then + VIASH_PAR_F_DATA_DIR="fData" +fi +if [ -z ${VIASH_PAR_P_DATA_DIR+x} ]; then + VIASH_PAR_P_DATA_DIR="pData" fi # check whether required files exist @@ -1181,8 +1304,29 @@ if [[ -n "$VIASH_META_MEMORY_PIB" ]]; then fi # create parent directories of output files, if so desired -if [ ! -z "$VIASH_PAR_OUTPUT" ] && [ ! -d "$(dirname "$VIASH_PAR_OUTPUT")" ]; then - mkdir -p "$(dirname "$VIASH_PAR_OUTPUT")" +if [ ! -z "$VIASH_PAR_STAR_OUTPUT_DIR" ] && [ ! -d "$(dirname "$VIASH_PAR_STAR_OUTPUT_DIR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_STAR_OUTPUT_DIR")" +fi +if [ ! -z "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ] && [ ! -d "$(dirname "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR")" +fi +if [ ! -z "$VIASH_PAR_STAR_QC_METRICS_DIR" ] && [ ! -d "$(dirname "$VIASH_PAR_STAR_QC_METRICS_DIR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_STAR_QC_METRICS_DIR")" +fi +if [ ! -z "$VIASH_PAR_ESET_DIR" ] && [ ! -d "$(dirname "$VIASH_PAR_ESET_DIR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_ESET_DIR")" +fi +if [ ! -z "$VIASH_PAR_F_DATA_DIR" ] && [ ! -d "$(dirname "$VIASH_PAR_F_DATA_DIR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_F_DATA_DIR")" +fi +if [ ! -z "$VIASH_PAR_P_DATA_DIR" ] && [ ! -d "$(dirname "$VIASH_PAR_P_DATA_DIR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_P_DATA_DIR")" +fi +if [ ! -z "$VIASH_PAR_RUN_PARAMS_OUTPUT" ] && [ ! -d "$(dirname "$VIASH_PAR_RUN_PARAMS_OUTPUT")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_RUN_PARAMS_OUTPUT")" +fi +if [ ! -z "$VIASH_PAR_HTML_REPORT_OUTPUT" ] && [ ! -d "$(dirname "$VIASH_PAR_HTML_REPORT_OUTPUT")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_HTML_REPORT_OUTPUT")" fi if [ "$VIASH_ENGINE_ID" == "native" ] ; then @@ -1271,10 +1415,45 @@ if [ ! -z "$VIASH_PAR_RUN_PARAMS" ]; then VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_RUN_PARAMS")" ) VIASH_PAR_RUN_PARAMS=$(ViashDockerAutodetectMount "$VIASH_PAR_RUN_PARAMS") fi -if [ ! -z "$VIASH_PAR_OUTPUT" ]; then - VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_OUTPUT")" ) - VIASH_PAR_OUTPUT=$(ViashDockerAutodetectMount "$VIASH_PAR_OUTPUT") - VIASH_CHOWN_VARS+=( "$VIASH_PAR_OUTPUT" ) +if [ ! -z "$VIASH_PAR_STAR_OUTPUT_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_STAR_OUTPUT_DIR")" ) + VIASH_PAR_STAR_OUTPUT_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_STAR_OUTPUT_DIR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_STAR_OUTPUT_DIR" ) +fi +if [ ! -z "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR")" ) + VIASH_PAR_NRREADSNRGENESPERCHROM_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ) +fi +if [ ! -z "$VIASH_PAR_STAR_QC_METRICS_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_STAR_QC_METRICS_DIR")" ) + VIASH_PAR_STAR_QC_METRICS_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_STAR_QC_METRICS_DIR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_STAR_QC_METRICS_DIR" ) +fi +if [ ! -z "$VIASH_PAR_ESET_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_ESET_DIR")" ) + VIASH_PAR_ESET_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_ESET_DIR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_ESET_DIR" ) +fi +if [ ! -z "$VIASH_PAR_F_DATA_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_F_DATA_DIR")" ) + VIASH_PAR_F_DATA_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_F_DATA_DIR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_F_DATA_DIR" ) +fi +if [ ! -z "$VIASH_PAR_P_DATA_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_P_DATA_DIR")" ) + VIASH_PAR_P_DATA_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_P_DATA_DIR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_P_DATA_DIR" ) +fi +if [ ! -z "$VIASH_PAR_RUN_PARAMS_OUTPUT" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_RUN_PARAMS_OUTPUT")" ) + VIASH_PAR_RUN_PARAMS_OUTPUT=$(ViashDockerAutodetectMount "$VIASH_PAR_RUN_PARAMS_OUTPUT") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_RUN_PARAMS_OUTPUT" ) +fi +if [ ! -z "$VIASH_PAR_HTML_REPORT_OUTPUT" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_HTML_REPORT_OUTPUT")" ) + VIASH_PAR_HTML_REPORT_OUTPUT=$(ViashDockerAutodetectMount "$VIASH_PAR_HTML_REPORT_OUTPUT") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_HTML_REPORT_OUTPUT" ) fi if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_RESOURCES_DIR")" ) @@ -1353,7 +1532,14 @@ $( if [ ! -z ${VIASH_PAR_F_DATA+x} ]; then echo "${VIASH_PAR_F_DATA}" | sed "s#' $( if [ ! -z ${VIASH_PAR_P_DATA+x} ]; then echo "${VIASH_PAR_P_DATA}" | sed "s#'#'\"'\"'#g;s#.*#par_p_data='&'#" ; else echo "# par_p_data="; fi ) $( if [ ! -z ${VIASH_PAR_HTML_REPORT+x} ]; then echo "${VIASH_PAR_HTML_REPORT}" | sed "s#'#'\"'\"'#g;s#.*#par_html_report='&'#" ; else echo "# par_html_report="; fi ) $( if [ ! -z ${VIASH_PAR_RUN_PARAMS+x} ]; then echo "${VIASH_PAR_RUN_PARAMS}" | sed "s#'#'\"'\"'#g;s#.*#par_run_params='&'#" ; else echo "# par_run_params="; fi ) -$( if [ ! -z ${VIASH_PAR_OUTPUT+x} ]; then echo "${VIASH_PAR_OUTPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_output='&'#" ; else echo "# par_output="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_OUTPUT_DIR+x} ]; then echo "${VIASH_PAR_STAR_OUTPUT_DIR}" | sed "s#'#'\"'\"'#g;s#.*#par_star_output_dir='&'#" ; else echo "# par_star_output_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_NRREADSNRGENESPERCHROM_DIR+x} ]; then echo "${VIASH_PAR_NRREADSNRGENESPERCHROM_DIR}" | sed "s#'#'\"'\"'#g;s#.*#par_nrReadsNrGenesPerChrom_dir='&'#" ; else echo "# par_nrReadsNrGenesPerChrom_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_QC_METRICS_DIR+x} ]; then echo "${VIASH_PAR_STAR_QC_METRICS_DIR}" | sed "s#'#'\"'\"'#g;s#.*#par_star_qc_metrics_dir='&'#" ; else echo "# par_star_qc_metrics_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_ESET_DIR+x} ]; then echo "${VIASH_PAR_ESET_DIR}" | sed "s#'#'\"'\"'#g;s#.*#par_eset_dir='&'#" ; else echo "# par_eset_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_F_DATA_DIR+x} ]; then echo "${VIASH_PAR_F_DATA_DIR}" | sed "s#'#'\"'\"'#g;s#.*#par_f_data_dir='&'#" ; else echo "# par_f_data_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_P_DATA_DIR+x} ]; then echo "${VIASH_PAR_P_DATA_DIR}" | sed "s#'#'\"'\"'#g;s#.*#par_p_data_dir='&'#" ; else echo "# par_p_data_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_RUN_PARAMS_OUTPUT+x} ]; then echo "${VIASH_PAR_RUN_PARAMS_OUTPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_run_params_output='&'#" ; else echo "# par_run_params_output="; fi ) +$( if [ ! -z ${VIASH_PAR_HTML_REPORT_OUTPUT+x} ]; then echo "${VIASH_PAR_HTML_REPORT_OUTPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_html_report_output='&'#" ; else echo "# par_html_report_output="; fi ) $( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "${VIASH_META_NAME}" | sed "s#'#'\"'\"'#g;s#.*#meta_name='&'#" ; else echo "# meta_name="; fi ) $( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "${VIASH_META_FUNCTIONALITY_NAME}" | sed "s#'#'\"'\"'#g;s#.*#meta_functionality_name='&'#" ; else echo "# meta_functionality_name="; fi ) $( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "${VIASH_META_RESOURCES_DIR}" | sed "s#'#'\"'\"'#g;s#.*#meta_resources_dir='&'#" ; else echo "# meta_resources_dir="; fi ) @@ -1376,48 +1562,97 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" ## VIASH END #!/bin/bash -echo "Publishing \$par_input -> \$par_output" +set -eo pipefail + +echo "Publishing results to multiple output directories" + +# Create output directories for multiple files +echo "Creating output directories..." + +path_pars=( + par_star_output_dir + par_nrReadsNrGenesPerChrom_dir + par_star_qc_metrics_dir + par_eset_dir + par_f_data_dir + par_p_data_dir + par_html_report_output + par_run_params_output +) + +for par in \${path_pars[@]}; do + curr_val="\${!par}" + new_value=\$(realpath --canonicalize-missing "\$curr_val") + declare -g "\$par=\$new_value" +done + +mkdir -p "\$par_star_output_dir" && echo "\$par_star_output_dir created" +mkdir -p "\$par_nrReadsNrGenesPerChrom_dir" && echo "\$par_nrReadsNrGenesPerChrom_dir created" +mkdir -p "\$par_star_qc_metrics_dir" && echo "\$par_star_qc_metrics_dir created" +mkdir -p "\$par_eset_dir" && echo "\$par_eset_dir created" +mkdir -p "\$par_f_data_dir" && echo "\$par_f_data_dir created" +mkdir -p "\$par_p_data_dir" && echo "\$par_p_data_dir created" echo -echo "Creating directory if it does not exist:" -mkdir -p "\$par_output" && echo "\$par_output created" - -echo -echo "Copying files..." +echo "Copying STAR output files..." IFS=";" read -ra star_output <<<\$par_star_output -IFS=";" read -ra nrReadsNrGenesPerChrom <<<\$par_nrReadsNrGenesPerChrom -IFS=";" read -ra star_qc_metrics <<<\$par_star_qc_metrics -IFS=";" read -ra eset <<<\$par_eset -IFS=";" read -ra f_data <<<\$par_f_data -IFS=";" read -ra p_data <<<\$par_p_data - for i in "\${star_output[@]}"; do - cp -rL "\$i" "\$par_output/" + echo "Copying \$i to \$par_star_output_dir/" + cp -rL "\$i" "\$par_star_output_dir/" done +echo +echo "Copying nrReadsNrGenesPerChrom files..." +IFS=";" read -ra nrReadsNrGenesPerChrom <<<\$par_nrReadsNrGenesPerChrom for i in "\${nrReadsNrGenesPerChrom[@]}"; do - cp -rL "\$i" "\$par_output/" + echo "Copying \$i to \$par_nrReadsNrGenesPerChrom_dir/" + cp -rL "\$i" "\$par_nrReadsNrGenesPerChrom_dir/" done +echo +echo "Copying STAR QC metrics files..." +IFS=";" read -ra star_qc_metrics <<<\$par_star_qc_metrics for i in "\${star_qc_metrics[@]}"; do - cp -rL "\$i" "\$par_output/" + echo "Copying \$i to \$par_star_qc_metrics_dir/" + cp -rL "\$i" "\$par_star_qc_metrics_dir/" done +echo +echo "Copying eset files..." +IFS=";" read -ra eset <<<\$par_eset for i in "\${eset[@]}"; do - cp -rL "\$i" "\$par_output/" + echo "Copying \$i to \$par_eset_dir/" + cp -rL "\$i" "\$par_eset_dir/" done +echo +echo "Copying f_data files..." +IFS=";" read -ra f_data <<<\$par_f_data for i in "\${f_data[@]}"; do - cp -rL "\$i" "\$par_output/" + echo "Copying \$i to \$par_f_data_dir/" + cp -rL "\$i" "\$par_f_data_dir/" done +echo +echo "Copying p_data files..." +IFS=";" read -ra p_data <<<\$par_p_data for i in "\${p_data[@]}"; do - cp -rL "\$i" "\$par_output/" + echo "Copying \$i to \$par_p_data_dir/" + cp -rL "\$i" "\$par_p_data_dir/" done -cp -rL "\$par_html_report" "\$par_output/" +echo +echo "Copying single files directly..." +mkdir -p \$(dirname "\$par_html_report_output") +echo "Copying \$par_html_report to \$par_html_report_output" +cp -L "\$par_html_report" "\$par_html_report_output" -cp -rL "\$par_run_params" "\$par_output/" +echo "Copying \$par_run_params to \$par_run_params_output" +mkdir -p \$(dirname "\$par_run_params_output") +cp -L "\$par_run_params" "\$par_run_params_output" + +echo +echo "Publishing completed successfully!" VIASHMAIN bash "\$tempscript" & wait "\$!" @@ -1512,8 +1747,29 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then if [ ! -z "$VIASH_PAR_RUN_PARAMS" ]; then VIASH_PAR_RUN_PARAMS=$(ViashDockerStripAutomount "$VIASH_PAR_RUN_PARAMS") fi - if [ ! -z "$VIASH_PAR_OUTPUT" ]; then - VIASH_PAR_OUTPUT=$(ViashDockerStripAutomount "$VIASH_PAR_OUTPUT") + if [ ! -z "$VIASH_PAR_STAR_OUTPUT_DIR" ]; then + VIASH_PAR_STAR_OUTPUT_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_STAR_OUTPUT_DIR") + fi + if [ ! -z "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ]; then + VIASH_PAR_NRREADSNRGENESPERCHROM_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR") + fi + if [ ! -z "$VIASH_PAR_STAR_QC_METRICS_DIR" ]; then + VIASH_PAR_STAR_QC_METRICS_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_STAR_QC_METRICS_DIR") + fi + if [ ! -z "$VIASH_PAR_ESET_DIR" ]; then + VIASH_PAR_ESET_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_ESET_DIR") + fi + if [ ! -z "$VIASH_PAR_F_DATA_DIR" ]; then + VIASH_PAR_F_DATA_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_F_DATA_DIR") + fi + if [ ! -z "$VIASH_PAR_P_DATA_DIR" ]; then + VIASH_PAR_P_DATA_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_P_DATA_DIR") + fi + if [ ! -z "$VIASH_PAR_RUN_PARAMS_OUTPUT" ]; then + VIASH_PAR_RUN_PARAMS_OUTPUT=$(ViashDockerStripAutomount "$VIASH_PAR_RUN_PARAMS_OUTPUT") + fi + if [ ! -z "$VIASH_PAR_HTML_REPORT_OUTPUT" ]; then + VIASH_PAR_HTML_REPORT_OUTPUT=$(ViashDockerStripAutomount "$VIASH_PAR_HTML_REPORT_OUTPUT") fi if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then VIASH_META_RESOURCES_DIR=$(ViashDockerStripAutomount "$VIASH_META_RESOURCES_DIR") @@ -1531,8 +1787,36 @@ fi # check whether required files exist -if [ ! -z "$VIASH_PAR_OUTPUT" ] && [ ! -e "$VIASH_PAR_OUTPUT" ]; then - ViashError "Output file '$VIASH_PAR_OUTPUT' does not exist." +if [ ! -z "$VIASH_PAR_STAR_OUTPUT_DIR" ] && [ ! -e "$VIASH_PAR_STAR_OUTPUT_DIR" ]; then + ViashError "Output file '$VIASH_PAR_STAR_OUTPUT_DIR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ] && [ ! -e "$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR" ]; then + ViashError "Output file '$VIASH_PAR_NRREADSNRGENESPERCHROM_DIR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_STAR_QC_METRICS_DIR" ] && [ ! -e "$VIASH_PAR_STAR_QC_METRICS_DIR" ]; then + ViashError "Output file '$VIASH_PAR_STAR_QC_METRICS_DIR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_ESET_DIR" ] && [ ! -e "$VIASH_PAR_ESET_DIR" ]; then + ViashError "Output file '$VIASH_PAR_ESET_DIR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_F_DATA_DIR" ] && [ ! -e "$VIASH_PAR_F_DATA_DIR" ]; then + ViashError "Output file '$VIASH_PAR_F_DATA_DIR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_P_DATA_DIR" ] && [ ! -e "$VIASH_PAR_P_DATA_DIR" ]; then + ViashError "Output file '$VIASH_PAR_P_DATA_DIR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_RUN_PARAMS_OUTPUT" ] && [ ! -e "$VIASH_PAR_RUN_PARAMS_OUTPUT" ]; then + ViashError "Output file '$VIASH_PAR_RUN_PARAMS_OUTPUT' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_HTML_REPORT_OUTPUT" ] && [ ! -e "$VIASH_PAR_HTML_REPORT_OUTPUT" ]; then + ViashError "Output file '$VIASH_PAR_HTML_REPORT_OUTPUT' does not exist." exit 1 fi diff --git a/target/executable/parallel_map/.config.vsh.yaml b/target/executable/parallel_map/.config.vsh.yaml index 0dade7f5..24e6f41d 100644 --- a/target/executable/parallel_map/.config.vsh.yaml +++ b/target/executable/parallel_map/.config.vsh.yaml @@ -285,9 +285,9 @@ build_info: output: "target/executable/parallel_map" executable: "target/executable/parallel_map/parallel_map" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -317,7 +317,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/parallel_map/_viash.yaml b/target/executable/parallel_map/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/parallel_map/_viash.yaml +++ b/target/executable/parallel_map/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/parallel_map/parallel_map b/target/executable/parallel_map/parallel_map index d64f1781..01d78d8a 100755 --- a/target/executable/parallel_map/parallel_map +++ b/target/executable/parallel_map/parallel_map @@ -461,9 +461,9 @@ ENV STAR_BINARY=STAR COPY STAR /usr/local/bin/$STAR_BINARY LABEL org.opencontainers.image.authors="Dries Schaumont, Toni Verbeiren" LABEL org.opencontainers.image.description="Companion container for running component parallel_map" -LABEL org.opencontainers.image.created="2025-08-22T08:16:50Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/report/create_report/.config.vsh.yaml b/target/executable/report/create_report/.config.vsh.yaml index 73bb52bb..002387a3 100644 --- a/target/executable/report/create_report/.config.vsh.yaml +++ b/target/executable/report/create_report/.config.vsh.yaml @@ -215,9 +215,9 @@ build_info: output: "target/executable/report/create_report" executable: "target/executable/report/create_report/create_report" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -247,7 +247,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/report/create_report/_viash.yaml b/target/executable/report/create_report/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/report/create_report/_viash.yaml +++ b/target/executable/report/create_report/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/report/create_report/create_report b/target/executable/report/create_report/create_report index 8e316592..3d02beb6 100755 --- a/target/executable/report/create_report/create_report +++ b/target/executable/report/create_report/create_report @@ -465,9 +465,9 @@ RUN Rscript -e 'options(warn = 2); if (!requireNamespace("remotes", quietly = TR LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke" LABEL org.opencontainers.image.description="Companion container for running component report create_report" -LABEL org.opencontainers.image.created="2025-08-22T08:16:50Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/stats/combine_star_logs/.config.vsh.yaml b/target/executable/stats/combine_star_logs/.config.vsh.yaml index 64ca0475..49f18298 100644 --- a/target/executable/stats/combine_star_logs/.config.vsh.yaml +++ b/target/executable/stats/combine_star_logs/.config.vsh.yaml @@ -204,9 +204,9 @@ build_info: output: "target/executable/stats/combine_star_logs" executable: "target/executable/stats/combine_star_logs/combine_star_logs" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -236,7 +236,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/stats/combine_star_logs/_viash.yaml b/target/executable/stats/combine_star_logs/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/stats/combine_star_logs/_viash.yaml +++ b/target/executable/stats/combine_star_logs/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/stats/combine_star_logs/combine_star_logs b/target/executable/stats/combine_star_logs/combine_star_logs index dc855967..24798c14 100755 --- a/target/executable/stats/combine_star_logs/combine_star_logs +++ b/target/executable/stats/combine_star_logs/combine_star_logs @@ -457,9 +457,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dries Schaumont" LABEL org.opencontainers.image.description="Companion container for running component stats combine_star_logs" -LABEL org.opencontainers.image.created="2025-08-22T08:16:48Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/stats/generate_pool_statistics/.config.vsh.yaml b/target/executable/stats/generate_pool_statistics/.config.vsh.yaml index d74905b2..3e04f7af 100644 --- a/target/executable/stats/generate_pool_statistics/.config.vsh.yaml +++ b/target/executable/stats/generate_pool_statistics/.config.vsh.yaml @@ -188,9 +188,9 @@ build_info: output: "target/executable/stats/generate_pool_statistics" executable: "target/executable/stats/generate_pool_statistics/generate_pool_statistics" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -220,7 +220,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/stats/generate_pool_statistics/_viash.yaml b/target/executable/stats/generate_pool_statistics/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/stats/generate_pool_statistics/_viash.yaml +++ b/target/executable/stats/generate_pool_statistics/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/stats/generate_pool_statistics/generate_pool_statistics b/target/executable/stats/generate_pool_statistics/generate_pool_statistics index 5d7e1b24..52e8f6fd 100755 --- a/target/executable/stats/generate_pool_statistics/generate_pool_statistics +++ b/target/executable/stats/generate_pool_statistics/generate_pool_statistics @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke" LABEL org.opencontainers.image.description="Companion container for running component stats generate_pool_statistics" -LABEL org.opencontainers.image.created="2025-08-22T08:16:50Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:39Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/stats/generate_well_statistics/.config.vsh.yaml b/target/executable/stats/generate_well_statistics/.config.vsh.yaml index e935489a..2a12308e 100644 --- a/target/executable/stats/generate_well_statistics/.config.vsh.yaml +++ b/target/executable/stats/generate_well_statistics/.config.vsh.yaml @@ -260,9 +260,9 @@ build_info: output: "target/executable/stats/generate_well_statistics" executable: "target/executable/stats/generate_well_statistics/generate_well_statistics" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -292,7 +292,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/stats/generate_well_statistics/_viash.yaml b/target/executable/stats/generate_well_statistics/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/stats/generate_well_statistics/_viash.yaml +++ b/target/executable/stats/generate_well_statistics/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/stats/generate_well_statistics/generate_well_statistics b/target/executable/stats/generate_well_statistics/generate_well_statistics index 88d18ea6..e41aa683 100755 --- a/target/executable/stats/generate_well_statistics/generate_well_statistics +++ b/target/executable/stats/generate_well_statistics/generate_well_statistics @@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \ LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke" LABEL org.opencontainers.image.description="Companion container for running component stats generate_well_statistics" -LABEL org.opencontainers.image.created="2025-08-22T08:16:48Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:38Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/executable/utils/save_params/.config.vsh.yaml b/target/executable/utils/save_params/.config.vsh.yaml index b69b1063..e231837d 100644 --- a/target/executable/utils/save_params/.config.vsh.yaml +++ b/target/executable/utils/save_params/.config.vsh.yaml @@ -151,9 +151,9 @@ build_info: output: "target/executable/utils/save_params" executable: "target/executable/utils/save_params/save_params" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -183,7 +183,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/executable/utils/save_params/_viash.yaml b/target/executable/utils/save_params/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/executable/utils/save_params/_viash.yaml +++ b/target/executable/utils/save_params/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/executable/utils/save_params/save_params b/target/executable/utils/save_params/save_params index 88efbf39..7d50dba3 100755 --- a/target/executable/utils/save_params/save_params +++ b/target/executable/utils/save_params/save_params @@ -453,9 +453,9 @@ RUN pip install --upgrade pip && \ pip install --upgrade --no-cache-dir "pyyaml" LABEL org.opencontainers.image.description="Companion container for running component utils save_params" -LABEL org.opencontainers.image.created="2025-08-22T08:16:50Z" +LABEL org.opencontainers.image.created="2025-08-28T11:55:38Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" +LABEL org.opencontainers.image.revision="fdbd9fce90c65c9d7cd1f09286cc9266593ae203" LABEL org.opencontainers.image.version="add-eset-output-param" VIASHDOCKER diff --git a/target/nextflow/eset/create_eset/.config.vsh.yaml b/target/nextflow/eset/create_eset/.config.vsh.yaml index 0d634b5d..813721f6 100644 --- a/target/nextflow/eset/create_eset/.config.vsh.yaml +++ b/target/nextflow/eset/create_eset/.config.vsh.yaml @@ -206,9 +206,9 @@ build_info: output: "target/nextflow/eset/create_eset" executable: "target/nextflow/eset/create_eset/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -238,7 +238,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/eset/create_eset/_viash.yaml b/target/nextflow/eset/create_eset/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/eset/create_eset/_viash.yaml +++ b/target/nextflow/eset/create_eset/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/eset/create_eset/main.nf b/target/nextflow/eset/create_eset/main.nf index b7a03107..edb342e7 100644 --- a/target/nextflow/eset/create_eset/main.nf +++ b/target/nextflow/eset/create_eset/main.nf @@ -3309,9 +3309,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/eset/create_eset", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3330,7 +3330,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/eset/create_fdata/.config.vsh.yaml b/target/nextflow/eset/create_fdata/.config.vsh.yaml index 6a3fe796..829e7ddc 100644 --- a/target/nextflow/eset/create_fdata/.config.vsh.yaml +++ b/target/nextflow/eset/create_fdata/.config.vsh.yaml @@ -183,9 +183,9 @@ build_info: output: "target/nextflow/eset/create_fdata" executable: "target/nextflow/eset/create_fdata/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -215,7 +215,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/eset/create_fdata/_viash.yaml b/target/nextflow/eset/create_fdata/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/eset/create_fdata/_viash.yaml +++ b/target/nextflow/eset/create_fdata/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/eset/create_fdata/main.nf b/target/nextflow/eset/create_fdata/main.nf index 095319e8..91f508b0 100644 --- a/target/nextflow/eset/create_fdata/main.nf +++ b/target/nextflow/eset/create_fdata/main.nf @@ -3279,9 +3279,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/eset/create_fdata", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3300,7 +3300,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/eset/create_pdata/.config.vsh.yaml b/target/nextflow/eset/create_pdata/.config.vsh.yaml index 55035940..db34488f 100644 --- a/target/nextflow/eset/create_pdata/.config.vsh.yaml +++ b/target/nextflow/eset/create_pdata/.config.vsh.yaml @@ -197,9 +197,9 @@ build_info: output: "target/nextflow/eset/create_pdata" executable: "target/nextflow/eset/create_pdata/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -229,7 +229,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/eset/create_pdata/_viash.yaml b/target/nextflow/eset/create_pdata/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/eset/create_pdata/_viash.yaml +++ b/target/nextflow/eset/create_pdata/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/eset/create_pdata/main.nf b/target/nextflow/eset/create_pdata/main.nf index f6b4d8f2..60277f33 100644 --- a/target/nextflow/eset/create_pdata/main.nf +++ b/target/nextflow/eset/create_pdata/main.nf @@ -3293,9 +3293,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/eset/create_pdata", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3314,7 +3314,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml b/target/nextflow/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml index d1172349..8dffbacb 100644 --- a/target/nextflow/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml +++ b/target/nextflow/integration_test_components/htrnaseq/check_eset/.config.vsh.yaml @@ -155,9 +155,9 @@ build_info: output: "target/nextflow/integration_test_components/htrnaseq/check_eset" executable: "target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -187,7 +187,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/integration_test_components/htrnaseq/check_eset/_viash.yaml b/target/nextflow/integration_test_components/htrnaseq/check_eset/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/integration_test_components/htrnaseq/check_eset/_viash.yaml +++ b/target/nextflow/integration_test_components/htrnaseq/check_eset/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf b/target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf index 14226f7a..d5324a88 100644 --- a/target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf +++ b/target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf @@ -3233,9 +3233,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/integration_test_components/htrnaseq/check_eset", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3254,7 +3254,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml b/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml index c25c3a1f..6ddfd196 100644 --- a/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml +++ b/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/.config.vsh.yaml @@ -164,9 +164,9 @@ build_info: output: "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output" executable: "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -196,7 +196,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml b/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml +++ b/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf b/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf index 89cb2640..a5909f31 100644 --- a/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf +++ b/target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf @@ -3244,9 +3244,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3265,7 +3265,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/io/publish_fastqs/.config.vsh.yaml b/target/nextflow/io/publish_fastqs/.config.vsh.yaml index b4e522b7..7baafb17 100644 --- a/target/nextflow/io/publish_fastqs/.config.vsh.yaml +++ b/target/nextflow/io/publish_fastqs/.config.vsh.yaml @@ -139,9 +139,9 @@ build_info: output: "target/nextflow/io/publish_fastqs" executable: "target/nextflow/io/publish_fastqs/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -171,7 +171,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/io/publish_fastqs/_viash.yaml b/target/nextflow/io/publish_fastqs/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/io/publish_fastqs/_viash.yaml +++ b/target/nextflow/io/publish_fastqs/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/io/publish_fastqs/main.nf b/target/nextflow/io/publish_fastqs/main.nf index 22088451..931a964c 100644 --- a/target/nextflow/io/publish_fastqs/main.nf +++ b/target/nextflow/io/publish_fastqs/main.nf @@ -3207,9 +3207,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/io/publish_fastqs", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3228,7 +3228,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/io/publish_results/.config.vsh.yaml b/target/nextflow/io/publish_results/.config.vsh.yaml index 23178dc8..9a0b94a1 100644 --- a/target/nextflow/io/publish_results/.config.vsh.yaml +++ b/target/nextflow/io/publish_results/.config.vsh.yaml @@ -77,13 +77,90 @@ argument_groups: direction: "input" multiple: false multiple_sep: ";" -- name: "Output arguments" +- name: "Output directory" + description: "Determines the name of output directories\n" arguments: - type: "file" - name: "--output" + name: "--star_output_dir" info: null default: - - "$id" + - "star_output" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--nrReadsNrGenesPerChrom_dir" + info: null + default: + - "nrReadsNrGenesPerChrom" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--star_qc_metrics_dir" + info: null + default: + - "starLogs" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--eset_dir" + info: null + default: + - "esets" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--f_data_dir" + info: null + default: + - "fData" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--p_data_dir" + info: null + default: + - "pData" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" +- name: "Output file arguments" + description: "Determines the name of output files" + arguments: + - type: "file" + name: "--run_params_output" + info: null + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--html_report_output" + info: null must_exist: true create_parent: true required: false @@ -202,9 +279,9 @@ build_info: output: "target/nextflow/io/publish_results" executable: "target/nextflow/io/publish_results/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -234,7 +311,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/io/publish_results/_viash.yaml b/target/nextflow/io/publish_results/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/io/publish_results/_viash.yaml +++ b/target/nextflow/io/publish_results/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/io/publish_results/main.nf b/target/nextflow/io/publish_results/main.nf index b6f954d3..6d517c36 100644 --- a/target/nextflow/io/publish_results/main.nf +++ b/target/nextflow/io/publish_results/main.nf @@ -3121,13 +3121,14 @@ meta = [ ] }, { - "name" : "Output arguments", + "name" : "Output directory", + "description" : "Determines the name of output directories\n", "arguments" : [ { "type" : "file", - "name" : "--output", + "name" : "--star_output_dir", "default" : [ - "$id" + "star_output" ], "must_exist" : true, "create_parent" : true, @@ -3135,6 +3136,97 @@ meta = [ "direction" : "output", "multiple" : false, "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--nrReadsNrGenesPerChrom_dir", + "default" : [ + "nrReadsNrGenesPerChrom" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--star_qc_metrics_dir", + "default" : [ + "starLogs" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--eset_dir", + "default" : [ + "esets" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--f_data_dir", + "default" : [ + "fData" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--p_data_dir", + "default" : [ + "pData" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + } + ] + }, + { + "name" : "Output file arguments", + "description" : "Determines the name of output files", + "arguments" : [ + { + "type" : "file", + "name" : "--run_params_output", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--html_report_output", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" } ] } @@ -3277,9 +3369,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/io/publish_results", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3298,7 +3390,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" @@ -3342,7 +3434,14 @@ $( if [ ! -z ${VIASH_PAR_F_DATA+x} ]; then echo "${VIASH_PAR_F_DATA}" | sed "s#' $( if [ ! -z ${VIASH_PAR_P_DATA+x} ]; then echo "${VIASH_PAR_P_DATA}" | sed "s#'#'\\"'\\"'#g;s#.*#par_p_data='&'#" ; else echo "# par_p_data="; fi ) $( if [ ! -z ${VIASH_PAR_HTML_REPORT+x} ]; then echo "${VIASH_PAR_HTML_REPORT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_html_report='&'#" ; else echo "# par_html_report="; fi ) $( if [ ! -z ${VIASH_PAR_RUN_PARAMS+x} ]; then echo "${VIASH_PAR_RUN_PARAMS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_run_params='&'#" ; else echo "# par_run_params="; fi ) -$( if [ ! -z ${VIASH_PAR_OUTPUT+x} ]; then echo "${VIASH_PAR_OUTPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_output='&'#" ; else echo "# par_output="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_OUTPUT_DIR+x} ]; then echo "${VIASH_PAR_STAR_OUTPUT_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_star_output_dir='&'#" ; else echo "# par_star_output_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_NRREADSNRGENESPERCHROM_DIR+x} ]; then echo "${VIASH_PAR_NRREADSNRGENESPERCHROM_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_nrReadsNrGenesPerChrom_dir='&'#" ; else echo "# par_nrReadsNrGenesPerChrom_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_QC_METRICS_DIR+x} ]; then echo "${VIASH_PAR_STAR_QC_METRICS_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_star_qc_metrics_dir='&'#" ; else echo "# par_star_qc_metrics_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_ESET_DIR+x} ]; then echo "${VIASH_PAR_ESET_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_eset_dir='&'#" ; else echo "# par_eset_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_F_DATA_DIR+x} ]; then echo "${VIASH_PAR_F_DATA_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_f_data_dir='&'#" ; else echo "# par_f_data_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_P_DATA_DIR+x} ]; then echo "${VIASH_PAR_P_DATA_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_p_data_dir='&'#" ; else echo "# par_p_data_dir="; fi ) +$( if [ ! -z ${VIASH_PAR_RUN_PARAMS_OUTPUT+x} ]; then echo "${VIASH_PAR_RUN_PARAMS_OUTPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_run_params_output='&'#" ; else echo "# par_run_params_output="; fi ) +$( if [ ! -z ${VIASH_PAR_HTML_REPORT_OUTPUT+x} ]; then echo "${VIASH_PAR_HTML_REPORT_OUTPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_html_report_output='&'#" ; else echo "# par_html_report_output="; fi ) $( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "${VIASH_META_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_name='&'#" ; else echo "# meta_name="; fi ) $( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "${VIASH_META_FUNCTIONALITY_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_functionality_name='&'#" ; else echo "# meta_functionality_name="; fi ) $( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "${VIASH_META_RESOURCES_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_resources_dir='&'#" ; else echo "# meta_resources_dir="; fi ) @@ -3365,48 +3464,97 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" ## VIASH END #!/bin/bash -echo "Publishing \\$par_input -> \\$par_output" +set -eo pipefail + +echo "Publishing results to multiple output directories" + +# Create output directories for multiple files +echo "Creating output directories..." + +path_pars=( + par_star_output_dir + par_nrReadsNrGenesPerChrom_dir + par_star_qc_metrics_dir + par_eset_dir + par_f_data_dir + par_p_data_dir + par_html_report_output + par_run_params_output +) + +for par in \\${path_pars[@]}; do + curr_val="\\${!par}" + new_value=\\$(realpath --canonicalize-missing "\\$curr_val") + declare -g "\\$par=\\$new_value" +done + +mkdir -p "\\$par_star_output_dir" && echo "\\$par_star_output_dir created" +mkdir -p "\\$par_nrReadsNrGenesPerChrom_dir" && echo "\\$par_nrReadsNrGenesPerChrom_dir created" +mkdir -p "\\$par_star_qc_metrics_dir" && echo "\\$par_star_qc_metrics_dir created" +mkdir -p "\\$par_eset_dir" && echo "\\$par_eset_dir created" +mkdir -p "\\$par_f_data_dir" && echo "\\$par_f_data_dir created" +mkdir -p "\\$par_p_data_dir" && echo "\\$par_p_data_dir created" echo -echo "Creating directory if it does not exist:" -mkdir -p "\\$par_output" && echo "\\$par_output created" - -echo -echo "Copying files..." +echo "Copying STAR output files..." IFS=";" read -ra star_output <<<\\$par_star_output -IFS=";" read -ra nrReadsNrGenesPerChrom <<<\\$par_nrReadsNrGenesPerChrom -IFS=";" read -ra star_qc_metrics <<<\\$par_star_qc_metrics -IFS=";" read -ra eset <<<\\$par_eset -IFS=";" read -ra f_data <<<\\$par_f_data -IFS=";" read -ra p_data <<<\\$par_p_data - for i in "\\${star_output[@]}"; do - cp -rL "\\$i" "\\$par_output/" + echo "Copying \\$i to \\$par_star_output_dir/" + cp -rL "\\$i" "\\$par_star_output_dir/" done +echo +echo "Copying nrReadsNrGenesPerChrom files..." +IFS=";" read -ra nrReadsNrGenesPerChrom <<<\\$par_nrReadsNrGenesPerChrom for i in "\\${nrReadsNrGenesPerChrom[@]}"; do - cp -rL "\\$i" "\\$par_output/" + echo "Copying \\$i to \\$par_nrReadsNrGenesPerChrom_dir/" + cp -rL "\\$i" "\\$par_nrReadsNrGenesPerChrom_dir/" done +echo +echo "Copying STAR QC metrics files..." +IFS=";" read -ra star_qc_metrics <<<\\$par_star_qc_metrics for i in "\\${star_qc_metrics[@]}"; do - cp -rL "\\$i" "\\$par_output/" + echo "Copying \\$i to \\$par_star_qc_metrics_dir/" + cp -rL "\\$i" "\\$par_star_qc_metrics_dir/" done +echo +echo "Copying eset files..." +IFS=";" read -ra eset <<<\\$par_eset for i in "\\${eset[@]}"; do - cp -rL "\\$i" "\\$par_output/" + echo "Copying \\$i to \\$par_eset_dir/" + cp -rL "\\$i" "\\$par_eset_dir/" done +echo +echo "Copying f_data files..." +IFS=";" read -ra f_data <<<\\$par_f_data for i in "\\${f_data[@]}"; do - cp -rL "\\$i" "\\$par_output/" + echo "Copying \\$i to \\$par_f_data_dir/" + cp -rL "\\$i" "\\$par_f_data_dir/" done +echo +echo "Copying p_data files..." +IFS=";" read -ra p_data <<<\\$par_p_data for i in "\\${p_data[@]}"; do - cp -rL "\\$i" "\\$par_output/" + echo "Copying \\$i to \\$par_p_data_dir/" + cp -rL "\\$i" "\\$par_p_data_dir/" done -cp -rL "\\$par_html_report" "\\$par_output/" +echo +echo "Copying single files directly..." +mkdir -p \\$(dirname "\\$par_html_report_output") +echo "Copying \\$par_html_report to \\$par_html_report_output" +cp -L "\\$par_html_report" "\\$par_html_report_output" -cp -rL "\\$par_run_params" "\\$par_output/" +echo "Copying \\$par_run_params to \\$par_run_params_output" +mkdir -p \\$(dirname "\\$par_run_params_output") +cp -L "\\$par_run_params" "\\$par_run_params_output" + +echo +echo "Publishing completed successfully!" VIASHMAIN bash "$tempscript" ''' diff --git a/target/nextflow/io/publish_results/nextflow_schema.json b/target/nextflow/io/publish_results/nextflow_schema.json index b438683b..b83eb8e6 100644 --- a/target/nextflow/io/publish_results/nextflow_schema.json +++ b/target/nextflow/io/publish_results/nextflow_schema.json @@ -85,17 +85,73 @@ } } }, - "output arguments": { - "title": "Output arguments", + "output directory": { + "title": "Output directory", "type": "object", - "description": "No description", + "description": "Determines the name of output directories\n", "properties": { - "output": { + "star_output_dir": { "type": "string", "format": "path", "description": "", - "help_text": "Type: `file`, multiple: `False`, default: `\"$id\"`, direction: `output`. ", - "default": "$id" + "help_text": "Type: `file`, multiple: `False`, default: `\"star_output\"`, direction: `output`. ", + "default": "star_output" + }, + "nrReadsNrGenesPerChrom_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"nrReadsNrGenesPerChrom\"`, direction: `output`. ", + "default": "nrReadsNrGenesPerChrom" + }, + "star_qc_metrics_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"starLogs\"`, direction: `output`. ", + "default": "starLogs" + }, + "eset_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"esets\"`, direction: `output`. ", + "default": "esets" + }, + "f_data_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"fData\"`, direction: `output`. ", + "default": "fData" + }, + "p_data_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"pData\"`, direction: `output`. ", + "default": "pData" + } + } + }, + "output file arguments": { + "title": "Output file arguments", + "type": "object", + "description": "Determines the name of output files", + "properties": { + "run_params_output": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.run_params_output\"`, direction: `output`. ", + "default": "$id.$key.run_params_output" + }, + "html_report_output": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.html_report_output\"`, direction: `output`. ", + "default": "$id.$key.html_report_output" } } }, @@ -117,7 +173,10 @@ "$ref": "#/$defs/input arguments" }, { - "$ref": "#/$defs/output arguments" + "$ref": "#/$defs/output directory" + }, + { + "$ref": "#/$defs/output file arguments" }, { "$ref": "#/$defs/nextflow input-output arguments" diff --git a/target/nextflow/parallel_map/.config.vsh.yaml b/target/nextflow/parallel_map/.config.vsh.yaml index 94b23ba2..7e7416e8 100644 --- a/target/nextflow/parallel_map/.config.vsh.yaml +++ b/target/nextflow/parallel_map/.config.vsh.yaml @@ -285,9 +285,9 @@ build_info: output: "target/nextflow/parallel_map" executable: "target/nextflow/parallel_map/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -317,7 +317,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/parallel_map/_viash.yaml b/target/nextflow/parallel_map/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/parallel_map/_viash.yaml +++ b/target/nextflow/parallel_map/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/parallel_map/main.nf b/target/nextflow/parallel_map/main.nf index f4790ee4..3db74190 100644 --- a/target/nextflow/parallel_map/main.nf +++ b/target/nextflow/parallel_map/main.nf @@ -3379,9 +3379,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/parallel_map", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3400,7 +3400,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/report/create_report/.config.vsh.yaml b/target/nextflow/report/create_report/.config.vsh.yaml index fe5fcaac..2e8a3a49 100644 --- a/target/nextflow/report/create_report/.config.vsh.yaml +++ b/target/nextflow/report/create_report/.config.vsh.yaml @@ -215,9 +215,9 @@ build_info: output: "target/nextflow/report/create_report" executable: "target/nextflow/report/create_report/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -247,7 +247,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/report/create_report/_viash.yaml b/target/nextflow/report/create_report/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/report/create_report/_viash.yaml +++ b/target/nextflow/report/create_report/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/report/create_report/main.nf b/target/nextflow/report/create_report/main.nf index a033ed68..7a9a65bb 100644 --- a/target/nextflow/report/create_report/main.nf +++ b/target/nextflow/report/create_report/main.nf @@ -3323,9 +3323,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/report/create_report", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3344,7 +3344,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/stats/combine_star_logs/.config.vsh.yaml b/target/nextflow/stats/combine_star_logs/.config.vsh.yaml index 981ed587..05e913d8 100644 --- a/target/nextflow/stats/combine_star_logs/.config.vsh.yaml +++ b/target/nextflow/stats/combine_star_logs/.config.vsh.yaml @@ -204,9 +204,9 @@ build_info: output: "target/nextflow/stats/combine_star_logs" executable: "target/nextflow/stats/combine_star_logs/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -236,7 +236,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/stats/combine_star_logs/_viash.yaml b/target/nextflow/stats/combine_star_logs/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/stats/combine_star_logs/_viash.yaml +++ b/target/nextflow/stats/combine_star_logs/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/stats/combine_star_logs/main.nf b/target/nextflow/stats/combine_star_logs/main.nf index b3aaa854..2f38c0d5 100644 --- a/target/nextflow/stats/combine_star_logs/main.nf +++ b/target/nextflow/stats/combine_star_logs/main.nf @@ -3295,9 +3295,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/stats/combine_star_logs", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3316,7 +3316,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml b/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml index e9f37143..a4aabaa3 100644 --- a/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml +++ b/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml @@ -188,9 +188,9 @@ build_info: output: "target/nextflow/stats/generate_pool_statistics" executable: "target/nextflow/stats/generate_pool_statistics/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -220,7 +220,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/stats/generate_pool_statistics/_viash.yaml b/target/nextflow/stats/generate_pool_statistics/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/stats/generate_pool_statistics/_viash.yaml +++ b/target/nextflow/stats/generate_pool_statistics/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/stats/generate_pool_statistics/main.nf b/target/nextflow/stats/generate_pool_statistics/main.nf index eca0e4dc..13675516 100644 --- a/target/nextflow/stats/generate_pool_statistics/main.nf +++ b/target/nextflow/stats/generate_pool_statistics/main.nf @@ -3279,9 +3279,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/stats/generate_pool_statistics", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3300,7 +3300,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml b/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml index 01f69741..177446bc 100644 --- a/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml +++ b/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml @@ -260,9 +260,9 @@ build_info: output: "target/nextflow/stats/generate_well_statistics" executable: "target/nextflow/stats/generate_well_statistics/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -292,7 +292,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/stats/generate_well_statistics/_viash.yaml b/target/nextflow/stats/generate_well_statistics/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/stats/generate_well_statistics/_viash.yaml +++ b/target/nextflow/stats/generate_well_statistics/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/stats/generate_well_statistics/main.nf b/target/nextflow/stats/generate_well_statistics/main.nf index ab3cea7f..c325d718 100644 --- a/target/nextflow/stats/generate_well_statistics/main.nf +++ b/target/nextflow/stats/generate_well_statistics/main.nf @@ -3361,9 +3361,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/stats/generate_well_statistics", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3382,7 +3382,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/utils/concatRuns/.config.vsh.yaml b/target/nextflow/utils/concatRuns/.config.vsh.yaml index bfeb6211..7917d735 100644 --- a/target/nextflow/utils/concatRuns/.config.vsh.yaml +++ b/target/nextflow/utils/concatRuns/.config.vsh.yaml @@ -160,9 +160,9 @@ build_info: output: "target/nextflow/utils/concatRuns" executable: "target/nextflow/utils/concatRuns/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" dependencies: - "target/dependencies/vsh/vsh/craftbox/v0.2.0/nextflow/concat_text" package_config: @@ -194,7 +194,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/utils/concatRuns/_viash.yaml b/target/nextflow/utils/concatRuns/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/utils/concatRuns/_viash.yaml +++ b/target/nextflow/utils/concatRuns/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/utils/concatRuns/main.nf b/target/nextflow/utils/concatRuns/main.nf index 3934c56f..a0bf853f 100644 --- a/target/nextflow/utils/concatRuns/main.nf +++ b/target/nextflow/utils/concatRuns/main.nf @@ -3229,9 +3229,9 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/utils/concatRuns", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3250,7 +3250,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/utils/listInputDir/.config.vsh.yaml b/target/nextflow/utils/listInputDir/.config.vsh.yaml index 90e56757..ae45b29c 100644 --- a/target/nextflow/utils/listInputDir/.config.vsh.yaml +++ b/target/nextflow/utils/listInputDir/.config.vsh.yaml @@ -169,9 +169,9 @@ build_info: output: "target/nextflow/utils/listInputDir" executable: "target/nextflow/utils/listInputDir/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -201,7 +201,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/utils/listInputDir/_viash.yaml b/target/nextflow/utils/listInputDir/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/utils/listInputDir/_viash.yaml +++ b/target/nextflow/utils/listInputDir/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/utils/listInputDir/main.nf b/target/nextflow/utils/listInputDir/main.nf index 23e3f787..d908fc9a 100644 --- a/target/nextflow/utils/listInputDir/main.nf +++ b/target/nextflow/utils/listInputDir/main.nf @@ -3236,9 +3236,9 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/utils/listInputDir", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3257,7 +3257,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/utils/save_params/.config.vsh.yaml b/target/nextflow/utils/save_params/.config.vsh.yaml index 2e1ef083..b091febf 100644 --- a/target/nextflow/utils/save_params/.config.vsh.yaml +++ b/target/nextflow/utils/save_params/.config.vsh.yaml @@ -151,9 +151,9 @@ build_info: output: "target/nextflow/utils/save_params" executable: "target/nextflow/utils/save_params/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -183,7 +183,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/utils/save_params/_viash.yaml b/target/nextflow/utils/save_params/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/utils/save_params/_viash.yaml +++ b/target/nextflow/utils/save_params/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/utils/save_params/main.nf b/target/nextflow/utils/save_params/main.nf index 192697e7..04c39d7f 100644 --- a/target/nextflow/utils/save_params/main.nf +++ b/target/nextflow/utils/save_params/main.nf @@ -3223,9 +3223,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/utils/save_params", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3244,7 +3244,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/workflows/htrnaseq/.config.vsh.yaml b/target/nextflow/workflows/htrnaseq/.config.vsh.yaml index 362e3a99..77e92444 100644 --- a/target/nextflow/workflows/htrnaseq/.config.vsh.yaml +++ b/target/nextflow/workflows/htrnaseq/.config.vsh.yaml @@ -345,9 +345,9 @@ build_info: output: "target/nextflow/workflows/htrnaseq" executable: "target/nextflow/workflows/htrnaseq/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" dependencies: - "target/nextflow/stats/combine_star_logs" - "target/nextflow/stats/generate_pool_statistics" @@ -390,7 +390,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/workflows/htrnaseq/_viash.yaml b/target/nextflow/workflows/htrnaseq/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/workflows/htrnaseq/_viash.yaml +++ b/target/nextflow/workflows/htrnaseq/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/workflows/htrnaseq/main.nf b/target/nextflow/workflows/htrnaseq/main.nf index 1e81c6fe..ce6e6982 100644 --- a/target/nextflow/workflows/htrnaseq/main.nf +++ b/target/nextflow/workflows/htrnaseq/main.nf @@ -3484,9 +3484,9 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/htrnaseq", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3505,7 +3505,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" @@ -3893,7 +3893,6 @@ workflow run_wf { | setState([ "star_output": "star_output", "fastq_output": "fastq_output_directory", - "star_output": "star_output", "nrReadsNrGenesPerChrom": "nrReadsNrGenesPerChromPool", "star_qc_metrics": "star_qc_metrics", "eset": "eset", diff --git a/target/nextflow/workflows/runner/.config.vsh.yaml b/target/nextflow/workflows/runner/.config.vsh.yaml index 08d17c06..7dbbf8d8 100644 --- a/target/nextflow/workflows/runner/.config.vsh.yaml +++ b/target/nextflow/workflows/runner/.config.vsh.yaml @@ -124,7 +124,40 @@ argument_groups: - name: "Output arguments" arguments: - type: "file" - name: "--eset_output" + name: "--star_output_dir" + info: null + default: + - "star_output" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--nrReadsNrGenesPerChrom_dir" + info: null + default: + - "nrReadsNrGenesPerChrom" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--star_qc_metrics_dir" + info: null + default: + - "starLogs" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--eset_dir" info: null default: - "esets" @@ -134,11 +167,35 @@ argument_groups: direction: "output" multiple: false multiple_sep: ";" + - type: "file" + name: "--f_data_dir" + info: null + default: + - "fData" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--p_data_dir" + info: null + default: + - "pData" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" resources: - type: "nextflow_script" path: "main.nf" is_executable: true entrypoint: "run_wf" +- type: "file" + path: "disable_publishfiles_process.config" - type: "file" path: "nextflow_labels.config" dest: "nextflow_labels.config" @@ -239,6 +296,7 @@ runners: cpu500: "cpus = 500" cpu1000: "cpus = 1000" script: + - "includeConfig(\"disable_publishfiles_process.config\")" - "includeConfig(\"nextflow_labels.config\")" debug: false container: "docker" @@ -254,9 +312,9 @@ build_info: output: "target/nextflow/workflows/runner" executable: "target/nextflow/workflows/runner/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" dependencies: - "target/nextflow/utils/listInputDir" - "target/nextflow/workflows/htrnaseq" @@ -292,7 +350,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/workflows/runner/_viash.yaml b/target/nextflow/workflows/runner/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/workflows/runner/_viash.yaml +++ b/target/nextflow/workflows/runner/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/workflows/runner/disable_publishfiles_process.config b/target/nextflow/workflows/runner/disable_publishfiles_process.config new file mode 100644 index 00000000..6cff5e26 --- /dev/null +++ b/target/nextflow/workflows/runner/disable_publishfiles_process.config @@ -0,0 +1,5 @@ +process { + withName: publishFilesProc { + publishDir = [ enabled: false ] + } +} \ No newline at end of file diff --git a/target/nextflow/workflows/runner/main.nf b/target/nextflow/workflows/runner/main.nf index 83704ba1..dc6516dd 100644 --- a/target/nextflow/workflows/runner/main.nf +++ b/target/nextflow/workflows/runner/main.nf @@ -3173,7 +3173,46 @@ meta = [ "arguments" : [ { "type" : "file", - "name" : "--eset_output", + "name" : "--star_output_dir", + "default" : [ + "star_output" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--nrReadsNrGenesPerChrom_dir", + "default" : [ + "nrReadsNrGenesPerChrom" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--star_qc_metrics_dir", + "default" : [ + "starLogs" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--eset_dir", "default" : [ "esets" ], @@ -3183,6 +3222,32 @@ meta = [ "direction" : "output", "multiple" : false, "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--f_data_dir", + "default" : [ + "fData" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--p_data_dir", + "default" : [ + "pData" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" } ] } @@ -3194,6 +3259,10 @@ meta = [ "is_executable" : true, "entrypoint" : "run_wf" }, + { + "type" : "file", + "path" : "disable_publishfiles_process.config" + }, { "type" : "file", "path" : "/src/config/labels.config", @@ -3325,6 +3394,7 @@ meta = [ "cpu1000" : "cpus = 1000" }, "script" : [ + "includeConfig(\\"disable_publishfiles_process.config\\")", "includeConfig(\\"nextflow_labels.config\\")" ] }, @@ -3348,9 +3418,9 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/runner", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3369,7 +3439,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" @@ -3432,7 +3502,6 @@ workflow run_wf { def new_state = ["run_params": run_params_output_templates[0], "all_states": all_states] return [new_id, new_state] } - | save_params.run( key: "save_params_runner", fromState: {id, state -> @@ -3466,6 +3535,19 @@ workflow run_wf { ) htrnaseq_ch = input_ch + | map { id, state -> + // The argument names for this workflow and the htrnaseq workflow may overlap + // here, we store a copy in order to make sure to not accidentally overwrite the state. + def new_state = state + [ + "star_output_dir_workflow": state.star_output_dir, + "nrReadsNrGenesPerChrom_dir_workflow": state.nrReadsNrGenesPerChrom_dir, + "star_qc_metrics_dir_workflow": state.star_qc_metrics_dir, + "eset_dir_workflow": state.eset_dir, + "f_data_dir_workflow": state.f_data_dir, + "p_data_dir_workflow": state.p_data_dir + ] + return [id, new_state] + } | listInputDir.run( fromState: [ "input": "input", @@ -3525,49 +3607,81 @@ workflow run_wf { toState: { id, result, state -> state + result } ) - // The HT-RNAseq workflow outputs multiple events, one per 'pool' (usually a plate) - // but for publishing the results, this is not handy because we want to use the $id - // variable as a pointer to the target data. - // - // So, we should combine everything together - // - // project_id / experiment_id / "data_processed" / date_workflow - grouped_ch = htrnaseq_ch - | toSortedList - | map{ vs -> - def all_fastqs - [ - vs[0][1].run_id, // The original ID - [ - star_output: reduce_paths(vs.collect{ it[1].star_output }.flatten()), - nrReadsNrGenesPerChrom: reduce_paths(vs.collect{ it[1].nrReadsNrGenesPerChrom }), - star_qc_metrics: reduce_paths(vs.collect{ it[1].star_qc_metrics }), - eset: reduce_paths(vs.collect{ it[1].eset }), - f_data: reduce_paths(vs.collect{ it[1].f_data }), - p_data: reduce_paths(vs.collect{ it[1].p_data }), - fastq_output: vs.collect{ it[1].fastq_output }.flatten().unique(), - html_report: vs.collect{ it[1].html_report }[0], // The report is for all pools - plain_output: vs.collect{ it[1].plain_output }[0], - project_id: vs.collect{ it[1].project_id }[0], - experiment_id: vs.collect{ it[1].experiment_id }[0] - ] - ] - } - - grouped_with_params_list_ch = grouped_ch.combine(save_params_ch) + // The HT-RNAseq workflow outputs multiple events, one per 'pool' (usually a plate) + // but for publishing the results, this is not handy because we want to use the $id + // variable as a pointer to the target data. + // So, we should combine everything together + results_publish_ch = htrnaseq_ch + | combine(save_params_ch) | map {new_id, grouped_ch_state, save_params_id, save_params_state -> def new_state = grouped_ch_state + ["run_params": save_params_state.run_params] return [new_id, new_state] - } + | toSortedList + | map{ vs -> + def states = vs.collect{it[1]} - results_publish_ch = grouped_with_params_list_ch + // The STAR output is a directory for each well in a plate (or pool of plates). + // The wells are grouped into a directory per sample. The name of this directory should + // match the sample_id. + def star_output_samples = states.collectMany{state -> + state.star_output.collect{ + def star_sample_dir = it.parent + assert star_sample_dir.name == state.sample_id: "Unexpected state: the parent directory of STAR output \ + path '${it}' should match with the sample ID ${sample_id}" + star_sample_dir + } + } + def new_state = [ + "star_output": star_output_samples, + ] + + // Keys for which the values should be the same across samples + def state_keys_unique = [ + "html_report", + "project_id", + "experiment_id", + "star_output_dir_workflow", + "nrReadsNrGenesPerChrom_dir_workflow", + "star_qc_metrics_dir_workflow", + "eset_dir_workflow", + "f_data_dir_workflow", + "p_data_dir_workflow", + "f_data", + "run_params" + ] + def state_unique_keys = state_keys_unique.inject([:]) { state_to_update, argument_name -> + argument_values = states.collect{it.get(argument_name)}.unique() + assert argument_values.size() == 1, "State error: values for argument $argument_name should be the same across states. \ + Argument values: $argument_values" + // take the unique value from the set (there is only one) + def argument_value + argument_values.each { argument_value = it } + state_to_update + [(argument_name): argument_value] + } + + // Keys that just require gathering of values across samples + def state_keys_collect = [ + "nrReadsNrGenesPerChrom", + "star_qc_metrics", + "eset", + "p_data", + ] + def state_collect = state_keys_collect.collectEntries{ key_ -> + [key_, states.collect{it.get(key_)}] + } + + new_state = new_state + state_unique_keys + state_collect + [states[0].run_id, new_state] + } | publish_results.run( fromState: { id, state -> - def output_dir = "${state.project_id}/${state.experiment_id}/data_processed/${date}_htrnaseq_${version}" - println("Publising results to ${params.results_publish_dir}/${output_dir}") + def prefix = "${state.project_id}/${state.experiment_id}/data_processed/${date}_htrnaseq_${version}" - [ + println("Publising results to ${params.results_publish_dir}/${prefix}") + + [ + // Inputs star_output: state.star_output, nrReadsNrGenesPerChrom: state.nrReadsNrGenesPerChrom, star_qc_metrics: state.star_qc_metrics, @@ -3576,10 +3690,18 @@ workflow run_wf { p_data: state.p_data, html_report: state.html_report, run_params: state.run_params, - output: output_dir.toString() + // Output locations + run_params_output: "${prefix}/${state.run_params.name}", + html_report_output: "${prefix}/${state.html_report.name}", + star_output_dir: "${prefix}/${state.star_output_dir_workflow}", + nrReadsNrGenesPerChrom_dir: "${prefix}/${state.nrReadsNrGenesPerChrom_dir_workflow}", + star_qc_metrics_dir: "${prefix}/${state.star_qc_metrics_dir_workflow}", + eset_dir: "${prefix}/${state.eset_dir_workflow}", + f_data_dir: "${prefix}/${state.f_data_dir_workflow}", + p_data_dir: "${prefix}/${state.p_data_dir_workflow}" ] }, - toState: { id, result, state -> state + ["eset_output": state.eset] }, + toState: { id, result, state -> result }, directives: [ publishDir: [ path: "${params.results_publish_dir}", @@ -3588,33 +3710,43 @@ workflow run_wf { ] ] ) + | setState([ + "star_output_dir", + "nrReadsNrGenesPerChrom_dir", + "star_qc_metrics_dir", + "eset_dir", + "f_data_dir", + "p_data_dir", + ] + ) - fastq_publish_ch = grouped_ch - | flatMap{id, state -> - def new_states = state.fastq_output.collect{fastq_dir -> - def run_id = fastq_dir.name // The folder name corresponds to the run - def sample = fastq_dir.parent.name // The parent folder name should be the sample - def new_id = "${run_id}/${sample}" - def fastq_files = fastq_dir.listFiles() - def new_state = [ - "fastq_output": fastq_files, - "sample_id": sample, - "run_id": run_id - ] - return [new_id, new_state] - } - return new_states + fastq_publish_ch = htrnaseq_ch + // The output from the htrnaseq workflow is on sample (i.e. pool) level + // Multiple sequencing runs may have contributes to the FASTQ files from this pool. + // So the fastq_output is a list of directories, one for each run. + // We assume that the names of the folders containing the FASTQ files are equal to the pool names. + | flatMap {id, state -> + state.fastq_output.collect{fastq_dir -> + def run_id = fastq_dir.name + def new_id = "${run_id}/${state.sample_id}" + def new_state = [ + "fastq_output": fastq_dir.listFiles(), + "sample_id": state.sample_id, + "run_id": run_id, + "output": "${run_id}/${date}_htrnaseq_${version}/${state.sample_id}".toString() + ] + [new_id, new_state] + } } + // A folder containing the FASTQ files from a certain pool may be present in the state from + // multiple samples; if that pool contributed to the data from those samples. + // Those FASTQ files will only be published once by filtering out the duplicate events here. + | unique{it[0]} | publish_fastqs.run( - fromState: { id, state -> - def output_dir = "${state.run_id}/${date}_htrnaseq_${version}/${state.sample_id}" - println("Publising fastqs to ${params.fastq_publish_dir}/${output_dir}") - - [ - input: state.fastq_output, - output: output_dir.toString(), - ] - }, + fromState: [ + "input": "fastq_output", + "output": "output", + ], toState: { id, result, state -> state }, directives: [ publishDir: [ @@ -3625,12 +3757,9 @@ workflow run_wf { ] ) - output_ch = results_publish_ch - | setState(["eset_output"]) - emit: - grouped_ch - | map{ id, state -> [ id, [ _meta: [ join_id: state.run_id ] ] ] } + results_publish_ch + } def get_version(inputFile) { @@ -3641,39 +3770,6 @@ def get_version(inputFile) { return version } -/* - * This function uses a heuristic to group a list of paths so that the level of nesting - * of IDs is represented in the output. - * - * We iterative of the path sections (subfolders) from the last (file) the first (root node). - * The first path segment that is common across all 'events' is the cutoff. We cutoff the paths - * at this level, select the unique elements from the list and use that as input for the next step. - * - * An optional offset allows one to shift the cutoff left or right. - */ -def reduce_paths(paths, offset = 0) { - def path_length = paths.collect{ it.getNameCount() }[0] - - def unique_list = (path_length-1..0).collectEntries { i -> - [ (i): paths.collect{ it.getName(i) }.unique().size() ] - } - - def cutoff = unique_list.find{ it.value == 1 }.key - - def grouped_paths = paths.collect{ f -> "/" + f.subpath(0, cutoff+1+offset) }.unique() - - println("") - println("Detecting the common path section to pass to the next step:") - print(" From: ") - print paths - println("") - print(" To: ") - print grouped_paths - println("") - - return grouped_paths -} - // inner workflow hook def innerWorkflowFactory(args) { return run_wf diff --git a/target/nextflow/workflows/runner/nextflow.config b/target/nextflow/workflows/runner/nextflow.config index e1d51c85..d8d759e2 100644 --- a/target/nextflow/workflows/runner/nextflow.config +++ b/target/nextflow/workflows/runner/nextflow.config @@ -122,4 +122,5 @@ process{ withLabel: cpu1000 { cpus = 1000 } } +includeConfig("disable_publishfiles_process.config") includeConfig("nextflow_labels.config") diff --git a/target/nextflow/workflows/runner/nextflow_schema.json b/target/nextflow/workflows/runner/nextflow_schema.json index 2d11695b..bbd4c521 100644 --- a/target/nextflow/workflows/runner/nextflow_schema.json +++ b/target/nextflow/workflows/runner/nextflow_schema.json @@ -104,12 +104,47 @@ "type": "object", "description": "No description", "properties": { - "eset_output": { + "star_output_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"star_output\"`, direction: `output`. ", + "default": "star_output" + }, + "nrReadsNrGenesPerChrom_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"nrReadsNrGenesPerChrom\"`, direction: `output`. ", + "default": "nrReadsNrGenesPerChrom" + }, + "star_qc_metrics_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"starLogs\"`, direction: `output`. ", + "default": "starLogs" + }, + "eset_dir": { "type": "string", "format": "path", "description": "", "help_text": "Type: `file`, multiple: `False`, default: `\"esets\"`, direction: `output`. ", "default": "esets" + }, + "f_data_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"fData\"`, direction: `output`. ", + "default": "fData" + }, + "p_data_dir": { + "type": "string", + "format": "path", + "description": "", + "help_text": "Type: `file`, multiple: `False`, default: `\"pData\"`, direction: `output`. ", + "default": "pData" } } }, diff --git a/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml b/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml index d7507ae2..6bee00c3 100644 --- a/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml +++ b/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml @@ -222,9 +222,9 @@ build_info: output: "target/nextflow/workflows/well_demultiplex" executable: "target/nextflow/workflows/well_demultiplex/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" dependencies: - "target/dependencies/vsh/vsh/biobox/v0.3.1/nextflow/cutadapt" - "target/dependencies/vsh/vsh/craftbox/v0.2.0/nextflow/concat_text" @@ -258,7 +258,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/workflows/well_demultiplex/_viash.yaml b/target/nextflow/workflows/well_demultiplex/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/workflows/well_demultiplex/_viash.yaml +++ b/target/nextflow/workflows/well_demultiplex/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/workflows/well_demultiplex/main.nf b/target/nextflow/workflows/well_demultiplex/main.nf index 056fefdd..38c77c20 100644 --- a/target/nextflow/workflows/well_demultiplex/main.nf +++ b/target/nextflow/workflows/well_demultiplex/main.nf @@ -3327,9 +3327,9 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/well_demultiplex", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3348,7 +3348,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'" diff --git a/target/nextflow/workflows/well_metadata/.config.vsh.yaml b/target/nextflow/workflows/well_metadata/.config.vsh.yaml index 256ec479..3362f491 100644 --- a/target/nextflow/workflows/well_metadata/.config.vsh.yaml +++ b/target/nextflow/workflows/well_metadata/.config.vsh.yaml @@ -215,9 +215,9 @@ build_info: output: "target/nextflow/workflows/well_metadata" executable: "target/nextflow/workflows/well_metadata/main.nf" viash_version: "0.9.4" - git_commit: "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53" + git_commit: "fdbd9fce90c65c9d7cd1f09286cc9266593ae203" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-15-gd3962a3" + git_tag: "v0.7.2-23-gfdbd9fc" package_config: name: "htrnaseq" version: "add-eset-output-param" @@ -247,7 +247,7 @@ package_config: target: "target" config_mods: - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script\ - \ := 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ + \ += 'includeConfig(\"nextflow_labels.config\")'\n.resources += {path: '/src/config/labels.config',\ \ dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest:\ \ '_viash.yaml'}\n" - ".engines += { type: \"native\" }" diff --git a/target/nextflow/workflows/well_metadata/_viash.yaml b/target/nextflow/workflows/well_metadata/_viash.yaml index 26386aa1..31895a6c 100644 --- a/target/nextflow/workflows/well_metadata/_viash.yaml +++ b/target/nextflow/workflows/well_metadata/_viash.yaml @@ -14,7 +14,7 @@ info: dest: resources_test config_mods: | .requirements.commands := ['ps'] - .runners[.type == 'nextflow'].config.script := 'includeConfig("nextflow_labels.config")' + .runners[.type == 'nextflow'].config.script += 'includeConfig("nextflow_labels.config")' .resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'} .resources += {path: '/_viash.yaml', dest: '_viash.yaml'} version: add-eset-output-param diff --git a/target/nextflow/workflows/well_metadata/main.nf b/target/nextflow/workflows/well_metadata/main.nf index 9b9e3014..25407b50 100644 --- a/target/nextflow/workflows/well_metadata/main.nf +++ b/target/nextflow/workflows/well_metadata/main.nf @@ -3299,9 +3299,9 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/well_metadata", "viash_version" : "0.9.4", - "git_commit" : "d3962a3f0ce0399d6d0ad37b9a30f682787e8a53", + "git_commit" : "fdbd9fce90c65c9d7cd1f09286cc9266593ae203", "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-15-gd3962a3" + "git_tag" : "v0.7.2-23-gfdbd9fc" }, "package_config" : { "name" : "htrnaseq", @@ -3320,7 +3320,7 @@ meta = [ "source" : "src", "target" : "target", "config_mods" : [ - ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script := 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", + ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].config.script += 'includeConfig(\\"nextflow_labels.config\\")'\n.resources += {path: '/src/config/labels.config', dest: 'nextflow_labels.config'}\n.resources += {path: '/_viash.yaml', dest: '_viash.yaml'}\n", ".engines += { type: \\"native\\" }", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_tag := 'add-eset-output-param'"