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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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!"
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user