1 Commits

Author SHA1 Message Date
CI
6c59599998 Build branch craftbox/v0.3 with version v0.3.1 to craftbox on branch v0.3 (4acf73e)
Build pipeline: viash-hub.craftbox.v0.3.1-6qf24

Source commit: 4acf73e025

Source message: Bump version to v0.3.1
2025-11-20 15:23:55 +00:00
39 changed files with 488 additions and 313 deletions

View File

@@ -1,3 +1,11 @@
# craftbox 0.3.1
## MINOR CHANGES
* `concat_text`: Allow input files to be a mixed bag of gzipped and plain text files (PR #12).
* `concat_text`: Stream concatenated files to gzip (PR #12).
# craftbox 0.3.0 # craftbox 0.3.0
## NEW FEATURES ## NEW FEATURES

View File

@@ -43,7 +43,7 @@ Viash components in craftbox can be run in various ways:
``` mermaid lang="mermaid ``` mermaid lang="mermaid
flowchart TD flowchart TD
A[craftbox v0.3.0] --> B(Viash Hub Launch) A[craftbox v0.3.1] --> B(Viash Hub Launch)
A --> C(Viash CLI) A --> C(Viash CLI)
A --> D(Nextflow CLI) A --> D(Nextflow CLI)
A --> E(Seqera Cloud) A --> E(Seqera Cloud)
@@ -53,7 +53,7 @@ flowchart TD
### 1. Via the Viash Hub Launch interface ### 1. Via the Viash Hub Launch interface
You can run this component directly from the Viash Hub [Launch You can run this component directly from the Viash Hub [Launch
interface](https://www.viash-hub.com/launch?package=craftbox&version=v0.3.0&component=concat_rtext&runner=Executable). interface](https://www.viash-hub.com/launch?package=craftbox&version=v0.3.1&component=concat_rtext&runner=Executable).
![](docs/viash-hub.png) ![](docs/viash-hub.png)
@@ -63,9 +63,9 @@ You can run this component directly from the command line using the
Viash CLI. Viash CLI.
``` bash ``` bash
viash run vsh://craftbox@v0.3.0/concat_rtext -- --help viash run vsh://craftbox@v0.3.1/concat_rtext -- --help
viash run vsh://craftbox@v0.3.0/concat_rtext -- \ viash run vsh://craftbox@v0.3.1/concat_rtext -- \
--input path/to/input.txt \ --input path/to/input.txt \
--input path/to/compressed.txt.gz \ --input path/to/compressed.txt.gz \
--output path/to/output.txt --output path/to/output.txt
@@ -80,7 +80,7 @@ You can run this component as a Nextflow pipeline.
``` bash ``` bash
nextflow run https://packages.viash-hub.com/vsh/craftbox \ nextflow run https://packages.viash-hub.com/vsh/craftbox \
-revision v0.3.0 \ -revision v0.3.1 \
-main-script target/nextflow/concat_rtext/main.nf \ -main-script target/nextflow/concat_rtext/main.nf \
-latest -resume \ -latest -resume \
-profile docker \ -profile docker \
@@ -109,7 +109,7 @@ component as a dependency:
``` yaml ``` yaml
dependencies: dependencies:
- name: concat_rtext - name: concat_rtext
repository: vsh://craftbox@v0.3.0 repository: vsh://craftbox@v0.3.1
``` ```
**Tip:** See the [Viash **Tip:** See the [Viash

View File

@@ -7,7 +7,7 @@ license <- paste0(package$links$repository, "/blob/main/LICENSE")
contributing <- paste0(package$links$repository, "/blob/main/CONTRIBUTING.md") contributing <- paste0(package$links$repository, "/blob/main/CONTRIBUTING.md")
pkg <- package$name pkg <- package$name
ver <- if (!is.null(package$version)) package$version else "v0.3.0" ver <- if (!is.null(package$version)) package$version else "v0.3.1"
comp <- "concat_rtext" comp <- "concat_rtext"
``` ```
# 🪡📦 `r pkg` # 🪡📦 `r pkg`

View File

@@ -1,5 +1,5 @@
name: craftbox name: craftbox
version: v0.3.0 version: v0.3.1
summary: | summary: |
A collection of custom-tailored scripts and applied utilities built with Viash. A collection of custom-tailored scripts and applied utilities built with Viash.
description: | description: |
@@ -19,8 +19,7 @@ license: MIT
links: links:
issue_tracker: https://github.com/viash-hub/craftbox/issues issue_tracker: https://github.com/viash-hub/craftbox/issues
repository: https://github.com/viash-hub/craftbox repository: https://github.com/viash-hub/craftbox
viash_version: 0.9.4 viash_version: 0.9.4
config_mods: | config_mods: |
.requirements.commands := ['ps'] .requirements.commands := ['ps']
organization: vsh

View File

@@ -1,6 +1,6 @@
manifest { manifest {
name = "craftbox" name = "craftbox"
version = "v0.3.0" version = "v0.3.1"
defaultBranch = "main" defaultBranch = "main"
nextflowVersion = "!>=20.12.1-edge" nextflowVersion = "!>=20.12.1-edge"
} }

View File

@@ -1,5 +1,5 @@
name: concat_text name: concat_text
summary: Concatenate a number of text files summary: Concatenate multiple (possibly gzipped) text files
description: | description: |
Concatenate a number of text files, handle gzipped text files gracefully and Concatenate a number of text files, handle gzipped text files gracefully and
optionally gzip the output text file. optionally gzip the output text file.
@@ -11,12 +11,13 @@ authors:
roles: [ author, maintainer ] roles: [ author, maintainer ]
- __merge__: /src/_authors/dries_schaumont.yaml - __merge__: /src/_authors/dries_schaumont.yaml
roles: [ reviewer ] roles: [ reviewer ]
- __merge__: /src/_authors/robrecht_cannoodt.yaml
roles: [ contributor ]
info: info:
improvements: | improvements: |
This component could be improved in 2 ways: This component could be improved:
1. Allow for a mix of zipped and plain input files 1. Allow to specify a compression algorithm for the output
2. Allow to specify a compression algorithm for the output
argument_groups: argument_groups:
- name: Input arguments - name: Input arguments
@@ -26,14 +27,14 @@ argument_groups:
type: file type: file
multiple: true multiple: true
required: true required: true
example: input?.txt.gz example: input.txt.gz
- name: Output arguments - name: Output arguments
arguments: arguments:
- name: "--gzip_output" - name: "--gzip_output"
type: boolean_true type: boolean_true
description: Should the output be zipped? description: Should the output be zipped?
- name: --output - name: --output
description: File to write the output to, optionally gzipped. description: File to write the output to, potentially gzipped.
type: file type: file
direction: output direction: output
example: output.txt example: output.txt

View File

@@ -1,34 +1,65 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -eo pipefail
TMPDIR=$(mktemp -d "$meta_temp_dir/concat_text-XXXXXX") ## VIASH START
function clean_up { par_input="README.md;README.qmd"
[[ -d "$TMPDIR" ]] && rm -r "$TMPDIR" par_output="concatenated_output.txt"
par_compress_output="true"
## VIASH END
# --- Function to check for GZIP format using the 'file' command ---
is_gzipped() {
# Ensure the file exists and is not empty before checking
if [ ! -s "$1" ]; then
return 1
fi
# Get the MIME type of the file. The '-b' option omits the filename from the output.
local mime_type
mime_type=$(file -b --mime-type "$1")
# Check if the MIME type corresponds to gzip.
# application/gzip is standard, while application/x-gzip is also commonly seen.
if [[ "$mime_type" == "application/gzip" || "$mime_type" == "application/x-gzip" ]]; then
return 0 # 0 indicates success (true in bash)
else
return 1 # 1 indicates failure (false in bash)
fi
} }
trap clean_up EXIT
par_input="$(echo "$par_input" | tr ';' ' ')" # Read the ;-separated file paths from the input variable into an array
IFS=";" read -ra input_files <<< "$par_input"
echo -n ">> Check if input is gzipped... " # Process the files if the array contains any paths
set +eo pipefail if [ ${#input_files[@]} -gt 0 ] && [ -n "${input_files[0]}" ]; then
file $par_input | grep -q 'gzip'
is_zipped="$?"
set -euo pipefail
[[ "$is_zipped" == "0" ]] && echo "yes" || echo "no"
if [[ "$is_zipped" == "0" ]]; then # Ensure the output file is empty before we start
echo ">> zcat gzipped files" > "$par_output"
zcat $par_input > $TMPDIR/contents
echo "Processing files for -> $par_output"
# Create a subshell for the loop to group all cat/zcat output.
(
for file in "${input_files[@]}"; do
if [ -z "$file" ]; then continue; fi # Skip empty entries in the array
if is_gzipped "$file"; then
zcat "$file"
else
cat "$file"
fi
done
) | if [ "$par_compress_output" = "true" ]; then
# If compression is enabled, pipe the entire stream to gzip
gzip -c >> "$par_output"
else
# Otherwise, just redirect the stream to the plain text file
cat >> "$par_output"
fi
echo "Finished creating $par_output."
else else
echo ">> cat plain files" echo "No input files provided in \$par_input. Exiting."
cat $par_input > $TMPDIR/contents
fi fi
if [ "$par_gzip_output" == true ]; then echo "Script finished successfully."
echo ">> Zip output file"
gzip $TMPDIR/contents
mv $TMPDIR/contents.gz $par_output
else
mv $TMPDIR/contents $par_output
fi

View File

@@ -2,6 +2,65 @@
set -euo pipefail set -euo pipefail
echo ">> Running concat_text.sh script"
is_gzipped() {
# Ensure the file exists and is not empty
if [ ! -s "$1" ]; then
return 1
fi
# Get the MIME type of the file
local mime_type
mime_type=$(file -b --mime-type "$1")
# Check if the MIME type corresponds to gzip.
if [[ "$mime_type" == "application/gzip" || "$mime_type" == "application/x-gzip" ]]; then
return 0
else
return 1
fi
}
compare_files() {
local file1="$1"
local file2="$2"
if [[ ! -f "$file1" || ! -f "$file2" ]]; then
echo "One of the files does not exist: $file1 or $file2"
return 1
fi
# decompress file 1 if need be
if is_gzipped "$file1"; then
file1=$(mktemp)
zcat "$1" > "$file1"
fi
# decompress file 2 if need be
if is_gzipped "$file2"; then
file2=$(mktemp)
zcat "$2" > "$file2"
fi
if cmp -s "$file1" "$file2"; then
echo "Files are identical."
return 0
else
echo "Files differ."
echo "Found:"
if is_gzipped "$file1"; then
zcat "$file1" | od -c
else
cat "$file1" | od -c
fi
echo "Expected:"
if is_gzipped "$file2"; then
zcat "$file2" | od -c
else
cat "$file2" | od -c
fi
return 1
fi
}
## TEST RESOURCES
echo ">> Creating test input files file[1-3].txt" echo ">> Creating test input files file[1-3].txt"
INPUT_FILE_1="file1.txt" INPUT_FILE_1="file1.txt"
INPUT_FILE_2="file2.txt" INPUT_FILE_2="file2.txt"
@@ -25,46 +84,31 @@ EOF
gzip -k "expected_output.txt" gzip -k "expected_output.txt"
## RUN TESTS
echo ">> Run component on 3 plain input files, plain output" echo ">> Run component on 3 plain input files, plain output"
$meta_executable \ $meta_executable \
--input "$INPUT_FILE_1;$INPUT_FILE_2;$INPUT_FILE_3" \ --input "$INPUT_FILE_1;$INPUT_FILE_2;$INPUT_FILE_3" \
--output "output1.txt" --output "output1.txt"
compare_files "output1.txt" "expected_output.txt"
[[ ! -f "output1.txt" ]] \ echo ">> Run component on mixed input files, plain output"
&& echo "Output file output1.txt not found!" && exit 1
[[ $(cmp "output1.txt" "expected_output.txt") ]] \
&& echo "Output file output1.txt is not as expected!" && exit 1
echo ">> Run component on 3 zipped input files, plain output"
$meta_executable \ $meta_executable \
--input "$INPUT_FILE_1.gz;$INPUT_FILE_2.gz;$INPUT_FILE_3.gz" \ --input "$INPUT_FILE_1.gz;$INPUT_FILE_2;$INPUT_FILE_3.gz" \
--output "output2.txt" --output "output2.txt"
compare_files "output2.txt" "expected_output.txt"
[[ ! -f "output2.txt" ]] \
&& echo "Output file output2.txt not found!" && exit 1
[[ $(cmp "output2.txt" "expected_output.txt") ]] \
&& echo "Output file output2.txt is not as expected!" && exit 1
echo ">> Run component on 3 plain input files, zipped output" echo ">> Run component on 3 plain input files, zipped output"
$meta_executable \ $meta_executable \
--input "$INPUT_FILE_1;$INPUT_FILE_2;$INPUT_FILE_3" \ --input "$INPUT_FILE_1;$INPUT_FILE_2;$INPUT_FILE_3" \
--output "output3.txt.gz" \ --output "output3.txt.gz" \
--gzip_output --gzip_output
compare_files "output3.txt.gz" "expected_output.txt.gz"
[[ ! -f "output3.txt.gz" ]] \ echo ">> Run component on mixed input files, zipped output"
&& echo "Output file output3.txt.gz not found!" && exit 1
[[ $(cmp "output3.txt.gz" "expected_output.txt.gz") ]] \
&& echo "Output file output3.txt.gz is not as expected!" && exit 1
echo ">> Run component on 3 zipped input files, zipped output"
$meta_executable \ $meta_executable \
--input "$INPUT_FILE_1.gz;$INPUT_FILE_2.gz;$INPUT_FILE_3.gz" \ --input "$INPUT_FILE_1.gz;$INPUT_FILE_2;$INPUT_FILE_3.gz" \
--output "output4.txt.gz" \ --output "output4.txt.gz" \
--gzip_output --gzip_output
compare_files "output4.txt.gz" "expected_output.txt.gz"
[[ ! -f "output4.txt.gz" ]] \
&& echo "Output file output4.txt.gz not found!" && exit 1
[[ $(cmp "output4.txt.gz" "expected_output.txt.gz") ]] \
&& echo "Output file output4.txt.gz is not as expected!" && exit 1
echo ">> Tests done" echo ">> Tests done"

View File

@@ -1,5 +1,5 @@
name: "check_disk_space" name: "check_disk_space"
version: "v0.3.0" version: "v0.3.1"
argument_groups: argument_groups:
- name: "Inputs" - name: "Inputs"
arguments: arguments:
@@ -144,7 +144,7 @@ engines:
id: "docker" id: "docker"
image: "bash:latest" image: "bash:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
entrypoint: [] entrypoint: []
cmd: null cmd: null
@@ -157,12 +157,11 @@ build_info:
output: "target/executable/check_disk_space" output: "target/executable/check_disk_space"
executable: "target/executable/check_disk_space/check_disk_space" executable: "target/executable/check_disk_space/check_disk_space"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -185,7 +184,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# check_disk_space v0.3.0 # check_disk_space v0.3.1
# #
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative # This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -446,10 +446,10 @@ function ViashDockerfile {
FROM bash:latest FROM bash:latest
ENTRYPOINT [] ENTRYPOINT []
LABEL org.opencontainers.image.description="Companion container for running component check_disk_space" LABEL org.opencontainers.image.description="Companion container for running component check_disk_space"
LABEL org.opencontainers.image.created="2025-08-28T13:48:17Z" LABEL org.opencontainers.image.created="2025-11-20T15:16:24Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox" LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="a1801c5139bbcda244e06affa66d16f7abd5e124" LABEL org.opencontainers.image.revision="4acf73e0255554766186f4016986782c0d25c309"
LABEL org.opencontainers.image.version="v0.3.0" LABEL org.opencontainers.image.version="v0.3.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -566,7 +566,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "check_disk_space v0.3.0" echo "check_disk_space v0.3.1"
echo "" echo ""
echo "Check for available disk space on the system." echo "Check for available disk space on the system."
echo "" echo ""
@@ -648,7 +648,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "check_disk_space v0.3.0" echo "check_disk_space v0.3.1"
exit exit
;; ;;
--tmp_space_required) --tmp_space_required)
@@ -783,7 +783,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/check_disk_space:v0.3.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/check_disk_space:v0.3.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,5 +1,5 @@
name: "concat_text" name: "concat_text"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Toni Verbeiren" - name: "Toni Verbeiren"
roles: roles:
@@ -26,6 +26,22 @@ authors:
- name: "Data Intuitive" - name: "Data Intuitive"
href: "https://www.data-intuitive.com" href: "https://www.data-intuitive.com"
role: "Data Scientist" role: "Data Scientist"
- name: "Robrecht Cannoodt"
roles:
- "contributor"
info:
links:
email: "robrecht@data-intuitive.com"
github: "rcannood"
orcid: "0000-0003-3641-729X"
linkedin: "robrechtcannoodt"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Data Science Engineer"
- name: "Open Problems"
href: "https://openproblems.bio"
role: "Core Member"
argument_groups: argument_groups:
- name: "Input arguments" - name: "Input arguments"
arguments: arguments:
@@ -34,7 +50,7 @@ argument_groups:
description: "A list of (gzipped) text files." description: "A list of (gzipped) text files."
info: null info: null
example: example:
- "input?.txt.gz" - "input.txt.gz"
must_exist: true must_exist: true
create_parent: true create_parent: true
required: true required: true
@@ -50,7 +66,7 @@ argument_groups:
direction: "input" direction: "input"
- type: "file" - type: "file"
name: "--output" name: "--output"
description: "File to write the output to, optionally gzipped." description: "File to write the output to, potentially gzipped."
info: null info: null
example: example:
- "output.txt" - "output.txt"
@@ -64,7 +80,7 @@ resources:
- type: "bash_script" - type: "bash_script"
path: "script.sh" path: "script.sh"
is_executable: true is_executable: true
summary: "Concatenate a number of text files" summary: "Concatenate multiple (possibly gzipped) text files"
description: "Concatenate a number of text files, handle gzipped text files gracefully\ description: "Concatenate a number of text files, handle gzipped text files gracefully\
\ and\noptionally gzip the output text file.\n\nThis component is useful for concatening\ \ and\noptionally gzip the output text file.\n\nThis component is useful for concatening\
\ fastq files from different lanes, for instance.\n" \ fastq files from different lanes, for instance.\n"
@@ -73,9 +89,8 @@ test_resources:
path: "test.sh" path: "test.sh"
is_executable: true is_executable: true
info: info:
improvements: "This component could be improved in 2 ways:\n 1. Allow for a mix\ improvements: "This component could be improved:\n 1. Allow to specify a compression\
\ of zipped and plain input files\n 2. Allow to specify a compression algorithm\ \ algorithm for the output\n"
\ for the output\n"
status: "enabled" status: "enabled"
scope: scope:
image: "public" image: "public"
@@ -156,7 +171,7 @@ engines:
id: "docker" id: "docker"
image: "alpine:latest" image: "alpine:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apk" - type: "apk"
@@ -175,12 +190,11 @@ build_info:
output: "target/executable/concat_text" output: "target/executable/concat_text"
executable: "target/executable/concat_text/concat_text" executable: "target/executable/concat_text/concat_text"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -203,7 +217,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# concat_text v0.3.0 # concat_text v0.3.1
# #
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative # This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -14,6 +14,7 @@
# Component authors: # Component authors:
# * Toni Verbeiren (author, maintainer) # * Toni Verbeiren (author, maintainer)
# * Dries Schaumont (reviewer) # * Dries Schaumont (reviewer)
# * Robrecht Cannoodt (contributor)
set -e set -e
@@ -451,12 +452,12 @@ FROM alpine:latest
ENTRYPOINT [] ENTRYPOINT []
RUN apk add --no-cache bash procps file RUN apk add --no-cache bash procps file
LABEL org.opencontainers.image.authors="Toni Verbeiren, Dries Schaumont" LABEL org.opencontainers.image.authors="Toni Verbeiren, Dries Schaumont, Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component concat_text" LABEL org.opencontainers.image.description="Companion container for running component concat_text"
LABEL org.opencontainers.image.created="2025-08-28T13:48:17Z" LABEL org.opencontainers.image.created="2025-11-20T15:16:24Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox" LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="a1801c5139bbcda244e06affa66d16f7abd5e124" LABEL org.opencontainers.image.revision="4acf73e0255554766186f4016986782c0d25c309"
LABEL org.opencontainers.image.version="v0.3.0" LABEL org.opencontainers.image.version="v0.3.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -573,7 +574,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "concat_text v0.3.0" echo "concat_text v0.3.1"
echo "" echo ""
echo "Concatenate a number of text files, handle gzipped text files gracefully and" echo "Concatenate a number of text files, handle gzipped text files gracefully and"
echo "optionally gzip the output text file." echo "optionally gzip the output text file."
@@ -584,7 +585,7 @@ function ViashHelp {
echo "Input arguments:" echo "Input arguments:"
echo " --input" echo " --input"
echo " type: file, required parameter, multiple values allowed, file must exist" echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input?.txt.gz" echo " example: input.txt.gz"
echo " A list of (gzipped) text files." echo " A list of (gzipped) text files."
echo "" echo ""
echo "Output arguments:" echo "Output arguments:"
@@ -595,7 +596,7 @@ function ViashHelp {
echo " --output" echo " --output"
echo " type: file, output, file must exist" echo " type: file, output, file must exist"
echo " example: output.txt" echo " example: output.txt"
echo " File to write the output to, optionally gzipped." echo " File to write the output to, potentially gzipped."
echo "" echo ""
echo "Viash built in Computational Requirements:" echo "Viash built in Computational Requirements:"
echo " ---cpus=INT" echo " ---cpus=INT"
@@ -644,7 +645,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "concat_text v0.3.0" echo "concat_text v0.3.1"
exit exit
;; ;;
--input) --input)
@@ -768,7 +769,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/concat_text:v0.3.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/concat_text:v0.3.1'
fi fi
# print dockerfile # print dockerfile
@@ -1080,6 +1081,10 @@ function interrupt {
trap clean_up EXIT trap clean_up EXIT
trap interrupt INT SIGINT trap interrupt INT SIGINT
cat > "\$tempscript" << 'VIASHMAIN' cat > "\$tempscript" << 'VIASHMAIN'
#!/usr/bin/env bash
set -eo pipefail
## VIASH START ## VIASH START
# The following code has been auto-generated by Viash. # The following code has been auto-generated by Viash.
$( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_input='&'#" ; else echo "# par_input="; fi ) $( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_input='&'#" ; else echo "# par_input="; fi )
@@ -1105,40 +1110,62 @@ $( if [ ! -z ${VIASH_META_MEMORY_TIB+x} ]; then echo "${VIASH_META_MEMORY_TIB}"
$( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_pib='&'#" ; else echo "# meta_memory_pib="; fi ) $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_pib='&'#" ; else echo "# meta_memory_pib="; fi )
## VIASH END ## VIASH END
#!/usr/bin/env bash
set -euo pipefail # --- Function to check for GZIP format using the 'file' command ---
is_gzipped() {
TMPDIR=\$(mktemp -d "\$meta_temp_dir/concat_text-XXXXXX") # Ensure the file exists and is not empty before checking
function clean_up { if [ ! -s "\$1" ]; then
[[ -d "\$TMPDIR" ]] && rm -r "\$TMPDIR" return 1
fi
# Get the MIME type of the file. The '-b' option omits the filename from the output.
local mime_type
mime_type=\$(file -b --mime-type "\$1")
# Check if the MIME type corresponds to gzip.
# application/gzip is standard, while application/x-gzip is also commonly seen.
if [[ "\$mime_type" == "application/gzip" || "\$mime_type" == "application/x-gzip" ]]; then
return 0 # 0 indicates success (true in bash)
else
return 1 # 1 indicates failure (false in bash)
fi
} }
trap clean_up EXIT
par_input="\$(echo "\$par_input" | tr ';' ' ')" # Read the ;-separated file paths from the input variable into an array
IFS=";" read -ra input_files <<< "\$par_input"
echo -n ">> Check if input is gzipped... " # Process the files if the array contains any paths
set +eo pipefail if [ \${#input_files[@]} -gt 0 ] && [ -n "\${input_files[0]}" ]; then
file \$par_input | grep -q 'gzip'
is_zipped="\$?"
set -euo pipefail
[[ "\$is_zipped" == "0" ]] && echo "yes" || echo "no"
if [[ "\$is_zipped" == "0" ]]; then # Ensure the output file is empty before we start
echo ">> zcat gzipped files" > "\$par_output"
zcat \$par_input > \$TMPDIR/contents
echo "Processing files for -> \$par_output"
# Create a subshell for the loop to group all cat/zcat output.
(
for file in "\${input_files[@]}"; do
if [ -z "\$file" ]; then continue; fi # Skip empty entries in the array
if is_gzipped "\$file"; then
zcat "\$file"
else
cat "\$file"
fi
done
) | if [ "\$par_compress_output" = "true" ]; then
# If compression is enabled, pipe the entire stream to gzip
gzip -c >> "\$par_output"
else
# Otherwise, just redirect the stream to the plain text file
cat >> "\$par_output"
fi
echo "Finished creating \$par_output."
else else
echo ">> cat plain files" echo "No input files provided in \\\$par_input. Exiting."
cat \$par_input > \$TMPDIR/contents
fi fi
if [ "\$par_gzip_output" == true ]; then echo "Script finished successfully."
echo ">> Zip output file"
gzip \$TMPDIR/contents
mv \$TMPDIR/contents.gz \$par_output
else
mv \$TMPDIR/contents \$par_output
fi
VIASHMAIN VIASHMAIN
bash "\$tempscript" & bash "\$tempscript" &
wait "\$!" wait "\$!"

View File

@@ -1,5 +1,5 @@
name: "csv2fasta" name: "csv2fasta"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Dries Schaumont" - name: "Dries Schaumont"
roles: roles:
@@ -227,7 +227,7 @@ engines:
id: "docker" id: "docker"
image: "python:slim" image: "python:slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -257,12 +257,11 @@ build_info:
output: "target/executable/csv2fasta" output: "target/executable/csv2fasta"
executable: "target/executable/csv2fasta/csv2fasta" executable: "target/executable/csv2fasta/csv2fasta"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -285,7 +284,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# csv2fasta v0.3.0 # csv2fasta v0.3.1
# #
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative # This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -458,10 +458,10 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Robrecht Cannoodt" LABEL org.opencontainers.image.authors="Dries Schaumont, Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component csv2fasta" LABEL org.opencontainers.image.description="Companion container for running component csv2fasta"
LABEL org.opencontainers.image.created="2025-08-28T13:48:17Z" LABEL org.opencontainers.image.created="2025-11-20T15:16:24Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox" LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="a1801c5139bbcda244e06affa66d16f7abd5e124" LABEL org.opencontainers.image.revision="4acf73e0255554766186f4016986782c0d25c309"
LABEL org.opencontainers.image.version="v0.3.0" LABEL org.opencontainers.image.version="v0.3.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -578,7 +578,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "csv2fasta v0.3.0" echo "csv2fasta v0.3.1"
echo "" echo ""
echo "Convert two columns from a CSV file to FASTA entries. The CSV file can" echo "Convert two columns from a CSV file to FASTA entries. The CSV file can"
echo "contain an optional header and each row (other than the header) becomes" echo "contain an optional header and each row (other than the header) becomes"
@@ -695,7 +695,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "csv2fasta v0.3.0" echo "csv2fasta v0.3.1"
exit exit
;; ;;
--input) --input)
@@ -879,7 +879,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/csv2fasta:v0.3.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/csv2fasta:v0.3.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,5 +1,5 @@
name: "move_files_to_directory" name: "move_files_to_directory"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Dorien Roosen" - name: "Dorien Roosen"
roles: roles:
@@ -135,7 +135,7 @@ engines:
id: "docker" id: "docker"
image: "debian:latest" image: "debian:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -153,12 +153,11 @@ build_info:
output: "target/executable/move_files_to_directory" output: "target/executable/move_files_to_directory"
executable: "target/executable/move_files_to_directory/move_files_to_directory" executable: "target/executable/move_files_to_directory/move_files_to_directory"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -181,7 +180,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# move_files_to_directory v0.3.0 # move_files_to_directory v0.3.1
# #
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative # This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -454,10 +454,10 @@ RUN apt-get update && \
LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.authors="Dorien Roosen"
LABEL org.opencontainers.image.description="Companion container for running component move_files_to_directory" LABEL org.opencontainers.image.description="Companion container for running component move_files_to_directory"
LABEL org.opencontainers.image.created="2025-08-28T13:48:17Z" LABEL org.opencontainers.image.created="2025-11-20T15:16:24Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox" LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="a1801c5139bbcda244e06affa66d16f7abd5e124" LABEL org.opencontainers.image.revision="4acf73e0255554766186f4016986782c0d25c309"
LABEL org.opencontainers.image.version="v0.3.0" LABEL org.opencontainers.image.version="v0.3.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -574,7 +574,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "move_files_to_directory v0.3.0" echo "move_files_to_directory v0.3.1"
echo "" echo ""
echo "This component copies one or multiple files to the same destination directory," echo "This component copies one or multiple files to the same destination directory,"
echo "creating the output directory if it doesn't exist." echo "creating the output directory if it doesn't exist."
@@ -639,7 +639,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "move_files_to_directory v0.3.0" echo "move_files_to_directory v0.3.1"
exit exit
;; ;;
--input) --input)
@@ -768,7 +768,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/move_files_to_directory:v0.3.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/move_files_to_directory:v0.3.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,5 +1,5 @@
name: "sync_resources" name: "sync_resources"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Robrecht Cannoodt" - name: "Robrecht Cannoodt"
roles: roles:
@@ -174,7 +174,7 @@ engines:
id: "docker" id: "docker"
image: "alpine:3" image: "alpine:3"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apk" - type: "apk"
@@ -197,12 +197,11 @@ build_info:
output: "target/executable/sync_resources" output: "target/executable/sync_resources"
executable: "target/executable/sync_resources/sync_resources" executable: "target/executable/sync_resources/sync_resources"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -225,7 +224,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# sync_resources v0.3.0 # sync_resources v0.3.1
# #
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative # This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -455,10 +455,10 @@ RUN rclone config create s3 s3 anonymous=true
RUN rclone config create gs gcs anonymous=true RUN rclone config create gs gcs anonymous=true
LABEL org.opencontainers.image.authors="Robrecht Cannoodt, Dries Schaumont" LABEL org.opencontainers.image.authors="Robrecht Cannoodt, Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component sync_resources" LABEL org.opencontainers.image.description="Companion container for running component sync_resources"
LABEL org.opencontainers.image.created="2025-08-28T13:48:16Z" LABEL org.opencontainers.image.created="2025-11-20T15:16:24Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox" LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="a1801c5139bbcda244e06affa66d16f7abd5e124" LABEL org.opencontainers.image.revision="4acf73e0255554766186f4016986782c0d25c309"
LABEL org.opencontainers.image.version="v0.3.0" LABEL org.opencontainers.image.version="v0.3.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -575,7 +575,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "sync_resources v0.3.0" echo "sync_resources v0.3.1"
echo "" echo ""
echo "Sync a Viash package's test resources to the local filesystem based on the" echo "Sync a Viash package's test resources to the local filesystem based on the"
echo "the \`.info.test_resources\` field in the \`_viash.yaml\` file. This is useful for" echo "the \`.info.test_resources\` field in the \`_viash.yaml\` file. This is useful for"
@@ -654,7 +654,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "sync_resources v0.3.0" echo "sync_resources v0.3.1"
exit exit
;; ;;
--input) --input)
@@ -801,7 +801,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/sync_resources:v0.3.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/sync_resources:v0.3.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,5 +1,5 @@
name: "untar" name: "untar"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Dries Schaumont" - name: "Dries Schaumont"
roles: roles:
@@ -164,7 +164,7 @@ engines:
id: "docker" id: "docker"
image: "debian:stable-slim" image: "debian:stable-slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -182,12 +182,11 @@ build_info:
output: "target/executable/untar" output: "target/executable/untar"
executable: "target/executable/untar/untar" executable: "target/executable/untar/untar"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -210,7 +209,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# untar v0.3.0 # untar v0.3.1
# #
# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative # This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data # work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -455,10 +455,10 @@ RUN apt-get update && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Robrecht Cannoodt" LABEL org.opencontainers.image.authors="Dries Schaumont, Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component untar" LABEL org.opencontainers.image.description="Companion container for running component untar"
LABEL org.opencontainers.image.created="2025-08-28T13:48:16Z" LABEL org.opencontainers.image.created="2025-11-20T15:16:24Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox" LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="a1801c5139bbcda244e06affa66d16f7abd5e124" LABEL org.opencontainers.image.revision="4acf73e0255554766186f4016986782c0d25c309"
LABEL org.opencontainers.image.version="v0.3.0" LABEL org.opencontainers.image.version="v0.3.1"
VIASHDOCKER VIASHDOCKER
fi fi
@@ -575,7 +575,7 @@ VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable # ViashHelp: Display helpful explanation about this executable
function ViashHelp { function ViashHelp {
echo "untar v0.3.0" echo "untar v0.3.1"
echo "" echo ""
echo "Unpack a .tar file. When the contents of the .tar file is just a single" echo "Unpack a .tar file. When the contents of the .tar file is just a single"
echo "directory," echo "directory,"
@@ -646,7 +646,7 @@ while [[ $# -gt 0 ]]; do
shift 1 shift 1
;; ;;
--version) --version)
echo "untar v0.3.0" echo "untar v0.3.1"
exit exit
;; ;;
--input) --input)
@@ -776,7 +776,7 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# determine docker image id # determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/untar:v0.3.0' VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/craftbox/untar:v0.3.1'
fi fi
# print dockerfile # print dockerfile

View File

@@ -1,5 +1,5 @@
name: "check_disk_space" name: "check_disk_space"
version: "v0.3.0" version: "v0.3.1"
argument_groups: argument_groups:
- name: "Inputs" - name: "Inputs"
arguments: arguments:
@@ -144,7 +144,7 @@ engines:
id: "docker" id: "docker"
image: "bash:latest" image: "bash:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
entrypoint: [] entrypoint: []
cmd: null cmd: null
@@ -157,12 +157,11 @@ build_info:
output: "target/nextflow/check_disk_space" output: "target/nextflow/check_disk_space"
executable: "target/nextflow/check_disk_space/main.nf" executable: "target/nextflow/check_disk_space/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -185,7 +184,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,4 +1,4 @@
// check_disk_space v0.3.0 // check_disk_space v0.3.1
// //
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative // This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3031,7 +3031,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(), "resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "check_disk_space", "name" : "check_disk_space",
"version" : "v0.3.0", "version" : "v0.3.1",
"argument_groups" : [ "argument_groups" : [
{ {
"name" : "Inputs", "name" : "Inputs",
@@ -3202,7 +3202,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "bash:latest", "image" : "bash:latest",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0", "target_tag" : "v0.3.1",
"namespace_separator" : "/" "namespace_separator" : "/"
}, },
{ {
@@ -3216,13 +3216,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "target/nextflow/check_disk_space", "output" : "target/nextflow/check_disk_space",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "a1801c5139bbcda244e06affa66d16f7abd5e124", "git_commit" : "4acf73e0255554766186f4016986782c0d25c309",
"git_remote" : "https://github.com/viash-hub/craftbox", "git_remote" : "https://github.com/viash-hub/craftbox"
"git_tag" : "v0.1.0-11-ga1801c5"
}, },
"package_config" : { "package_config" : {
"name" : "craftbox", "name" : "craftbox",
"version" : "v0.3.0", "version" : "v0.3.1",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n", "summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n", "description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
@@ -3232,7 +3231,7 @@ meta = [
".requirements.commands := ['ps']\n", ".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.3.0'" ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
], ],
"keywords" : [ "keywords" : [
"scripts", "scripts",
@@ -3686,7 +3685,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/check_disk_space", "image" : "vsh/craftbox/check_disk_space",
"tag" : "v0.3.0" "tag" : "v0.3.1"
}, },
"tag" : "$id" "tag" : "$id"
}'''), }'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'check_disk_space' name = 'check_disk_space'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0' version = 'v0.3.1'
description = 'Check for available disk space on the system.\n\nThis component is only useful when working with persistent storage environments\nwhere all workflow steps execute on the same instance or share the same\nstorage volume. That is, running thus component on e.g. AWS Batch or\nother cloud-based systems will not work as expected, since each step\ncan run on a different instance and resources will not be shared.\n\nFor distributed environments, consider integrating resource checks directly\ninto the components that will actually consume the storage, rather than\nusing this standalone check.\n' description = 'Check for available disk space on the system.\n\nThis component is only useful when working with persistent storage environments\nwhere all workflow steps execute on the same instance or share the same\nstorage volume. That is, running thus component on e.g. AWS Batch or\nother cloud-based systems will not work as expected, since each step\ncan run on a different instance and resources will not be shared.\n\nFor distributed environments, consider integrating resource checks directly\ninto the components that will actually consume the storage, rather than\nusing this standalone check.\n'
} }

View File

@@ -1,5 +1,5 @@
name: "concat_text" name: "concat_text"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Toni Verbeiren" - name: "Toni Verbeiren"
roles: roles:
@@ -26,6 +26,22 @@ authors:
- name: "Data Intuitive" - name: "Data Intuitive"
href: "https://www.data-intuitive.com" href: "https://www.data-intuitive.com"
role: "Data Scientist" role: "Data Scientist"
- name: "Robrecht Cannoodt"
roles:
- "contributor"
info:
links:
email: "robrecht@data-intuitive.com"
github: "rcannood"
orcid: "0000-0003-3641-729X"
linkedin: "robrechtcannoodt"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Data Science Engineer"
- name: "Open Problems"
href: "https://openproblems.bio"
role: "Core Member"
argument_groups: argument_groups:
- name: "Input arguments" - name: "Input arguments"
arguments: arguments:
@@ -34,7 +50,7 @@ argument_groups:
description: "A list of (gzipped) text files." description: "A list of (gzipped) text files."
info: null info: null
example: example:
- "input?.txt.gz" - "input.txt.gz"
must_exist: true must_exist: true
create_parent: true create_parent: true
required: true required: true
@@ -50,7 +66,7 @@ argument_groups:
direction: "input" direction: "input"
- type: "file" - type: "file"
name: "--output" name: "--output"
description: "File to write the output to, optionally gzipped." description: "File to write the output to, potentially gzipped."
info: null info: null
example: example:
- "output.txt" - "output.txt"
@@ -64,7 +80,7 @@ resources:
- type: "bash_script" - type: "bash_script"
path: "script.sh" path: "script.sh"
is_executable: true is_executable: true
summary: "Concatenate a number of text files" summary: "Concatenate multiple (possibly gzipped) text files"
description: "Concatenate a number of text files, handle gzipped text files gracefully\ description: "Concatenate a number of text files, handle gzipped text files gracefully\
\ and\noptionally gzip the output text file.\n\nThis component is useful for concatening\ \ and\noptionally gzip the output text file.\n\nThis component is useful for concatening\
\ fastq files from different lanes, for instance.\n" \ fastq files from different lanes, for instance.\n"
@@ -73,9 +89,8 @@ test_resources:
path: "test.sh" path: "test.sh"
is_executable: true is_executable: true
info: info:
improvements: "This component could be improved in 2 ways:\n 1. Allow for a mix\ improvements: "This component could be improved:\n 1. Allow to specify a compression\
\ of zipped and plain input files\n 2. Allow to specify a compression algorithm\ \ algorithm for the output\n"
\ for the output\n"
status: "enabled" status: "enabled"
scope: scope:
image: "public" image: "public"
@@ -156,7 +171,7 @@ engines:
id: "docker" id: "docker"
image: "alpine:latest" image: "alpine:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apk" - type: "apk"
@@ -175,12 +190,11 @@ build_info:
output: "target/nextflow/concat_text" output: "target/nextflow/concat_text"
executable: "target/nextflow/concat_text/main.nf" executable: "target/nextflow/concat_text/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -203,7 +217,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,4 +1,4 @@
// concat_text v0.3.0 // concat_text v0.3.1
// //
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative // This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -12,6 +12,7 @@
// Component authors: // Component authors:
// * Toni Verbeiren (author, maintainer) // * Toni Verbeiren (author, maintainer)
// * Dries Schaumont (reviewer) // * Dries Schaumont (reviewer)
// * Robrecht Cannoodt (contributor)
//////////////////////////// ////////////////////////////
// VDSL3 helper functions // // VDSL3 helper functions //
@@ -3035,7 +3036,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(), "resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "concat_text", "name" : "concat_text",
"version" : "v0.3.0", "version" : "v0.3.1",
"authors" : [ "authors" : [
{ {
"name" : "Toni Verbeiren", "name" : "Toni Verbeiren",
@@ -3077,6 +3078,32 @@ meta = [
} }
] ]
} }
},
{
"name" : "Robrecht Cannoodt",
"roles" : [
"contributor"
],
"info" : {
"links" : {
"email" : "robrecht@data-intuitive.com",
"github" : "rcannood",
"orcid" : "0000-0003-3641-729X",
"linkedin" : "robrechtcannoodt"
},
"organizations" : [
{
"name" : "Data Intuitive",
"href" : "https://www.data-intuitive.com",
"role" : "Data Science Engineer"
},
{
"name" : "Open Problems",
"href" : "https://openproblems.bio",
"role" : "Core Member"
}
]
}
} }
], ],
"argument_groups" : [ "argument_groups" : [
@@ -3088,7 +3115,7 @@ meta = [
"name" : "--input", "name" : "--input",
"description" : "A list of (gzipped) text files.", "description" : "A list of (gzipped) text files.",
"example" : [ "example" : [
"input?.txt.gz" "input.txt.gz"
], ],
"must_exist" : true, "must_exist" : true,
"create_parent" : true, "create_parent" : true,
@@ -3111,7 +3138,7 @@ meta = [
{ {
"type" : "file", "type" : "file",
"name" : "--output", "name" : "--output",
"description" : "File to write the output to, optionally gzipped.", "description" : "File to write the output to, potentially gzipped.",
"example" : [ "example" : [
"output.txt" "output.txt"
], ],
@@ -3132,7 +3159,7 @@ meta = [
"is_executable" : true "is_executable" : true
} }
], ],
"summary" : "Concatenate a number of text files", "summary" : "Concatenate multiple (possibly gzipped) text files",
"description" : "Concatenate a number of text files, handle gzipped text files gracefully and\noptionally gzip the output text file.\n\nThis component is useful for concatening fastq files from different lanes, for instance.\n", "description" : "Concatenate a number of text files, handle gzipped text files gracefully and\noptionally gzip the output text file.\n\nThis component is useful for concatening fastq files from different lanes, for instance.\n",
"test_resources" : [ "test_resources" : [
{ {
@@ -3142,7 +3169,7 @@ meta = [
} }
], ],
"info" : { "info" : {
"improvements" : "This component could be improved in 2 ways:\n 1. Allow for a mix of zipped and plain input files\n 2. Allow to specify a compression algorithm for the output\n" "improvements" : "This component could be improved:\n 1. Allow to specify a compression algorithm for the output\n"
}, },
"status" : "enabled", "status" : "enabled",
"scope" : { "scope" : {
@@ -3238,7 +3265,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "alpine:latest", "image" : "alpine:latest",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0", "target_tag" : "v0.3.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3262,13 +3289,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "target/nextflow/concat_text", "output" : "target/nextflow/concat_text",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "a1801c5139bbcda244e06affa66d16f7abd5e124", "git_commit" : "4acf73e0255554766186f4016986782c0d25c309",
"git_remote" : "https://github.com/viash-hub/craftbox", "git_remote" : "https://github.com/viash-hub/craftbox"
"git_tag" : "v0.1.0-11-ga1801c5"
}, },
"package_config" : { "package_config" : {
"name" : "craftbox", "name" : "craftbox",
"version" : "v0.3.0", "version" : "v0.3.1",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n", "summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n", "description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
@@ -3278,7 +3304,7 @@ meta = [
".requirements.commands := ['ps']\n", ".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.3.0'" ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
], ],
"keywords" : [ "keywords" : [
"scripts", "scripts",
@@ -3305,6 +3331,10 @@ def innerWorkflowFactory(args) {
def rawScript = '''set -e def rawScript = '''set -e
tempscript=".viash_script.sh" tempscript=".viash_script.sh"
cat > "$tempscript" << VIASHMAIN cat > "$tempscript" << VIASHMAIN
#!/usr/bin/env bash
set -eo pipefail
## VIASH START ## VIASH START
# The following code has been auto-generated by Viash. # The following code has been auto-generated by Viash.
$( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_input='&'#" ; else echo "# par_input="; fi ) $( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_input='&'#" ; else echo "# par_input="; fi )
@@ -3330,40 +3360,62 @@ $( if [ ! -z ${VIASH_META_MEMORY_TIB+x} ]; then echo "${VIASH_META_MEMORY_TIB}"
$( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_pib='&'#" ; else echo "# meta_memory_pib="; fi ) $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_pib='&'#" ; else echo "# meta_memory_pib="; fi )
## VIASH END ## VIASH END
#!/usr/bin/env bash
set -euo pipefail # --- Function to check for GZIP format using the 'file' command ---
is_gzipped() {
TMPDIR=\\$(mktemp -d "\\$meta_temp_dir/concat_text-XXXXXX") # Ensure the file exists and is not empty before checking
function clean_up { if [ ! -s "\\$1" ]; then
[[ -d "\\$TMPDIR" ]] && rm -r "\\$TMPDIR" return 1
fi
# Get the MIME type of the file. The '-b' option omits the filename from the output.
local mime_type
mime_type=\\$(file -b --mime-type "\\$1")
# Check if the MIME type corresponds to gzip.
# application/gzip is standard, while application/x-gzip is also commonly seen.
if [[ "\\$mime_type" == "application/gzip" || "\\$mime_type" == "application/x-gzip" ]]; then
return 0 # 0 indicates success (true in bash)
else
return 1 # 1 indicates failure (false in bash)
fi
} }
trap clean_up EXIT
par_input="\\$(echo "\\$par_input" | tr ';' ' ')" # Read the ;-separated file paths from the input variable into an array
IFS=";" read -ra input_files <<< "\\$par_input"
echo -n ">> Check if input is gzipped... " # Process the files if the array contains any paths
set +eo pipefail if [ \\${#input_files[@]} -gt 0 ] && [ -n "\\${input_files[0]}" ]; then
file \\$par_input | grep -q 'gzip'
is_zipped="\\$?"
set -euo pipefail
[[ "\\$is_zipped" == "0" ]] && echo "yes" || echo "no"
if [[ "\\$is_zipped" == "0" ]]; then # Ensure the output file is empty before we start
echo ">> zcat gzipped files" > "\\$par_output"
zcat \\$par_input > \\$TMPDIR/contents
echo "Processing files for -> \\$par_output"
# Create a subshell for the loop to group all cat/zcat output.
(
for file in "\\${input_files[@]}"; do
if [ -z "\\$file" ]; then continue; fi # Skip empty entries in the array
if is_gzipped "\\$file"; then
zcat "\\$file"
else
cat "\\$file"
fi
done
) | if [ "\\$par_compress_output" = "true" ]; then
# If compression is enabled, pipe the entire stream to gzip
gzip -c >> "\\$par_output"
else
# Otherwise, just redirect the stream to the plain text file
cat >> "\\$par_output"
fi
echo "Finished creating \\$par_output."
else else
echo ">> cat plain files" echo "No input files provided in \\\\\\$par_input. Exiting."
cat \\$par_input > \\$TMPDIR/contents
fi fi
if [ "\\$par_gzip_output" == true ]; then echo "Script finished successfully."
echo ">> Zip output file"
gzip \\$TMPDIR/contents
mv \\$TMPDIR/contents.gz \\$par_output
else
mv \\$TMPDIR/contents \\$par_output
fi
VIASHMAIN VIASHMAIN
bash "$tempscript" bash "$tempscript"
''' '''
@@ -3746,7 +3798,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/concat_text", "image" : "vsh/craftbox/concat_text",
"tag" : "v0.3.0" "tag" : "v0.3.1"
}, },
"tag" : "$id" "tag" : "$id"
}'''), }'''),

View File

@@ -2,9 +2,9 @@ manifest {
name = 'concat_text' name = 'concat_text'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0' version = 'v0.3.1'
description = 'Concatenate a number of text files, handle gzipped text files gracefully and\noptionally gzip the output text file.\n\nThis component is useful for concatening fastq files from different lanes, for instance.\n' description = 'Concatenate a number of text files, handle gzipped text files gracefully and\noptionally gzip the output text file.\n\nThis component is useful for concatening fastq files from different lanes, for instance.\n'
author = 'Toni Verbeiren, Dries Schaumont' author = 'Toni Verbeiren, Dries Schaumont, Robrecht Cannoodt'
} }
process.container = 'nextflow/bash:latest' process.container = 'nextflow/bash:latest'

View File

@@ -17,7 +17,7 @@
"format": "path", "format": "path",
"exists": true, "exists": true,
"description": "A list of (gzipped) text files.", "description": "A list of (gzipped) text files.",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`, example: `[\"input?.txt.gz\"]`. " "help_text": "Type: `file`, multiple: `True`, required, direction: `input`, example: `[\"input.txt.gz\"]`. "
} }
} }
}, },
@@ -35,7 +35,7 @@
"output": { "output": {
"type": "string", "type": "string",
"format": "path", "format": "path",
"description": "File to write the output to, optionally gzipped.", "description": "File to write the output to, potentially gzipped.",
"help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output.txt\"`, direction: `output`, example: `\"output.txt\"`. ", "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output.txt\"`, direction: `output`, example: `\"output.txt\"`. ",
"default": "$id.$key.output.txt" "default": "$id.$key.output.txt"
} }

View File

@@ -1,5 +1,5 @@
name: "csv2fasta" name: "csv2fasta"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Dries Schaumont" - name: "Dries Schaumont"
roles: roles:
@@ -227,7 +227,7 @@ engines:
id: "docker" id: "docker"
image: "python:slim" image: "python:slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -257,12 +257,11 @@ build_info:
output: "target/nextflow/csv2fasta" output: "target/nextflow/csv2fasta"
executable: "target/nextflow/csv2fasta/main.nf" executable: "target/nextflow/csv2fasta/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -285,7 +284,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,4 +1,4 @@
// csv2fasta v0.3.0 // csv2fasta v0.3.1
// //
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative // This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3035,7 +3035,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(), "resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "csv2fasta", "name" : "csv2fasta",
"version" : "v0.3.0", "version" : "v0.3.1",
"authors" : [ "authors" : [
{ {
"name" : "Dries Schaumont", "name" : "Dries Schaumont",
@@ -3310,7 +3310,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "python:slim", "image" : "python:slim",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0", "target_tag" : "v0.3.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3352,13 +3352,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "target/nextflow/csv2fasta", "output" : "target/nextflow/csv2fasta",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "a1801c5139bbcda244e06affa66d16f7abd5e124", "git_commit" : "4acf73e0255554766186f4016986782c0d25c309",
"git_remote" : "https://github.com/viash-hub/craftbox", "git_remote" : "https://github.com/viash-hub/craftbox"
"git_tag" : "v0.1.0-11-ga1801c5"
}, },
"package_config" : { "package_config" : {
"name" : "craftbox", "name" : "craftbox",
"version" : "v0.3.0", "version" : "v0.3.1",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n", "summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n", "description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
@@ -3368,7 +3367,7 @@ meta = [
".requirements.commands := ['ps']\n", ".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.3.0'" ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
], ],
"keywords" : [ "keywords" : [
"scripts", "scripts",
@@ -3912,7 +3911,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/csv2fasta", "image" : "vsh/craftbox/csv2fasta",
"tag" : "v0.3.0" "tag" : "v0.3.1"
}, },
"tag" : "$id" "tag" : "$id"
}'''), }'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'csv2fasta' name = 'csv2fasta'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0' version = 'v0.3.1'
description = 'Convert two columns from a CSV file to FASTA entries. The CSV file can\ncontain an optional header and each row (other than the header) becomes\na single FASTA record. One of the two columns will be used as the names\nfor the FASTA entries, while the other become the sequences. The sequences\ncolumn must only contain characters that are valid IUPAC notation for \nnucleotides or a group thereof (wildcard characters).\n' description = 'Convert two columns from a CSV file to FASTA entries. The CSV file can\ncontain an optional header and each row (other than the header) becomes\na single FASTA record. One of the two columns will be used as the names\nfor the FASTA entries, while the other become the sequences. The sequences\ncolumn must only contain characters that are valid IUPAC notation for \nnucleotides or a group thereof (wildcard characters).\n'
author = 'Dries Schaumont, Robrecht Cannoodt' author = 'Dries Schaumont, Robrecht Cannoodt'
} }

View File

@@ -1,5 +1,5 @@
name: "move_files_to_directory" name: "move_files_to_directory"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Dorien Roosen" - name: "Dorien Roosen"
roles: roles:
@@ -135,7 +135,7 @@ engines:
id: "docker" id: "docker"
image: "debian:latest" image: "debian:latest"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -153,12 +153,11 @@ build_info:
output: "target/nextflow/move_files_to_directory" output: "target/nextflow/move_files_to_directory"
executable: "target/nextflow/move_files_to_directory/main.nf" executable: "target/nextflow/move_files_to_directory/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -181,7 +180,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,4 +1,4 @@
// move_files_to_directory v0.3.0 // move_files_to_directory v0.3.1
// //
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative // This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3034,7 +3034,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(), "resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "move_files_to_directory", "name" : "move_files_to_directory",
"version" : "v0.3.0", "version" : "v0.3.1",
"authors" : [ "authors" : [
{ {
"name" : "Dorien Roosen", "name" : "Dorien Roosen",
@@ -3205,7 +3205,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "debian:latest", "image" : "debian:latest",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0", "target_tag" : "v0.3.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3228,13 +3228,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "target/nextflow/move_files_to_directory", "output" : "target/nextflow/move_files_to_directory",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "a1801c5139bbcda244e06affa66d16f7abd5e124", "git_commit" : "4acf73e0255554766186f4016986782c0d25c309",
"git_remote" : "https://github.com/viash-hub/craftbox", "git_remote" : "https://github.com/viash-hub/craftbox"
"git_tag" : "v0.1.0-11-ga1801c5"
}, },
"package_config" : { "package_config" : {
"name" : "craftbox", "name" : "craftbox",
"version" : "v0.3.0", "version" : "v0.3.1",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n", "summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n", "description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
@@ -3244,7 +3243,7 @@ meta = [
".requirements.commands := ['ps']\n", ".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.3.0'" ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
], ],
"keywords" : [ "keywords" : [
"scripts", "scripts",
@@ -3706,7 +3705,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/move_files_to_directory", "image" : "vsh/craftbox/move_files_to_directory",
"tag" : "v0.3.0" "tag" : "v0.3.1"
}, },
"tag" : "$id" "tag" : "$id"
}'''), }'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'move_files_to_directory' name = 'move_files_to_directory'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0' version = 'v0.3.1'
description = 'This component copies one or multiple files to the same destination directory, creating the output directory if it doesn\'t exist.' description = 'This component copies one or multiple files to the same destination directory, creating the output directory if it doesn\'t exist.'
author = 'Dorien Roosen' author = 'Dorien Roosen'
} }

View File

@@ -1,5 +1,5 @@
name: "sync_resources" name: "sync_resources"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Robrecht Cannoodt" - name: "Robrecht Cannoodt"
roles: roles:
@@ -174,7 +174,7 @@ engines:
id: "docker" id: "docker"
image: "alpine:3" image: "alpine:3"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apk" - type: "apk"
@@ -197,12 +197,11 @@ build_info:
output: "target/nextflow/sync_resources" output: "target/nextflow/sync_resources"
executable: "target/nextflow/sync_resources/main.nf" executable: "target/nextflow/sync_resources/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -225,7 +224,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,4 +1,4 @@
// sync_resources v0.3.0 // sync_resources v0.3.1
// //
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative // This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3035,7 +3035,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(), "resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "sync_resources", "name" : "sync_resources",
"version" : "v0.3.0", "version" : "v0.3.1",
"authors" : [ "authors" : [
{ {
"name" : "Robrecht Cannoodt", "name" : "Robrecht Cannoodt",
@@ -3263,7 +3263,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "alpine:3", "image" : "alpine:3",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0", "target_tag" : "v0.3.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3294,13 +3294,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "target/nextflow/sync_resources", "output" : "target/nextflow/sync_resources",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "a1801c5139bbcda244e06affa66d16f7abd5e124", "git_commit" : "4acf73e0255554766186f4016986782c0d25c309",
"git_remote" : "https://github.com/viash-hub/craftbox", "git_remote" : "https://github.com/viash-hub/craftbox"
"git_tag" : "v0.1.0-11-ga1801c5"
}, },
"package_config" : { "package_config" : {
"name" : "craftbox", "name" : "craftbox",
"version" : "v0.3.0", "version" : "v0.3.1",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n", "summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n", "description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
@@ -3310,7 +3309,7 @@ meta = [
".requirements.commands := ['ps']\n", ".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.3.0'" ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
], ],
"keywords" : [ "keywords" : [
"scripts", "scripts",
@@ -3773,7 +3772,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/sync_resources", "image" : "vsh/craftbox/sync_resources",
"tag" : "v0.3.0" "tag" : "v0.3.1"
}, },
"tag" : "$id" "tag" : "$id"
}'''), }'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'sync_resources' name = 'sync_resources'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0' version = 'v0.3.1'
description = 'Sync a Viash package\'s test resources to the local filesystem based on the\nthe `.info.test_resources` field in the `_viash.yaml` file. This is useful for\ntesting and debugging purposes.\n' description = 'Sync a Viash package\'s test resources to the local filesystem based on the\nthe `.info.test_resources` field in the `_viash.yaml` file. This is useful for\ntesting and debugging purposes.\n'
author = 'Robrecht Cannoodt, Dries Schaumont' author = 'Robrecht Cannoodt, Dries Schaumont'
} }

View File

@@ -1,5 +1,5 @@
name: "untar" name: "untar"
version: "v0.3.0" version: "v0.3.1"
authors: authors:
- name: "Dries Schaumont" - name: "Dries Schaumont"
roles: roles:
@@ -164,7 +164,7 @@ engines:
id: "docker" id: "docker"
image: "debian:stable-slim" image: "debian:stable-slim"
target_registry: "images.viash-hub.com" target_registry: "images.viash-hub.com"
target_tag: "v0.3.0" target_tag: "v0.3.1"
namespace_separator: "/" namespace_separator: "/"
setup: setup:
- type: "apt" - type: "apt"
@@ -182,12 +182,11 @@ build_info:
output: "target/nextflow/untar" output: "target/nextflow/untar"
executable: "target/nextflow/untar/main.nf" executable: "target/nextflow/untar/main.nf"
viash_version: "0.9.4" viash_version: "0.9.4"
git_commit: "a1801c5139bbcda244e06affa66d16f7abd5e124" git_commit: "4acf73e0255554766186f4016986782c0d25c309"
git_remote: "https://github.com/viash-hub/craftbox" git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-11-ga1801c5"
package_config: package_config:
name: "craftbox" name: "craftbox"
version: "v0.3.0" version: "v0.3.1"
summary: "A collection of custom-tailored scripts and applied utilities built with\ summary: "A collection of custom-tailored scripts and applied utilities built with\
\ Viash.\n" \ Viash.\n"
description: "`craftbox` is a curated collection of custom scripts and utilities\ description: "`craftbox` is a curated collection of custom scripts and utilities\
@@ -210,7 +209,7 @@ package_config:
- ".requirements.commands := ['ps']\n" - ".requirements.commands := ['ps']\n"
- ".engines += { type: \"native\" }" - ".engines += { type: \"native\" }"
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
- ".engines[.type == 'docker'].target_tag := 'v0.3.0'" - ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
keywords: keywords:
- "scripts" - "scripts"
- "custom" - "custom"

View File

@@ -1,4 +1,4 @@
// untar v0.3.0 // untar v0.3.1
// //
// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative // This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data // work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
@@ -3035,7 +3035,7 @@ meta = [
"resources_dir": moduleDir.toRealPath().normalize(), "resources_dir": moduleDir.toRealPath().normalize(),
"config": processConfig(readJsonBlob('''{ "config": processConfig(readJsonBlob('''{
"name" : "untar", "name" : "untar",
"version" : "v0.3.0", "version" : "v0.3.1",
"authors" : [ "authors" : [
{ {
"name" : "Dries Schaumont", "name" : "Dries Schaumont",
@@ -3250,7 +3250,7 @@ meta = [
"id" : "docker", "id" : "docker",
"image" : "debian:stable-slim", "image" : "debian:stable-slim",
"target_registry" : "images.viash-hub.com", "target_registry" : "images.viash-hub.com",
"target_tag" : "v0.3.0", "target_tag" : "v0.3.1",
"namespace_separator" : "/", "namespace_separator" : "/",
"setup" : [ "setup" : [
{ {
@@ -3273,13 +3273,12 @@ meta = [
"engine" : "docker|native", "engine" : "docker|native",
"output" : "target/nextflow/untar", "output" : "target/nextflow/untar",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
"git_commit" : "a1801c5139bbcda244e06affa66d16f7abd5e124", "git_commit" : "4acf73e0255554766186f4016986782c0d25c309",
"git_remote" : "https://github.com/viash-hub/craftbox", "git_remote" : "https://github.com/viash-hub/craftbox"
"git_tag" : "v0.1.0-11-ga1801c5"
}, },
"package_config" : { "package_config" : {
"name" : "craftbox", "name" : "craftbox",
"version" : "v0.3.0", "version" : "v0.3.1",
"summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n", "summary" : "A collection of custom-tailored scripts and applied utilities built with Viash.\n",
"description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n", "description" : "`craftbox` is a curated collection of custom scripts and utilities designed to tackle context-specific tasks.\n\nEmphasizing the Viash principles, `craftbox` components aim for **reusability**, **reproducibility**, and adherence to **best practices**. Key features generally include:\n\n* **Standalone & Nextflow Ready:** Components are built to run directly via the command line or be smoothly integrated into Nextflow workflows.\n* **Custom Implementations:** Contains scripts and tools developed for particular tasks that may not be found in broader collections.\n* **High Quality Standards (promoted by Viash):**\n * Clear documentation for components and their parameters.\n * Full exposure of underlying script/tool arguments for fine-grained control.\n * Containerized (Docker) to ensure dependency management and a consistent, reproducible runtime environment.\n * Unit tested where applicable to ensure components function as expected.\n",
"viash_version" : "0.9.4", "viash_version" : "0.9.4",
@@ -3289,7 +3288,7 @@ meta = [
".requirements.commands := ['ps']\n", ".requirements.commands := ['ps']\n",
".engines += { type: \\"native\\" }", ".engines += { type: \\"native\\" }",
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
".engines[.type == 'docker'].target_tag := 'v0.3.0'" ".engines[.type == 'docker'].target_tag := 'v0.3.1'"
], ],
"keywords" : [ "keywords" : [
"scripts", "scripts",
@@ -3763,7 +3762,7 @@ meta["defaults"] = [
"container" : { "container" : {
"registry" : "images.viash-hub.com", "registry" : "images.viash-hub.com",
"image" : "vsh/craftbox/untar", "image" : "vsh/craftbox/untar",
"tag" : "v0.3.0" "tag" : "v0.3.1"
}, },
"tag" : "$id" "tag" : "$id"
}'''), }'''),

View File

@@ -2,7 +2,7 @@ manifest {
name = 'untar' name = 'untar'
mainScript = 'main.nf' mainScript = 'main.nf'
nextflowVersion = '!>=20.12.1-edge' nextflowVersion = '!>=20.12.1-edge'
version = 'v0.3.0' version = 'v0.3.1'
description = 'Unpack a .tar file. When the contents of the .tar file is just a single directory,\nput the contents of the directory into the output folder instead of that directory.\n' description = 'Unpack a .tar file. When the contents of the .tar file is just a single directory,\nput the contents of the directory into the output folder instead of that directory.\n'
author = 'Dries Schaumont, Robrecht Cannoodt' author = 'Dries Schaumont, Robrecht Cannoodt'
} }