From f683dfcf8e7ba874c45bf7623d484ff801777c2a Mon Sep 17 00:00:00 2001 From: CI Date: Tue, 2 Sep 2025 08:17:05 +0000 Subject: [PATCH] Build branch htrnaseq/main with version main to htrnaseq on branch main (92755e8) Build pipeline: viash-hub.htrnaseq.main-666pl Source commit: https://github.com/viash-hub/htrnaseq/commit/92755e84e7e2b17cc44664388d6fbb444a26cffd Source message: Runner: output state and rework publishing (#68) * add eset output param * add outputs to publishing and runner * update publishing * Update publishing * Remove debug statements * Undo change to integration test script * Add asserts * Fix asserts and canonicalization of publish paths * Move fData to folder * Add CHANGELOG entry [ci skip] --------- Co-authored-by: Dries Schaumont <5946712+DriesSchaumont@users.noreply.github.com> --- .gitignore | 1 + CHANGELOG.md | 14 + _viash.yaml | 45 +-- src/io/publish_results/code.sh | 89 ++++- src/io/publish_results/config.vsh.yaml | 39 +- src/workflows/htrnaseq/main.nf | 1 - src/workflows/runner/config.vsh.yaml | 30 ++ .../disable_publishfiles_process.config | 5 + src/workflows/runner/integration_test.sh | 2 + src/workflows/runner/main.nf | 223 ++++++----- src/workflows/runner/test.nf | 18 +- .../eset/create_eset/.config.vsh.yaml | 5 +- .../executable/eset/create_eset/_viash.yaml | 2 +- .../executable/eset/create_eset/create_eset | 4 +- .../eset/create_fdata/.config.vsh.yaml | 5 +- .../executable/eset/create_fdata/_viash.yaml | 2 +- .../executable/eset/create_fdata/create_fdata | 4 +- .../eset/create_pdata/.config.vsh.yaml | 5 +- .../executable/eset/create_pdata/_viash.yaml | 2 +- .../executable/eset/create_pdata/create_pdata | 4 +- .../htrnaseq/check_eset/.config.vsh.yaml | 5 +- .../htrnaseq/check_eset/_viash.yaml | 2 +- .../htrnaseq/check_eset/check_eset | 4 +- .../check_cutadapt_output/.config.vsh.yaml | 5 +- .../check_cutadapt_output/_viash.yaml | 2 +- .../check_cutadapt_output | 4 +- .../io/publish_fastqs/.config.vsh.yaml | 5 +- .../executable/io/publish_fastqs/_viash.yaml | 2 +- .../io/publish_fastqs/publish_fastqs | 4 +- .../io/publish_results/.config.vsh.yaml | 88 ++++- .../executable/io/publish_results/_viash.yaml | 2 +- .../io/publish_results/publish_results | 374 +++++++++++++++--- .../executable/parallel_map/.config.vsh.yaml | 5 +- target/executable/parallel_map/_viash.yaml | 2 +- target/executable/parallel_map/parallel_map | 4 +- .../report/create_report/.config.vsh.yaml | 5 +- .../report/create_report/_viash.yaml | 2 +- .../report/create_report/create_report | 4 +- .../stats/combine_star_logs/.config.vsh.yaml | 5 +- .../stats/combine_star_logs/_viash.yaml | 2 +- .../stats/combine_star_logs/combine_star_logs | 4 +- .../generate_pool_statistics/.config.vsh.yaml | 5 +- .../generate_pool_statistics/_viash.yaml | 2 +- .../generate_pool_statistics | 4 +- .../generate_well_statistics/.config.vsh.yaml | 5 +- .../generate_well_statistics/_viash.yaml | 2 +- .../generate_well_statistics | 4 +- .../utils/save_params/.config.vsh.yaml | 5 +- .../executable/utils/save_params/_viash.yaml | 2 +- .../executable/utils/save_params/save_params | 4 +- .../eset/create_eset/.config.vsh.yaml | 5 +- target/nextflow/eset/create_eset/_viash.yaml | 2 +- target/nextflow/eset/create_eset/main.nf | 7 +- .../eset/create_fdata/.config.vsh.yaml | 5 +- target/nextflow/eset/create_fdata/_viash.yaml | 2 +- target/nextflow/eset/create_fdata/main.nf | 7 +- .../eset/create_pdata/.config.vsh.yaml | 5 +- target/nextflow/eset/create_pdata/_viash.yaml | 2 +- target/nextflow/eset/create_pdata/main.nf | 7 +- .../htrnaseq/check_eset/.config.vsh.yaml | 5 +- .../htrnaseq/check_eset/_viash.yaml | 2 +- .../htrnaseq/check_eset/main.nf | 7 +- .../check_cutadapt_output/.config.vsh.yaml | 5 +- .../check_cutadapt_output/_viash.yaml | 2 +- .../check_cutadapt_output/main.nf | 7 +- .../io/publish_fastqs/.config.vsh.yaml | 5 +- target/nextflow/io/publish_fastqs/_viash.yaml | 2 +- target/nextflow/io/publish_fastqs/main.nf | 7 +- .../io/publish_results/.config.vsh.yaml | 88 ++++- .../nextflow/io/publish_results/_viash.yaml | 2 +- target/nextflow/io/publish_results/main.nf | 203 ++++++++-- .../io/publish_results/nextflow_schema.json | 73 +++- target/nextflow/parallel_map/.config.vsh.yaml | 5 +- target/nextflow/parallel_map/_viash.yaml | 2 +- target/nextflow/parallel_map/main.nf | 7 +- .../report/create_report/.config.vsh.yaml | 5 +- .../nextflow/report/create_report/_viash.yaml | 2 +- target/nextflow/report/create_report/main.nf | 7 +- .../stats/combine_star_logs/.config.vsh.yaml | 5 +- .../stats/combine_star_logs/_viash.yaml | 2 +- .../nextflow/stats/combine_star_logs/main.nf | 7 +- .../generate_pool_statistics/.config.vsh.yaml | 5 +- .../generate_pool_statistics/_viash.yaml | 2 +- .../stats/generate_pool_statistics/main.nf | 7 +- .../generate_well_statistics/.config.vsh.yaml | 5 +- .../generate_well_statistics/_viash.yaml | 2 +- .../stats/generate_well_statistics/main.nf | 7 +- .../utils/concatRuns/.config.vsh.yaml | 5 +- target/nextflow/utils/concatRuns/_viash.yaml | 2 +- target/nextflow/utils/concatRuns/main.nf | 7 +- .../utils/listInputDir/.config.vsh.yaml | 5 +- .../nextflow/utils/listInputDir/_viash.yaml | 2 +- target/nextflow/utils/listInputDir/main.nf | 7 +- .../utils/save_params/.config.vsh.yaml | 5 +- target/nextflow/utils/save_params/_viash.yaml | 2 +- target/nextflow/utils/save_params/main.nf | 7 +- .../workflows/htrnaseq/.config.vsh.yaml | 5 +- .../nextflow/workflows/htrnaseq/_viash.yaml | 2 +- target/nextflow/workflows/htrnaseq/main.nf | 8 +- .../workflows/runner/.config.vsh.yaml | 76 +++- target/nextflow/workflows/runner/_viash.yaml | 2 +- .../disable_publishfiles_process.config | 5 + target/nextflow/workflows/runner/main.nf | 318 ++++++++++----- .../nextflow/workflows/runner/nextflow.config | 1 + .../workflows/runner/nextflow_schema.json | 52 +++ .../well_demultiplex/.config.vsh.yaml | 5 +- .../workflows/well_demultiplex/_viash.yaml | 2 +- .../workflows/well_demultiplex/main.nf | 7 +- .../workflows/well_metadata/.config.vsh.yaml | 5 +- .../workflows/well_metadata/_viash.yaml | 2 +- .../nextflow/workflows/well_metadata/main.nf | 7 +- 111 files changed, 1549 insertions(+), 573 deletions(-) create mode 100644 src/workflows/runner/disable_publishfiles_process.config create mode 100644 target/nextflow/workflows/runner/disable_publishfiles_process.config 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/CHANGELOG.md b/CHANGELOG.md index 5abcadbd..d2d4e2a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# htrnaseq v0.11.0 + +## Breaking changes + +* `runner`: feature annotation data (fData) is now output to a subfolder `fData` (PR #68). + +## New features + +* `runner`: add output results to state in order for the workflow to be used as subworkflow (PR #68). + +## Bug fixes + +* `runner`: disable `publishFilesProc` because this workflow handles publishing itself (PR #68). + # htrnaseq v0.10.0 ## Breaking changes diff --git a/_viash.yaml b/_viash.yaml index 38f36696..0af48721 100644 --- a/_viash.yaml +++ b/_viash.yaml @@ -1,56 +1,21 @@ name: htrnaseq summary: | A workflow for high-throughput RNA-seq data analyses. -description: | - This workflow is designed to process high-throughput RNA-seq data, where every - well of a microarray plate is a sample. A fasta file provided as input - defines the mapping between sample barcodes and wells. - - The workflow is built in a modular fashion, where most of the base functionality - is provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest) - supplemented by custom base components and workflow components in this package. - - The full workflow is split in two major subworkflows that can be run independently: - - * **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well. - * **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports. - - Each of those can be started individually, or the full workflow can be run in two ways: - - 1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) - containing the main functionality. - 2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a - number of choices (input/output structure and location) have been made. - - Input for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running - [demultiplex](https://www.viash-hub.com/packages/demultiplex) first. - +description: "This workflow is designed to process high-throughput RNA-seq data, where every\nwell of a microarray plate is a sample. A fasta file provided as input\ndefines the mapping between sample barcodes and wells.\n\nThe workflow is built in a modular fashion, where most of the base functionality\nis provided by components from [`biobox`](https://www.viash-hub.com/packages/biobox/latest)\nsupplemented by custom base components and workflow components in this package.\n\nThe full workflow is split in two major subworkflows that can be run independently:\n\n* **Well-demultiplexing:** Split the input (plate/pool level) fastq files per well.\n* **Mapping, counting and QC:** Run per-well mapping, counting and generate QC reports.\n\nEach of those can be started individually, or the full workflow can be run in two ways:\n\n1. Run the [main workflow](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/htrnaseq) \ncontaining the main functionality.\n2. Run the [(opinionated) `runner`](https://www.viash-hub.com/packages/htrnaseq/v0.3.0/components/workflows/runner) where a\nnumber of choices (input/output structure and location) have been made.\n\nInput for the workflow has to be `fastq` files (zipped or not). For bcl or other formats, please consider running\n[demultiplex](https://www.viash-hub.com/packages/demultiplex) first.\n" license: MIT -keywords: - [ - bioinformatics, - sequencing, - high-throughput, - RNAseq, - mapping, - counting, - pipeline, - workflow, - ] +keywords: [bioinformatics, sequencing, high-throughput, RNAseq, mapping, counting, pipeline, workflow] links: issue_tracker: https://github.com/viash-hub/htrnaseq/issues repository: https://github.com/viash-hub/htrnaseq - viash_version: 0.9.4 - info: test_resources: - path: gs://viash-hub-resources/htrnaseq/v2 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: main +organization: vsh 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 279693d8..b6101e8a 100644 --- a/src/workflows/runner/config.vsh.yaml +++ b/src/workflows/runner/config.vsh.yaml @@ -64,11 +64,38 @@ argument_groups: - name: --results_publish_dir type: string required: true + - name: Output arguments + arguments: + - 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 @@ -89,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 bd4e073e..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 }, + 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: [ @@ -220,8 +282,8 @@ workflow run_wf { ) emit: - grouped_ch - | map{ id, state -> [ id, [ _meta: [ join_id: state.run_id ] ] ] } + results_publish_ch + } def get_version(inputFile) { @@ -230,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 c1155a22..34c587a9 100644 --- a/target/executable/eset/create_eset/.config.vsh.yaml +++ b/target/executable/eset/create_eset/.config.vsh.yaml @@ -206,9 +206,8 @@ build_info: output: "target/executable/eset/create_eset" executable: "target/executable/eset/create_eset/create_eset" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -238,7 +237,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 2939ff22..0af48721 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: main diff --git a/target/executable/eset/create_eset/create_eset b/target/executable/eset/create_eset/create_eset index 842038c3..9f6d1c56 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-18T10:20:35Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:24Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/eset/create_fdata/.config.vsh.yaml b/target/executable/eset/create_fdata/.config.vsh.yaml index e0da01e0..b857f507 100644 --- a/target/executable/eset/create_fdata/.config.vsh.yaml +++ b/target/executable/eset/create_fdata/.config.vsh.yaml @@ -183,9 +183,8 @@ build_info: output: "target/executable/eset/create_fdata" executable: "target/executable/eset/create_fdata/create_fdata" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -215,7 +214,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 2939ff22..0af48721 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: main diff --git a/target/executable/eset/create_fdata/create_fdata b/target/executable/eset/create_fdata/create_fdata index c8977bf2..f6ea8979 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-18T10:20:36Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/eset/create_pdata/.config.vsh.yaml b/target/executable/eset/create_pdata/.config.vsh.yaml index a454669f..f6d5a6a1 100644 --- a/target/executable/eset/create_pdata/.config.vsh.yaml +++ b/target/executable/eset/create_pdata/.config.vsh.yaml @@ -197,9 +197,8 @@ build_info: output: "target/executable/eset/create_pdata" executable: "target/executable/eset/create_pdata/create_pdata" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -229,7 +228,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 2939ff22..0af48721 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: main diff --git a/target/executable/eset/create_pdata/create_pdata b/target/executable/eset/create_pdata/create_pdata index 7b48fbf5..4aaa9ba3 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-18T10:20:35Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:23Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" 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 01bb8a69..95ffb98e 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,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -187,7 +186,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 2939ff22..0af48721 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: main 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 217db5dc..3066647d 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-18T10:20:36Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:23Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" 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 57c26da7..1ba25834 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,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -196,7 +195,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 2939ff22..0af48721 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: main 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 02112d94..c68eb6db 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-18T10:20:36Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:23Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/io/publish_fastqs/.config.vsh.yaml b/target/executable/io/publish_fastqs/.config.vsh.yaml index da1383e6..41798f97 100644 --- a/target/executable/io/publish_fastqs/.config.vsh.yaml +++ b/target/executable/io/publish_fastqs/.config.vsh.yaml @@ -139,9 +139,8 @@ build_info: output: "target/executable/io/publish_fastqs" executable: "target/executable/io/publish_fastqs/publish_fastqs" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -171,7 +170,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 2939ff22..0af48721 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: main diff --git a/target/executable/io/publish_fastqs/publish_fastqs b/target/executable/io/publish_fastqs/publish_fastqs index 4f7a2c77..2fb88558 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-18T10:20:37Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:23Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/io/publish_results/.config.vsh.yaml b/target/executable/io/publish_results/.config.vsh.yaml index 29af3810..6119fb87 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,8 @@ build_info: output: "target/executable/io/publish_results" executable: "target/executable/io/publish_results/publish_results" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -234,7 +310,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 2939ff22..0af48721 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: main diff --git a/target/executable/io/publish_results/publish_results b/target/executable/io/publish_results/publish_results index c755b9d3..12ee67d9 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-18T10:20:37Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:23Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" 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 32a0bc9d..80dcc8e9 100644 --- a/target/executable/parallel_map/.config.vsh.yaml +++ b/target/executable/parallel_map/.config.vsh.yaml @@ -285,9 +285,8 @@ build_info: output: "target/executable/parallel_map" executable: "target/executable/parallel_map/parallel_map" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -317,7 +316,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 2939ff22..0af48721 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: main diff --git a/target/executable/parallel_map/parallel_map b/target/executable/parallel_map/parallel_map index f858cd50..75f5032e 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-18T10:20:37Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/report/create_report/.config.vsh.yaml b/target/executable/report/create_report/.config.vsh.yaml index 1a95ef56..e2a78026 100644 --- a/target/executable/report/create_report/.config.vsh.yaml +++ b/target/executable/report/create_report/.config.vsh.yaml @@ -215,9 +215,8 @@ build_info: output: "target/executable/report/create_report" executable: "target/executable/report/create_report/create_report" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -247,7 +246,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 2939ff22..0af48721 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: main diff --git a/target/executable/report/create_report/create_report b/target/executable/report/create_report/create_report index e792657c..8f8d0054 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-18T10:20:37Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/stats/combine_star_logs/.config.vsh.yaml b/target/executable/stats/combine_star_logs/.config.vsh.yaml index e90b673d..475b4ee2 100644 --- a/target/executable/stats/combine_star_logs/.config.vsh.yaml +++ b/target/executable/stats/combine_star_logs/.config.vsh.yaml @@ -204,9 +204,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -236,7 +235,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 2939ff22..0af48721 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: main diff --git a/target/executable/stats/combine_star_logs/combine_star_logs b/target/executable/stats/combine_star_logs/combine_star_logs index 1d6c4f0a..f0886f97 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-18T10:20:35Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/stats/generate_pool_statistics/.config.vsh.yaml b/target/executable/stats/generate_pool_statistics/.config.vsh.yaml index b30a3c7c..855aedd2 100644 --- a/target/executable/stats/generate_pool_statistics/.config.vsh.yaml +++ b/target/executable/stats/generate_pool_statistics/.config.vsh.yaml @@ -188,9 +188,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -220,7 +219,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 2939ff22..0af48721 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: main diff --git a/target/executable/stats/generate_pool_statistics/generate_pool_statistics b/target/executable/stats/generate_pool_statistics/generate_pool_statistics index 3fef6272..09224180 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-18T10:20:37Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/stats/generate_well_statistics/.config.vsh.yaml b/target/executable/stats/generate_well_statistics/.config.vsh.yaml index 32046f17..13d790d3 100644 --- a/target/executable/stats/generate_well_statistics/.config.vsh.yaml +++ b/target/executable/stats/generate_well_statistics/.config.vsh.yaml @@ -260,9 +260,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -292,7 +291,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 2939ff22..0af48721 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: main diff --git a/target/executable/stats/generate_well_statistics/generate_well_statistics b/target/executable/stats/generate_well_statistics/generate_well_statistics index f7a86b3e..87c7ad20 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-18T10:20:35Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/utils/save_params/.config.vsh.yaml b/target/executable/utils/save_params/.config.vsh.yaml index 81771582..8d5cc667 100644 --- a/target/executable/utils/save_params/.config.vsh.yaml +++ b/target/executable/utils/save_params/.config.vsh.yaml @@ -151,9 +151,8 @@ build_info: output: "target/executable/utils/save_params" executable: "target/executable/utils/save_params/save_params" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -183,7 +182,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 2939ff22..0af48721 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: main diff --git a/target/executable/utils/save_params/save_params b/target/executable/utils/save_params/save_params index 5583efb7..14fdb83a 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-18T10:20:37Z" +LABEL org.opencontainers.image.created="2025-09-02T07:26:22Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq" -LABEL org.opencontainers.image.revision="d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" +LABEL org.opencontainers.image.revision="92755e84e7e2b17cc44664388d6fbb444a26cffd" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/nextflow/eset/create_eset/.config.vsh.yaml b/target/nextflow/eset/create_eset/.config.vsh.yaml index 9d18e421..a60e966d 100644 --- a/target/nextflow/eset/create_eset/.config.vsh.yaml +++ b/target/nextflow/eset/create_eset/.config.vsh.yaml @@ -206,9 +206,8 @@ build_info: output: "target/nextflow/eset/create_eset" executable: "target/nextflow/eset/create_eset/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -238,7 +237,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/eset/create_eset/main.nf b/target/nextflow/eset/create_eset/main.nf index 409af196..773feeb7 100644 --- a/target/nextflow/eset/create_eset/main.nf +++ b/target/nextflow/eset/create_eset/main.nf @@ -3309,9 +3309,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/eset/create_eset", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3330,7 +3329,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 := 'main'" diff --git a/target/nextflow/eset/create_fdata/.config.vsh.yaml b/target/nextflow/eset/create_fdata/.config.vsh.yaml index 9ea28cc3..dd7b0eea 100644 --- a/target/nextflow/eset/create_fdata/.config.vsh.yaml +++ b/target/nextflow/eset/create_fdata/.config.vsh.yaml @@ -183,9 +183,8 @@ build_info: output: "target/nextflow/eset/create_fdata" executable: "target/nextflow/eset/create_fdata/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -215,7 +214,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/eset/create_fdata/main.nf b/target/nextflow/eset/create_fdata/main.nf index 4728ec0f..c76a536d 100644 --- a/target/nextflow/eset/create_fdata/main.nf +++ b/target/nextflow/eset/create_fdata/main.nf @@ -3279,9 +3279,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/eset/create_fdata", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3300,7 +3299,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 := 'main'" diff --git a/target/nextflow/eset/create_pdata/.config.vsh.yaml b/target/nextflow/eset/create_pdata/.config.vsh.yaml index de8f708c..8121ad06 100644 --- a/target/nextflow/eset/create_pdata/.config.vsh.yaml +++ b/target/nextflow/eset/create_pdata/.config.vsh.yaml @@ -197,9 +197,8 @@ build_info: output: "target/nextflow/eset/create_pdata" executable: "target/nextflow/eset/create_pdata/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -229,7 +228,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/eset/create_pdata/main.nf b/target/nextflow/eset/create_pdata/main.nf index 36c01423..6a488774 100644 --- a/target/nextflow/eset/create_pdata/main.nf +++ b/target/nextflow/eset/create_pdata/main.nf @@ -3293,9 +3293,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/eset/create_pdata", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3314,7 +3313,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 := 'main'" 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 3c4f1809..6fdb235a 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,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -187,7 +186,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 2939ff22..0af48721 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: main 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 51204bf6..b77ea729 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,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/integration_test_components/htrnaseq/check_eset", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3254,7 +3253,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 := 'main'" 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 2da8ea98..bf71e7ac 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,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -196,7 +195,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 2939ff22..0af48721 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: main 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 2ff16d6c..819274fd 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,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3265,7 +3264,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 := 'main'" diff --git a/target/nextflow/io/publish_fastqs/.config.vsh.yaml b/target/nextflow/io/publish_fastqs/.config.vsh.yaml index 5880d190..88a5970f 100644 --- a/target/nextflow/io/publish_fastqs/.config.vsh.yaml +++ b/target/nextflow/io/publish_fastqs/.config.vsh.yaml @@ -139,9 +139,8 @@ build_info: output: "target/nextflow/io/publish_fastqs" executable: "target/nextflow/io/publish_fastqs/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -171,7 +170,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/io/publish_fastqs/main.nf b/target/nextflow/io/publish_fastqs/main.nf index 82510bd0..5caeaa89 100644 --- a/target/nextflow/io/publish_fastqs/main.nf +++ b/target/nextflow/io/publish_fastqs/main.nf @@ -3207,9 +3207,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/io/publish_fastqs", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3228,7 +3227,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 := 'main'" diff --git a/target/nextflow/io/publish_results/.config.vsh.yaml b/target/nextflow/io/publish_results/.config.vsh.yaml index 7ea7c47c..72faac72 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,8 @@ build_info: output: "target/nextflow/io/publish_results" executable: "target/nextflow/io/publish_results/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -234,7 +310,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/io/publish_results/main.nf b/target/nextflow/io/publish_results/main.nf index fbabcb81..efd4b6a2 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,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/io/publish_results", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3298,7 +3389,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 := 'main'" @@ -3342,7 +3433,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 +3463,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 8c186a82..1c395a36 100644 --- a/target/nextflow/parallel_map/.config.vsh.yaml +++ b/target/nextflow/parallel_map/.config.vsh.yaml @@ -285,9 +285,8 @@ build_info: output: "target/nextflow/parallel_map" executable: "target/nextflow/parallel_map/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -317,7 +316,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/parallel_map/main.nf b/target/nextflow/parallel_map/main.nf index 0b5eb9c9..7520a18c 100644 --- a/target/nextflow/parallel_map/main.nf +++ b/target/nextflow/parallel_map/main.nf @@ -3379,9 +3379,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/parallel_map", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3400,7 +3399,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 := 'main'" diff --git a/target/nextflow/report/create_report/.config.vsh.yaml b/target/nextflow/report/create_report/.config.vsh.yaml index 6edc303c..b2049e00 100644 --- a/target/nextflow/report/create_report/.config.vsh.yaml +++ b/target/nextflow/report/create_report/.config.vsh.yaml @@ -215,9 +215,8 @@ build_info: output: "target/nextflow/report/create_report" executable: "target/nextflow/report/create_report/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -247,7 +246,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/report/create_report/main.nf b/target/nextflow/report/create_report/main.nf index 506ebcb9..a58b05e6 100644 --- a/target/nextflow/report/create_report/main.nf +++ b/target/nextflow/report/create_report/main.nf @@ -3323,9 +3323,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/report/create_report", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3344,7 +3343,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 := 'main'" diff --git a/target/nextflow/stats/combine_star_logs/.config.vsh.yaml b/target/nextflow/stats/combine_star_logs/.config.vsh.yaml index 94e26d0a..60f30e9d 100644 --- a/target/nextflow/stats/combine_star_logs/.config.vsh.yaml +++ b/target/nextflow/stats/combine_star_logs/.config.vsh.yaml @@ -204,9 +204,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -236,7 +235,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/stats/combine_star_logs/main.nf b/target/nextflow/stats/combine_star_logs/main.nf index 90e669b2..938aa080 100644 --- a/target/nextflow/stats/combine_star_logs/main.nf +++ b/target/nextflow/stats/combine_star_logs/main.nf @@ -3295,9 +3295,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/stats/combine_star_logs", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3316,7 +3315,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 := 'main'" diff --git a/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml b/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml index 31e957ce..d52bb614 100644 --- a/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml +++ b/target/nextflow/stats/generate_pool_statistics/.config.vsh.yaml @@ -188,9 +188,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -220,7 +219,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/stats/generate_pool_statistics/main.nf b/target/nextflow/stats/generate_pool_statistics/main.nf index 2716f3ae..24ab363c 100644 --- a/target/nextflow/stats/generate_pool_statistics/main.nf +++ b/target/nextflow/stats/generate_pool_statistics/main.nf @@ -3279,9 +3279,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/stats/generate_pool_statistics", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3300,7 +3299,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 := 'main'" diff --git a/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml b/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml index ac257fc5..de51f4cd 100644 --- a/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml +++ b/target/nextflow/stats/generate_well_statistics/.config.vsh.yaml @@ -260,9 +260,8 @@ 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: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -292,7 +291,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/stats/generate_well_statistics/main.nf b/target/nextflow/stats/generate_well_statistics/main.nf index cde8e9bd..a75a7d9a 100644 --- a/target/nextflow/stats/generate_well_statistics/main.nf +++ b/target/nextflow/stats/generate_well_statistics/main.nf @@ -3361,9 +3361,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/stats/generate_well_statistics", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3382,7 +3381,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 := 'main'" diff --git a/target/nextflow/utils/concatRuns/.config.vsh.yaml b/target/nextflow/utils/concatRuns/.config.vsh.yaml index a0bfa6c9..92db09b8 100644 --- a/target/nextflow/utils/concatRuns/.config.vsh.yaml +++ b/target/nextflow/utils/concatRuns/.config.vsh.yaml @@ -160,9 +160,8 @@ build_info: output: "target/nextflow/utils/concatRuns" executable: "target/nextflow/utils/concatRuns/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" dependencies: - "target/dependencies/vsh/vsh/craftbox/v0.2.0/nextflow/concat_text" package_config: @@ -194,7 +193,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/utils/concatRuns/main.nf b/target/nextflow/utils/concatRuns/main.nf index f9482016..c5e9fedf 100644 --- a/target/nextflow/utils/concatRuns/main.nf +++ b/target/nextflow/utils/concatRuns/main.nf @@ -3229,9 +3229,8 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/utils/concatRuns", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3250,7 +3249,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 := 'main'" diff --git a/target/nextflow/utils/listInputDir/.config.vsh.yaml b/target/nextflow/utils/listInputDir/.config.vsh.yaml index 4c97a13c..4c520f1d 100644 --- a/target/nextflow/utils/listInputDir/.config.vsh.yaml +++ b/target/nextflow/utils/listInputDir/.config.vsh.yaml @@ -169,9 +169,8 @@ build_info: output: "target/nextflow/utils/listInputDir" executable: "target/nextflow/utils/listInputDir/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -201,7 +200,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/utils/listInputDir/main.nf b/target/nextflow/utils/listInputDir/main.nf index feed94df..4452aae9 100644 --- a/target/nextflow/utils/listInputDir/main.nf +++ b/target/nextflow/utils/listInputDir/main.nf @@ -3236,9 +3236,8 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/utils/listInputDir", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3257,7 +3256,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 := 'main'" diff --git a/target/nextflow/utils/save_params/.config.vsh.yaml b/target/nextflow/utils/save_params/.config.vsh.yaml index 3b43f81c..7d7022e0 100644 --- a/target/nextflow/utils/save_params/.config.vsh.yaml +++ b/target/nextflow/utils/save_params/.config.vsh.yaml @@ -151,9 +151,8 @@ build_info: output: "target/nextflow/utils/save_params" executable: "target/nextflow/utils/save_params/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -183,7 +182,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/utils/save_params/main.nf b/target/nextflow/utils/save_params/main.nf index 72387942..d013ccfa 100644 --- a/target/nextflow/utils/save_params/main.nf +++ b/target/nextflow/utils/save_params/main.nf @@ -3223,9 +3223,8 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/utils/save_params", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3244,7 +3243,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 := 'main'" diff --git a/target/nextflow/workflows/htrnaseq/.config.vsh.yaml b/target/nextflow/workflows/htrnaseq/.config.vsh.yaml index ceb29952..d7b84f83 100644 --- a/target/nextflow/workflows/htrnaseq/.config.vsh.yaml +++ b/target/nextflow/workflows/htrnaseq/.config.vsh.yaml @@ -345,9 +345,8 @@ build_info: output: "target/nextflow/workflows/htrnaseq" executable: "target/nextflow/workflows/htrnaseq/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" dependencies: - "target/nextflow/stats/combine_star_logs" - "target/nextflow/stats/generate_pool_statistics" @@ -390,7 +389,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/workflows/htrnaseq/main.nf b/target/nextflow/workflows/htrnaseq/main.nf index 6c3cf7c5..3caf7b2a 100644 --- a/target/nextflow/workflows/htrnaseq/main.nf +++ b/target/nextflow/workflows/htrnaseq/main.nf @@ -3484,9 +3484,8 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/htrnaseq", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3505,7 +3504,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 := 'main'" @@ -3893,7 +3892,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 53d3f861..53dd2f99 100644 --- a/target/nextflow/workflows/runner/.config.vsh.yaml +++ b/target/nextflow/workflows/runner/.config.vsh.yaml @@ -121,11 +121,81 @@ argument_groups: direction: "input" multiple: false multiple_sep: ";" +- name: "Output arguments" + arguments: + - type: "file" + 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" + 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: ";" 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" @@ -226,6 +296,7 @@ runners: cpu500: "cpus = 500" cpu1000: "cpus = 1000" script: + - "includeConfig(\"disable_publishfiles_process.config\")" - "includeConfig(\"nextflow_labels.config\")" debug: false container: "docker" @@ -241,9 +312,8 @@ build_info: output: "target/nextflow/workflows/runner" executable: "target/nextflow/workflows/runner/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" dependencies: - "target/nextflow/utils/listInputDir" - "target/nextflow/workflows/htrnaseq" @@ -279,7 +349,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 2939ff22..0af48721 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: main 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 72dbc824..29f3128d 100644 --- a/target/nextflow/workflows/runner/main.nf +++ b/target/nextflow/workflows/runner/main.nf @@ -3167,6 +3167,89 @@ meta = [ "multiple_sep" : ";" } ] + }, + { + "name" : "Output arguments", + "arguments" : [ + { + "type" : "file", + "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" + ], + "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" : ";" + } + ] } ], "resources" : [ @@ -3176,6 +3259,10 @@ meta = [ "is_executable" : true, "entrypoint" : "run_wf" }, + { + "type" : "file", + "path" : "disable_publishfiles_process.config" + }, { "type" : "file", "path" : "/src/config/labels.config", @@ -3307,6 +3394,7 @@ meta = [ "cpu1000" : "cpus = 1000" }, "script" : [ + "includeConfig(\\"disable_publishfiles_process.config\\")", "includeConfig(\\"nextflow_labels.config\\")" ] }, @@ -3330,9 +3418,8 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/runner", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3351,7 +3438,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 := 'main'" @@ -3414,7 +3501,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 -> @@ -3448,6 +3534,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", @@ -3507,49 +3606,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, @@ -3558,10 +3689,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 }, + toState: { id, result, state -> result }, directives: [ publishDir: [ path: "${params.results_publish_dir}", @@ -3570,33 +3709,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: [ @@ -3608,8 +3757,8 @@ workflow run_wf { ) emit: - grouped_ch - | map{ id, state -> [ id, [ _meta: [ join_id: state.run_id ] ] ] } + results_publish_ch + } def get_version(inputFile) { @@ -3620,39 +3769,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 0961dbf8..86695b43 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 8d352675..bbd4c521 100644 --- a/target/nextflow/workflows/runner/nextflow_schema.json +++ b/target/nextflow/workflows/runner/nextflow_schema.json @@ -99,6 +99,55 @@ } } }, + "output arguments": { + "title": "Output arguments", + "type": "object", + "description": "No description", + "properties": { + "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" + } + } + }, "nextflow input-output arguments": { "title": "Nextflow input-output arguments", "type": "object", @@ -122,6 +171,9 @@ { "$ref": "#/$defs/publish arguments" }, + { + "$ref": "#/$defs/output arguments" + }, { "$ref": "#/$defs/nextflow input-output arguments" } diff --git a/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml b/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml index d3976aec..59667f7f 100644 --- a/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml +++ b/target/nextflow/workflows/well_demultiplex/.config.vsh.yaml @@ -222,9 +222,8 @@ build_info: output: "target/nextflow/workflows/well_demultiplex" executable: "target/nextflow/workflows/well_demultiplex/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" dependencies: - "target/dependencies/vsh/vsh/biobox/v0.3.1/nextflow/cutadapt" - "target/dependencies/vsh/vsh/craftbox/v0.2.0/nextflow/concat_text" @@ -258,7 +257,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/workflows/well_demultiplex/main.nf b/target/nextflow/workflows/well_demultiplex/main.nf index 23d05168..04f1a9f0 100644 --- a/target/nextflow/workflows/well_demultiplex/main.nf +++ b/target/nextflow/workflows/well_demultiplex/main.nf @@ -3327,9 +3327,8 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/well_demultiplex", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3348,7 +3347,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 := 'main'" diff --git a/target/nextflow/workflows/well_metadata/.config.vsh.yaml b/target/nextflow/workflows/well_metadata/.config.vsh.yaml index a3d2713f..00df9c3b 100644 --- a/target/nextflow/workflows/well_metadata/.config.vsh.yaml +++ b/target/nextflow/workflows/well_metadata/.config.vsh.yaml @@ -215,9 +215,8 @@ build_info: output: "target/nextflow/workflows/well_metadata" executable: "target/nextflow/workflows/well_metadata/main.nf" viash_version: "0.9.4" - git_commit: "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247" + git_commit: "92755e84e7e2b17cc44664388d6fbb444a26cffd" git_remote: "https://github.com/viash-hub/htrnaseq" - git_tag: "v0.7.2-14-gd70fdf2" package_config: name: "htrnaseq" version: "main" @@ -247,7 +246,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 2939ff22..0af48721 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: main diff --git a/target/nextflow/workflows/well_metadata/main.nf b/target/nextflow/workflows/well_metadata/main.nf index a186b721..561496c6 100644 --- a/target/nextflow/workflows/well_metadata/main.nf +++ b/target/nextflow/workflows/well_metadata/main.nf @@ -3299,9 +3299,8 @@ meta = [ "engine" : "native|native", "output" : "target/nextflow/workflows/well_metadata", "viash_version" : "0.9.4", - "git_commit" : "d70fdf2a6f13819db25bfe0ac9ddb14d0aa5c247", - "git_remote" : "https://github.com/viash-hub/htrnaseq", - "git_tag" : "v0.7.2-14-gd70fdf2" + "git_commit" : "92755e84e7e2b17cc44664388d6fbb444a26cffd", + "git_remote" : "https://github.com/viash-hub/htrnaseq" }, "package_config" : { "name" : "htrnaseq", @@ -3320,7 +3319,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 := 'main'"