Build branch main with version main (a80fa3e)

Build pipeline: viash-hub.craftbox.main-q4xsw

Source commit: a80fa3ef02

Source message: `move_files_to_directory`: add support for preserving symbolic links (#13)
This commit is contained in:
CI
2025-06-25 13:27:43 +00:00
parent 8ac9838721
commit dcf61f0448
29 changed files with 503 additions and 646 deletions

View File

@@ -1,3 +1,9 @@
# craftbox 0.3.0
## NEW FEATURES
* `move_files_to_directory`: add support for preserving symbolic links (PR #13).
# craftbox 0.2.0
## NEW FEATURES

View File

@@ -16,6 +16,10 @@ arguments:
direction: output
required: true
description: Path to output directory
- name: "--keep_symbolic_links"
alternatives: [-d]
type: boolean_true
description: Preserve symbolic links.
resources:
- type: bash_script
path: script.sh

View File

@@ -12,12 +12,19 @@ if [[ ! -d "$par_output" ]]; then
mkdir -p "$par_output"
fi
extra_params=( )
if [ "$par_keep_symbolic_links" == "true" ]; then
extra_params+=( "-d" )
fi
# Process multiple input files
IFS=";" read -ra input_files <<< "$par_input"
for file in "${input_files[@]}"; do
# Check if the file exists before copying
if [[ -f "$file" ]]; then
cp "$file" "$par_output/"
cp ${extra_params[@]} "$file" "$par_output/"
echo "Copied $file to $par_output/"
else
echo "Warning: Input file $file does not exist, skipping"

View File

@@ -19,4 +19,13 @@ touch "$TMPDIR/another_file.txt"
[[ ! -d "$TMPDIR/test_output" ]] && echo "It seems no output directory is generated" && exit 1
[[ ! -f "$TMPDIR/test_output/test_file.txt" ]] && [[ ! -f test_output/another_file.txt ]] && echo "Output files were not copied to the output directory" && exit 1
ln -s "$TMPDIR/test_file.txt" "$TMPDIR/symlink.txt"
./move_files_to_directory \
--input "$TMPDIR/symlink.txt" \
--output "$TMPDIR/test_output_symlink" \
--keep_symbolic_links
[[ ! -d "$TMPDIR/test_output_symlink" ]] && echo "It seems no output directory (test_output_symlink) is generated" && exit 1
[[ ! -h "$TMPDIR/test_output_symlink/symlink.txt" ]] && echo "Symbolic links were not properly copied." && exit 1
echo ">> Test succeeded!"

View File

@@ -175,9 +175,9 @@ build_info:
output: "target/executable/concat_text"
executable: "target/executable/concat_text/concat_text"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -453,9 +453,9 @@ RUN apk add --no-cache bash procps file
LABEL org.opencontainers.image.authors="Toni Verbeiren, Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component concat_text"
LABEL org.opencontainers.image.created="2025-05-07T13:45:23Z"
LABEL org.opencontainers.image.created="2025-06-25T13:20:53Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="1c2d4e90541ed3c2e04a2633db86413b2548ab10"
LABEL org.opencontainers.image.revision="a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -257,9 +257,9 @@ build_info:
output: "target/executable/csv2fasta"
executable: "target/executable/csv2fasta/csv2fasta"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -458,9 +458,9 @@ RUN pip install --upgrade pip && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component csv2fasta"
LABEL org.opencontainers.image.created="2025-05-07T13:45:23Z"
LABEL org.opencontainers.image.created="2025-06-25T13:20:53Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="1c2d4e90541ed3c2e04a2633db86413b2548ab10"
LABEL org.opencontainers.image.revision="a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -36,6 +36,13 @@ argument_groups:
direction: "output"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--keep_symbolic_links"
alternatives:
- "-d"
description: "Preserve symbolic links."
info: null
direction: "input"
resources:
- type: "bash_script"
path: "script.sh"
@@ -146,9 +153,9 @@ build_info:
output: "target/executable/move_files_to_directory"
executable: "target/executable/move_files_to_directory/move_files_to_directory"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -454,9 +454,9 @@ RUN apt-get update && \
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.created="2025-05-07T13:45:23Z"
LABEL org.opencontainers.image.created="2025-06-25T13:20:53Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="1c2d4e90541ed3c2e04a2633db86413b2548ab10"
LABEL org.opencontainers.image.revision="a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -588,6 +588,10 @@ function ViashHelp {
echo " type: file, required parameter, output, file must exist"
echo " Path to output directory"
echo ""
echo " -d, --keep_symbolic_links"
echo " type: boolean_true"
echo " Preserve symbolic links."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
@@ -666,6 +670,16 @@ while [[ $# -gt 0 ]]; do
VIASH_PAR_OUTPUT=$(ViashRemoveFlags "$1")
shift 1
;;
--keep_symbolic_links)
[ -n "$VIASH_PAR_KEEP_SYMBOLIC_LINKS" ] && ViashError Bad arguments for option \'--keep_symbolic_links\': \'$VIASH_PAR_KEEP_SYMBOLIC_LINKS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_KEEP_SYMBOLIC_LINKS=true
shift 1
;;
-d)
[ -n "$VIASH_PAR_KEEP_SYMBOLIC_LINKS" ] && ViashError Bad arguments for option \'-d\': \'$VIASH_PAR_KEEP_SYMBOLIC_LINKS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_KEEP_SYMBOLIC_LINKS=true
shift 1
;;
---engine)
VIASH_ENGINE_ID="$2"
shift 2
@@ -871,6 +885,11 @@ if [ -z ${VIASH_META_TEMP_DIR+x} ]; then
exit 1
fi
# filling in defaults
if [ -z ${VIASH_PAR_KEEP_SYMBOLIC_LINKS+x} ]; then
VIASH_PAR_KEEP_SYMBOLIC_LINKS="false"
fi
# check whether required files exist
if [ ! -z "$VIASH_PAR_INPUT" ]; then
IFS=';'
@@ -886,6 +905,12 @@ if [ ! -z "$VIASH_PAR_INPUT" ]; then
fi
# check whether parameters values are of the right type
if [[ -n "$VIASH_PAR_KEEP_SYMBOLIC_LINKS" ]]; then
if ! [[ "$VIASH_PAR_KEEP_SYMBOLIC_LINKS" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then
ViashError '--keep_symbolic_links' has to be a boolean_true. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_CPUS" ]]; then
if ! [[ "$VIASH_META_CPUS" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'cpus' has to be an integer. Use "--help" to get more information on the parameters.
@@ -1067,6 +1092,7 @@ set -eo pipefail
# 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_OUTPUT+x} ]; then echo "${VIASH_PAR_OUTPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_output='&'#" ; else echo "# par_output="; fi )
$( if [ ! -z ${VIASH_PAR_KEEP_SYMBOLIC_LINKS+x} ]; then echo "${VIASH_PAR_KEEP_SYMBOLIC_LINKS}" | sed "s#'#'\"'\"'#g;s#.*#par_keep_symbolic_links='&'#" ; else echo "# par_keep_symbolic_links="; fi )
$( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "${VIASH_META_NAME}" | sed "s#'#'\"'\"'#g;s#.*#meta_name='&'#" ; else echo "# meta_name="; fi )
$( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "${VIASH_META_FUNCTIONALITY_NAME}" | sed "s#'#'\"'\"'#g;s#.*#meta_functionality_name='&'#" ; else echo "# meta_functionality_name="; fi )
$( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "${VIASH_META_RESOURCES_DIR}" | sed "s#'#'\"'\"'#g;s#.*#meta_resources_dir='&'#" ; else echo "# meta_resources_dir="; fi )
@@ -1093,12 +1119,19 @@ if [[ ! -d "\$par_output" ]]; then
mkdir -p "\$par_output"
fi
extra_params=( )
if [ "\$par_keep_symbolic_links" == "true" ]; then
extra_params+=( "-d" )
fi
# Process multiple input files
IFS=";" read -ra input_files <<< "\$par_input"
for file in "\${input_files[@]}"; do
# Check if the file exists before copying
if [[ -f "\$file" ]]; then
cp "\$file" "\$par_output/"
cp \${extra_params[@]} "\$file" "\$par_output/"
echo "Copied \$file to \$par_output/"
else
echo "Warning: Input file \$file does not exist, skipping"

View File

@@ -197,9 +197,9 @@ build_info:
output: "target/executable/sync_resources"
executable: "target/executable/sync_resources/sync_resources"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -455,9 +455,9 @@ RUN rclone config create s3 s3 anonymous=true
RUN rclone config create gs gcs anonymous=true
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.created="2025-05-07T13:45:23Z"
LABEL org.opencontainers.image.created="2025-06-25T13:20:53Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="1c2d4e90541ed3c2e04a2633db86413b2548ab10"
LABEL org.opencontainers.image.revision="a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -182,9 +182,9 @@ build_info:
output: "target/executable/untar"
executable: "target/executable/untar/untar"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -455,9 +455,9 @@ RUN apt-get update && \
LABEL org.opencontainers.image.authors="Dries Schaumont, Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component untar"
LABEL org.opencontainers.image.created="2025-05-07T13:45:23Z"
LABEL org.opencontainers.image.created="2025-06-25T13:20:53Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/craftbox"
LABEL org.opencontainers.image.revision="1c2d4e90541ed3c2e04a2633db86413b2548ab10"
LABEL org.opencontainers.image.revision="a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER

View File

@@ -175,9 +175,9 @@ build_info:
output: "target/nextflow/concat_text"
executable: "target/nextflow/concat_text/main.nf"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -3262,9 +3262,9 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/concat_text",
"viash_version" : "0.9.4",
"git_commit" : "1c2d4e90541ed3c2e04a2633db86413b2548ab10",
"git_commit" : "a80fa3ef020f8124bc50d5fb85f2bdbc65235005",
"git_remote" : "https://github.com/viash-hub/craftbox",
"git_tag" : "v0.1.0-6-g1c2d4e9"
"git_tag" : "v0.1.0-7-ga80fa3e"
},
"package_config" : {
"name" : "craftbox",

View File

@@ -1,106 +1,68 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "concat_text",
"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",
"type": "object",
"definitions": {
"input arguments" : {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: List of `file`, required, example: `input?.txt.gz`, multiple_sep: `\";\"`. A list of (gzipped) text files",
"help_text": "Type: List of `file`, required, example: `input?.txt.gz`, multiple_sep: `\";\"`. A list of (gzipped) text files."
}
}
},
"output arguments" : {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"gzip_output": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Should the output be zipped?",
"help_text": "Type: `boolean_true`, default: `false`. Should the output be zipped?"
,
"default":false
}
,
"output": {
"type":
"string",
"description": "Type: `file`, default: `$id.$key.output.txt`, example: `output.txt`. File to write the output to, optionally gzipped",
"help_text": "Type: `file`, default: `$id.$key.output.txt`, example: `output.txt`. File to write the output to, optionally gzipped."
,
"default":"$id.$key.output.txt"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/input arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "concat_text",
"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",
"type": "object",
"$defs": {
"input arguments": {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "A list of (gzipped) text files.",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`, example: `[\"input?.txt.gz\"]`. "
}
}
},
{
"$ref": "#/definitions/output arguments"
"output arguments": {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"gzip_output": {
"type": "boolean",
"description": "Should the output be zipped?",
"help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
"default": false
},
"output": {
"type": "string",
"format": "path",
"description": "File to write the output to, optionally gzipped.",
"help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output.txt\"`, direction: `output`, example: `\"output.txt\"`. ",
"default": "$id.$key.output.txt"
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"nextflow input-output arguments": {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type": "string",
"description": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/input arguments"
},
{
"$ref": "#/$defs/output arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -257,9 +257,9 @@ build_info:
output: "target/nextflow/csv2fasta"
executable: "target/nextflow/csv2fasta/main.nf"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -3352,9 +3352,9 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/csv2fasta",
"viash_version" : "0.9.4",
"git_commit" : "1c2d4e90541ed3c2e04a2633db86413b2548ab10",
"git_commit" : "a80fa3ef020f8124bc50d5fb85f2bdbc65235005",
"git_remote" : "https://github.com/viash-hub/craftbox",
"git_tag" : "v0.1.0-6-g1c2d4e9"
"git_tag" : "v0.1.0-7-ga80fa3e"
},
"package_config" : {
"name" : "craftbox",

View File

@@ -1,194 +1,115 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "csv2fasta",
"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",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: `file`, required, example: `barcodes.csv`. CSV file to be processed",
"help_text": "Type: `file`, required, example: `barcodes.csv`. CSV file to be processed."
}
,
"header": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Parse the first line of the CSV file as a header",
"help_text": "Type: `boolean_true`, default: `false`. Parse the first line of the CSV file as a header.\n"
,
"default":false
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, default: `$id.$key.output.fasta`, example: `barcodes.fasta`. Output fasta file",
"help_text": "Type: `file`, default: `$id.$key.output.fasta`, example: `barcodes.fasta`. Output fasta file."
,
"default":"$id.$key.output.fasta"
}
}
},
"csv dialect options" : {
"title": "CSV dialect options",
"type": "object",
"description": "Options that can be used to override the automatically detected\ndialect of the CSV file.\n",
"properties": {
"delimiter": {
"type":
"string",
"description": "Type: `string`. Overwrite the column delimiter character",
"help_text": "Type: `string`. Overwrite the column delimiter character.\n"
}
,
"quote_character": {
"type":
"string",
"description": "Type: `string`. Overwrite the character used to denote the start and end of a quoted item",
"help_text": "Type: `string`. Overwrite the character used to denote the start and end of a quoted item.\n"
}
}
},
"csv column arguments" : {
"title": "CSV column arguments",
"type": "object",
"description": "Parameters for the selection of columns from the CSV file.\nOnly required when your CSV file contains more than 2 columns,\notherwise the first column will be used for the FASTA header\nand the second for the FASTA nucleotide sequences. This default\ncan still be overwritten by using the options below.\n",
"properties": {
"sequence_column": {
"type":
"string",
"description": "Type: `string`. Name of the column containing the sequences",
"help_text": "Type: `string`. Name of the column containing the sequences. Implies \u0027header\u0027.\nCannot be used together with \u0027sequence_column_index\u0027.\n"
}
,
"name_column": {
"type":
"string",
"description": "Type: `string`. Name of the column describing the FASTA headers",
"help_text": "Type: `string`. Name of the column describing the FASTA headers. Implies \u0027header\u0027.\nCannot be used together with \u0027name_column_index\u0027.\n"
}
,
"sequence_column_index": {
"type":
"integer",
"description": "Type: `integer`. Index of the column to use as the FASTA sequences, counter from the left and\nstarting from 0",
"help_text": "Type: `integer`. Index of the column to use as the FASTA sequences, counter from the left and\nstarting from 0. Cannot be used in combination with the \u0027sequence_column\u0027 argument.\n"
}
,
"name_column_index": {
"type":
"integer",
"description": "Type: `integer`. Index of the column to use as the FASTA headers, counter from the left and\nstarting from 0",
"help_text": "Type: `integer`. Index of the column to use as the FASTA headers, counter from the left and\nstarting from 0. Cannot be used in combination with \u0027name_column\u0027.\n"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "csv2fasta",
"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",
"type": "object",
"$defs": {
"inputs": {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type": "string",
"format": "path",
"exists": true,
"description": "CSV file to be processed.",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`, example: `\"barcodes.csv\"`. "
},
"header": {
"type": "boolean",
"description": "Parse the first line of the CSV file as a header.\n",
"help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
"default": false
}
}
},
{
"$ref": "#/definitions/outputs"
"outputs": {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type": "string",
"format": "path",
"description": "Output fasta file.",
"help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output.fasta\"`, direction: `output`, example: `\"barcodes.fasta\"`. ",
"default": "$id.$key.output.fasta"
}
}
},
{
"$ref": "#/definitions/csv dialect options"
"csv dialect options": {
"title": "CSV dialect options",
"type": "object",
"description": "Options that can be used to override the automatically detected\ndialect of the CSV file.\n",
"properties": {
"delimiter": {
"type": "string",
"description": "Overwrite the column delimiter character.\n",
"help_text": "Type: `string`, multiple: `False`. "
},
"quote_character": {
"type": "string",
"description": "Overwrite the character used to denote the start and end of a quoted item.\n",
"help_text": "Type: `string`, multiple: `False`. "
}
}
},
{
"$ref": "#/definitions/csv column arguments"
"csv column arguments": {
"title": "CSV column arguments",
"type": "object",
"description": "Parameters for the selection of columns from the CSV file.\nOnly required when your CSV file contains more than 2 columns,\notherwise the first column will be used for the FASTA header\nand the second for the FASTA nucleotide sequences. This default\ncan still be overwritten by using the options below.\n",
"properties": {
"sequence_column": {
"type": "string",
"description": "Name of the column containing the sequences",
"help_text": "Type: `string`, multiple: `False`. "
},
"name_column": {
"type": "string",
"description": "Name of the column describing the FASTA headers",
"help_text": "Type: `string`, multiple: `False`. "
},
"sequence_column_index": {
"type": "integer",
"description": "Index of the column to use as the FASTA sequences, counter from the left and\nstarting from 0",
"help_text": "Type: `integer`, multiple: `False`. "
},
"name_column_index": {
"type": "integer",
"description": "Index of the column to use as the FASTA headers, counter from the left and\nstarting from 0",
"help_text": "Type: `integer`, multiple: `False`. "
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"nextflow input-output arguments": {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type": "string",
"description": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/inputs"
},
{
"$ref": "#/$defs/outputs"
},
{
"$ref": "#/$defs/csv dialect options"
},
{
"$ref": "#/$defs/csv column arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -36,6 +36,13 @@ argument_groups:
direction: "output"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--keep_symbolic_links"
alternatives:
- "-d"
description: "Preserve symbolic links."
info: null
direction: "input"
resources:
- type: "bash_script"
path: "script.sh"
@@ -146,9 +153,9 @@ build_info:
output: "target/nextflow/move_files_to_directory"
executable: "target/nextflow/move_files_to_directory/main.nf"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -3082,6 +3082,15 @@ meta = [
"direction" : "output",
"multiple" : false,
"multiple_sep" : ";"
},
{
"type" : "boolean_true",
"name" : "--keep_symbolic_links",
"alternatives" : [
"-d"
],
"description" : "Preserve symbolic links.",
"direction" : "input"
}
]
}
@@ -3219,9 +3228,9 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/move_files_to_directory",
"viash_version" : "0.9.4",
"git_commit" : "1c2d4e90541ed3c2e04a2633db86413b2548ab10",
"git_commit" : "a80fa3ef020f8124bc50d5fb85f2bdbc65235005",
"git_remote" : "https://github.com/viash-hub/craftbox",
"git_tag" : "v0.1.0-6-g1c2d4e9"
"git_tag" : "v0.1.0-7-ga80fa3e"
},
"package_config" : {
"name" : "craftbox",
@@ -3270,6 +3279,7 @@ set -eo pipefail
# 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_OUTPUT+x} ]; then echo "${VIASH_PAR_OUTPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_output='&'#" ; else echo "# par_output="; fi )
$( if [ ! -z ${VIASH_PAR_KEEP_SYMBOLIC_LINKS+x} ]; then echo "${VIASH_PAR_KEEP_SYMBOLIC_LINKS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_keep_symbolic_links='&'#" ; else echo "# par_keep_symbolic_links="; fi )
$( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "${VIASH_META_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_name='&'#" ; else echo "# meta_name="; fi )
$( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "${VIASH_META_FUNCTIONALITY_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_functionality_name='&'#" ; else echo "# meta_functionality_name="; fi )
$( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "${VIASH_META_RESOURCES_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_resources_dir='&'#" ; else echo "# meta_resources_dir="; fi )
@@ -3296,12 +3306,19 @@ if [[ ! -d "\\$par_output" ]]; then
mkdir -p "\\$par_output"
fi
extra_params=( )
if [ "\\$par_keep_symbolic_links" == "true" ]; then
extra_params+=( "-d" )
fi
# Process multiple input files
IFS=";" read -ra input_files <<< "\\$par_input"
for file in "\\${input_files[@]}"; do
# Check if the file exists before copying
if [[ -f "\\$file" ]]; then
cp "\\$file" "\\$par_output/"
cp \\${extra_params[@]} "\\$file" "\\$par_output/"
echo "Copied \\$file to \\$par_output/"
else
echo "Warning: Input file \\$file does not exist, skipping"

View File

@@ -1,81 +1,58 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "move_files_to_directory",
"description": "This component copies one or multiple files to the same destination directory, creating the output directory if it doesn\u0027t exist.",
"type": "object",
"definitions": {
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: List of `file`, required, multiple_sep: `\";\"`. Paths of the files that will be copied into the output directory",
"help_text": "Type: List of `file`, required, multiple_sep: `\";\"`. Paths of the files that will be copied into the output directory."
}
,
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output`. Path to output directory",
"help_text": "Type: `file`, required, default: `$id.$key.output`. Path to output directory"
,
"default":"$id.$key.output"
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "move_files_to_directory",
"description": "This component copies one or multiple files to the same destination directory, creating the output directory if it doesn't exist.",
"type": "object",
"$defs": {
"arguments": {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type": "array",
"items": {
"type": "string"
},
"format": "path",
"exists": true,
"description": "Paths of the files that will be copied into the output directory.",
"help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
},
"output": {
"type": "string",
"format": "path",
"description": "Path to output directory",
"help_text": "Type: `file`, multiple: `False`, required, default: `\"$id.$key.output\"`, direction: `output`. ",
"default": "$id.$key.output"
},
"keep_symbolic_links": {
"type": "boolean",
"description": "Preserve symbolic links.",
"help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
"default": false
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"nextflow input-output arguments": {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type": "string",
"description": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -197,9 +197,9 @@ build_info:
output: "target/nextflow/sync_resources"
executable: "target/nextflow/sync_resources/main.nf"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -3294,9 +3294,9 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/sync_resources",
"viash_version" : "0.9.4",
"git_commit" : "1c2d4e90541ed3c2e04a2633db86413b2548ab10",
"git_commit" : "a80fa3ef020f8124bc50d5fb85f2bdbc65235005",
"git_remote" : "https://github.com/viash-hub/craftbox",
"git_tag" : "v0.1.0-6-g1c2d4e9"
"git_tag" : "v0.1.0-7-ga80fa3e"
},
"package_config" : {
"name" : "craftbox",

View File

@@ -1,131 +1,83 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "sync_resources",
"description": "Sync a Viash package\u0027s 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",
"type": "object",
"definitions": {
"inputs" : {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: `file`, default: `_viash.yaml`. Path to the _viash",
"help_text": "Type: `file`, default: `_viash.yaml`. Path to the _viash.yaml project configuration file."
,
"default":"_viash.yaml"
}
}
},
"outputs" : {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, default: `.`. Path to the directory where the resources will be synced to",
"help_text": "Type: `file`, default: `.`. Path to the directory where the resources will be synced to."
,
"default":"."
}
}
},
"arguments" : {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"dryrun": {
"type":
"boolean",
"description": "Type: `boolean_true`, default: `false`. Does not display the operations performed from the specified command",
"help_text": "Type: `boolean_true`, default: `false`. Does not display the operations performed from the specified command."
,
"default":false
}
,
"exclude": {
"type":
"string",
"description": "Type: List of `string`, multiple_sep: `\";\"`. Exclude all files or objects from the command that matches the specified pattern",
"help_text": "Type: List of `string`, multiple_sep: `\";\"`. Exclude all files or objects from the command that matches the specified pattern."
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/inputs"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "sync_resources",
"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",
"type": "object",
"$defs": {
"inputs": {
"title": "Inputs",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type": "string",
"format": "path",
"description": "Path to the _viash.yaml project configuration file.",
"help_text": "Type: `file`, multiple: `False`, default: `\"_viash.yaml\"`, direction: `input`. ",
"default": "_viash.yaml"
}
}
},
{
"$ref": "#/definitions/outputs"
"outputs": {
"title": "Outputs",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type": "string",
"format": "path",
"description": "Path to the directory where the resources will be synced to.",
"help_text": "Type: `file`, multiple: `False`, default: `\".\"`, direction: `output`. ",
"default": "."
}
}
},
{
"$ref": "#/definitions/arguments"
"arguments": {
"title": "Arguments",
"type": "object",
"description": "No description",
"properties": {
"dryrun": {
"type": "boolean",
"description": "Does not display the operations performed from the specified command.",
"help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
"default": false
},
"exclude": {
"type": "array",
"items": {
"type": "string"
},
"description": "Exclude all files or objects from the command that matches the specified pattern.",
"help_text": "Type: `string`, multiple: `True`. "
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"nextflow input-output arguments": {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type": "string",
"description": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/inputs"
},
{
"$ref": "#/$defs/outputs"
},
{
"$ref": "#/$defs/arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}

View File

@@ -182,9 +182,9 @@ build_info:
output: "target/nextflow/untar"
executable: "target/nextflow/untar/main.nf"
viash_version: "0.9.4"
git_commit: "1c2d4e90541ed3c2e04a2633db86413b2548ab10"
git_commit: "a80fa3ef020f8124bc50d5fb85f2bdbc65235005"
git_remote: "https://github.com/viash-hub/craftbox"
git_tag: "v0.1.0-6-g1c2d4e9"
git_tag: "v0.1.0-7-ga80fa3e"
package_config:
name: "craftbox"
version: "main"

View File

@@ -3273,9 +3273,9 @@ meta = [
"engine" : "docker|native",
"output" : "target/nextflow/untar",
"viash_version" : "0.9.4",
"git_commit" : "1c2d4e90541ed3c2e04a2633db86413b2548ab10",
"git_commit" : "a80fa3ef020f8124bc50d5fb85f2bdbc65235005",
"git_remote" : "https://github.com/viash-hub/craftbox",
"git_tag" : "v0.1.0-6-g1c2d4e9"
"git_tag" : "v0.1.0-7-ga80fa3e"
},
"package_config" : {
"name" : "craftbox",

View File

@@ -1,119 +1,74 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "untar",
"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",
"type": "object",
"definitions": {
"input arguments" : {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type":
"string",
"description": "Type: `file`, required. Tarball file to be unpacked",
"help_text": "Type: `file`, required. Tarball file to be unpacked."
}
}
},
"output arguments" : {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type":
"string",
"description": "Type: `file`, required, default: `$id.$key.output`. Directory to write the contents of the ",
"help_text": "Type: `file`, required, default: `$id.$key.output`. Directory to write the contents of the .tar file to."
,
"default":"$id.$key.output"
}
}
},
"other arguments" : {
"title": "Other arguments",
"type": "object",
"description": "No description",
"properties": {
"exclude": {
"type":
"string",
"description": "Type: `string`, example: `docs/figures`. Prevents any file or member whose name matches the shell wildcard (pattern) from being extracted",
"help_text": "Type: `string`, example: `docs/figures`. Prevents any file or member whose name matches the shell wildcard (pattern) from being extracted."
}
}
},
"nextflow input-output arguments" : {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type":
"string",
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
}
,
"param_list": {
"type":
"string",
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/input arguments"
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "untar",
"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",
"type": "object",
"$defs": {
"input arguments": {
"title": "Input arguments",
"type": "object",
"description": "No description",
"properties": {
"input": {
"type": "string",
"format": "path",
"exists": true,
"description": "Tarball file to be unpacked.",
"help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
}
}
},
{
"$ref": "#/definitions/output arguments"
"output arguments": {
"title": "Output arguments",
"type": "object",
"description": "No description",
"properties": {
"output": {
"type": "string",
"format": "path",
"description": "Directory to write the contents of the .tar file to.",
"help_text": "Type: `file`, multiple: `False`, required, default: `\"$id.$key.output\"`, direction: `output`. ",
"default": "$id.$key.output"
}
}
},
{
"$ref": "#/definitions/other arguments"
"other arguments": {
"title": "Other arguments",
"type": "object",
"description": "No description",
"properties": {
"exclude": {
"type": "string",
"description": "Prevents any file or member whose name matches the shell wildcard (pattern) from being extracted.",
"help_text": "Type: `string`, multiple: `False`, example: `\"docs/figures\"`. "
}
}
},
{
"$ref": "#/definitions/nextflow input-output arguments"
"nextflow input-output arguments": {
"title": "Nextflow input-output arguments",
"type": "object",
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
"properties": {
"publish_dir": {
"type": "string",
"description": "Path to an output directory.",
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
}
}
}
]
},
"allOf": [
{
"$ref": "#/$defs/input arguments"
},
{
"$ref": "#/$defs/output arguments"
},
{
"$ref": "#/$defs/other arguments"
},
{
"$ref": "#/$defs/nextflow input-output arguments"
}
]
}