Build branch v0.1 with version v0.1.1 (ff28cec)
Build pipeline: viash-hub.demultiplex.v0.1-79dfz
Source commit: ff28cec6bd
Source message: Merge main and fix conflicts
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
name: demultiplex
|
||||
version: v0.1.0
|
||||
version: v0.1.1
|
||||
description: |
|
||||
Demultiplexing pipeline
|
||||
license: MIT
|
||||
@@ -12,7 +12,7 @@ info:
|
||||
- path: https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz
|
||||
dest: test_resources
|
||||
|
||||
viash_version: 0.9.0-RC6
|
||||
viash_version: 0.9.0
|
||||
|
||||
config_mods: |
|
||||
.requirements.commands := ['ps']
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
manifest {
|
||||
name = "demultiplex"
|
||||
version = "v0.1.0"
|
||||
version = "v0.1.1"
|
||||
defaultBranch = "main"
|
||||
nextflowVersion = "!>=20.12.1-edge"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "interop_summary_to_csv"
|
||||
namespace: "io"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -116,7 +116,7 @@ engines:
|
||||
id: "docker"
|
||||
image: "debian:stable-slim"
|
||||
target_registry: "images.viash-hub.com"
|
||||
target_tag: "v0.1.0"
|
||||
target_tag: "v0.1.1"
|
||||
namespace_separator: "/"
|
||||
setup:
|
||||
- type: "apt"
|
||||
@@ -140,25 +140,25 @@ build_info:
|
||||
engine: "docker|native"
|
||||
output: "target/executable/io/interop_summary_to_csv"
|
||||
executable: "target/executable/io/interop_summary_to_csv/interop_summary_to_csv"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# interop_summary_to_csv v0.1.0
|
||||
# interop_summary_to_csv v0.1.1
|
||||
#
|
||||
# This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
# derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
# Data Intuitive.
|
||||
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
# Intuitive.
|
||||
#
|
||||
# The component may contain files which fall under a different license. The
|
||||
# authors of this component should specify the license in the header of such
|
||||
@@ -54,24 +54,24 @@ function ViashRemoveFlags {
|
||||
# $1 : Should always be set to ${BASH_SOURCE[0]}
|
||||
# returns : The absolute path of the bash file
|
||||
function ViashSourceDir {
|
||||
SOURCE="$1"
|
||||
while [ -h "$SOURCE" ]; do
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
|
||||
local source="$1"
|
||||
while [ -h "$source" ]; do
|
||||
local dir="$( cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd )"
|
||||
source="$(readlink "$source")"
|
||||
[[ $source != /* ]] && source="$dir/$source"
|
||||
done
|
||||
cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd
|
||||
cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd
|
||||
}
|
||||
# ViashFindTargetDir: return the path of the '.build.yaml' file, following symlinks
|
||||
# usage : ViashFindTargetDir 'ScriptPath'
|
||||
# $1 : The location from where to start the upward search
|
||||
# returns : The absolute path of the '.build.yaml' file
|
||||
function ViashFindTargetDir {
|
||||
SOURCE="$1"
|
||||
while [[ "$SOURCE" != "" && ! -e "$SOURCE/.build.yaml" ]]; do
|
||||
SOURCE=${SOURCE%/*}
|
||||
local source="$1"
|
||||
while [[ "$source" != "" && ! -e "$source/.build.yaml" ]]; do
|
||||
source=${source%/*}
|
||||
done
|
||||
echo $SOURCE
|
||||
echo $source
|
||||
}
|
||||
# see https://en.wikipedia.org/wiki/Syslog#Severity_level
|
||||
VIASH_LOGCODE_EMERGENCY=0
|
||||
@@ -171,7 +171,7 @@ VIASH_META_TEMP_DIR="$VIASH_TEMP"
|
||||
|
||||
# ViashHelp: Display helpful explanation about this executable
|
||||
function ViashHelp {
|
||||
echo "interop_summary_to_csv v0.1.0"
|
||||
echo "interop_summary_to_csv v0.1.1"
|
||||
echo ""
|
||||
echo "Input arguments:"
|
||||
echo " --input"
|
||||
@@ -205,9 +205,9 @@ function ViashDockerInstallationCheck {
|
||||
fi
|
||||
|
||||
ViashDebug "Checking whether the Docker daemon is running"
|
||||
save=$-; set +e
|
||||
docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
|
||||
out=$?
|
||||
local save=$-; set +e
|
||||
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
|
||||
local out=$?
|
||||
[[ $save =~ e ]] && set -e
|
||||
if [ $out -ne 0 ]; then
|
||||
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
|
||||
@@ -259,9 +259,9 @@ function ViashDockerPull {
|
||||
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
|
||||
docker pull $1 && return 0 || return 1
|
||||
else
|
||||
save=$-; set +e
|
||||
local save=$-; set +e
|
||||
docker pull $1 2> /dev/null > /dev/null
|
||||
out=$?
|
||||
local out=$?
|
||||
[[ $save =~ e ]] && set -e
|
||||
if [ $out -ne 0 ]; then
|
||||
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
|
||||
@@ -281,7 +281,8 @@ function ViashDockerPull {
|
||||
# echo $? # returns '1'
|
||||
function ViashDockerPush {
|
||||
ViashNotice "Pushing image to '$1'"
|
||||
save=$-; set +e
|
||||
local save=$-; set +e
|
||||
local out
|
||||
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
|
||||
docker push $1
|
||||
out=$?
|
||||
@@ -305,9 +306,9 @@ function ViashDockerPush {
|
||||
# examples:
|
||||
# ViashDockerPullElseBuild mynewcomponent
|
||||
function ViashDockerPullElseBuild {
|
||||
save=$-; set +e
|
||||
local save=$-; set +e
|
||||
ViashDockerPull $1
|
||||
out=$?
|
||||
local out=$?
|
||||
[[ $save =~ e ]] && set -e
|
||||
if [ $out -ne 0 ]; then
|
||||
ViashDockerBuild $@
|
||||
@@ -469,10 +470,10 @@ tar -C /tmp/ --no-same-owner --no-same-permissions -xvf /tmp/interop.tar.gz && \
|
||||
mv /tmp/interop-1.3.1-Linux-GNU/bin/index-summary /tmp/interop-1.3.1-Linux-GNU/bin/summary /usr/local/bin/
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component io interop_summary_to_csv"
|
||||
LABEL org.opencontainers.image.created="2024-06-24T12:57:03Z"
|
||||
LABEL org.opencontainers.image.created="2024-09-12T15:46:50Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/demultiplex"
|
||||
LABEL org.opencontainers.image.revision="3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
LABEL org.opencontainers.image.version="v0.1.0"
|
||||
LABEL org.opencontainers.image.revision="ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
LABEL org.opencontainers.image.version="v0.1.1"
|
||||
|
||||
VIASHDOCKER
|
||||
fi
|
||||
@@ -498,6 +499,9 @@ function ViashDockerBuildArgs {
|
||||
# ViashAbsolutePath /foo/bar/.. # returns /foo
|
||||
function ViashAbsolutePath {
|
||||
local thePath
|
||||
local parr
|
||||
local outp
|
||||
local len
|
||||
if [[ ! "$1" =~ ^/ ]]; then
|
||||
thePath="$PWD/$1"
|
||||
else
|
||||
@@ -528,14 +532,17 @@ function ViashAbsolutePath {
|
||||
)
|
||||
}
|
||||
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
|
||||
# $1 : The parameter value
|
||||
# returns : New parameter
|
||||
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
|
||||
# $1 : The parameter value
|
||||
# returns : New parameter
|
||||
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
|
||||
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
|
||||
# examples:
|
||||
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
|
||||
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
|
||||
function ViashDockerAutodetectMount {
|
||||
abs_path=$(ViashAbsolutePath "$1")
|
||||
local abs_path=$(ViashAbsolutePath "$1")
|
||||
local mount_source
|
||||
local base_name
|
||||
if [ -d "$abs_path" ]; then
|
||||
mount_source="$abs_path"
|
||||
base_name=""
|
||||
@@ -543,7 +550,7 @@ function ViashDockerAutodetectMount {
|
||||
mount_source=`dirname "$abs_path"`
|
||||
base_name=`basename "$abs_path"`
|
||||
fi
|
||||
mount_target="/viash_automount$mount_source"
|
||||
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
|
||||
if [ -z "$base_name" ]; then
|
||||
echo "$mount_target"
|
||||
else
|
||||
@@ -551,7 +558,9 @@ function ViashDockerAutodetectMount {
|
||||
fi
|
||||
}
|
||||
function ViashDockerAutodetectMountArg {
|
||||
abs_path=$(ViashAbsolutePath "$1")
|
||||
local abs_path=$(ViashAbsolutePath "$1")
|
||||
local mount_source
|
||||
local base_name
|
||||
if [ -d "$abs_path" ]; then
|
||||
mount_source="$abs_path"
|
||||
base_name=""
|
||||
@@ -559,17 +568,22 @@ function ViashDockerAutodetectMountArg {
|
||||
mount_source=`dirname "$abs_path"`
|
||||
base_name=`basename "$abs_path"`
|
||||
fi
|
||||
mount_target="/viash_automount$mount_source"
|
||||
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
|
||||
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
|
||||
echo "--volume=\"$mount_source:$mount_target\""
|
||||
}
|
||||
function ViashDockerStripAutomount {
|
||||
abs_path=$(ViashAbsolutePath "$1")
|
||||
echo "${abs_path#/viash_automount}"
|
||||
local abs_path=$(ViashAbsolutePath "$1")
|
||||
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
|
||||
}
|
||||
# initialise variables
|
||||
VIASH_DIRECTORY_MOUNTS=()
|
||||
|
||||
# configure default docker automount prefix if it is unset
|
||||
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
|
||||
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
|
||||
fi
|
||||
|
||||
# initialise docker variables
|
||||
VIASH_DOCKER_RUN_ARGS=(-i --rm)
|
||||
|
||||
@@ -595,7 +609,7 @@ while [[ $# -gt 0 ]]; do
|
||||
shift 1
|
||||
;;
|
||||
--version)
|
||||
echo "interop_summary_to_csv v0.1.0"
|
||||
echo "interop_summary_to_csv v0.1.1"
|
||||
exit
|
||||
;;
|
||||
--input)
|
||||
@@ -653,6 +667,18 @@ while [[ $# -gt 0 ]]; do
|
||||
VIASH_MODE='dockerfile'
|
||||
shift 1
|
||||
;;
|
||||
---docker_run_args)
|
||||
VIASH_DOCKER_RUN_ARGS+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
---docker_run_args=*)
|
||||
VIASH_DOCKER_RUN_ARGS+=("$(ViashRemoveFlags "$1")")
|
||||
shift 1
|
||||
;;
|
||||
---docker_image_id)
|
||||
VIASH_MODE='docker_image_id'
|
||||
shift 1
|
||||
;;
|
||||
---debug)
|
||||
VIASH_MODE='debug'
|
||||
shift 1
|
||||
@@ -707,13 +733,17 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
|
||||
|
||||
# determine docker image id
|
||||
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
|
||||
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/demultiplex/io/interop_summary_to_csv:v0.1.0'
|
||||
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/demultiplex/io/interop_summary_to_csv:v0.1.1'
|
||||
fi
|
||||
|
||||
# print dockerfile
|
||||
if [ "$VIASH_MODE" == "dockerfile" ]; then
|
||||
ViashDockerfile "$VIASH_ENGINE_ID"
|
||||
exit 0
|
||||
|
||||
elif [ "$VIASH_MODE" == "docker_image_id" ]; then
|
||||
echo "$VIASH_DOCKER_IMAGE_ID"
|
||||
exit 0
|
||||
|
||||
# enter docker container
|
||||
elif [[ "$VIASH_MODE" == "debug" ]]; then
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "untar"
|
||||
namespace: "io"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -130,7 +130,7 @@ engines:
|
||||
id: "docker"
|
||||
image: "debian:stable-slim"
|
||||
target_registry: "images.viash-hub.com"
|
||||
target_tag: "v0.1.0"
|
||||
target_tag: "v0.1.1"
|
||||
namespace_separator: "/"
|
||||
setup:
|
||||
- type: "apt"
|
||||
@@ -147,25 +147,25 @@ build_info:
|
||||
engine: "docker|native"
|
||||
output: "target/executable/io/untar"
|
||||
executable: "target/executable/io/untar/untar"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# untar v0.1.0
|
||||
# untar v0.1.1
|
||||
#
|
||||
# This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
# derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
# Data Intuitive.
|
||||
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
# Intuitive.
|
||||
#
|
||||
# The component may contain files which fall under a different license. The
|
||||
# authors of this component should specify the license in the header of such
|
||||
@@ -54,24 +54,24 @@ function ViashRemoveFlags {
|
||||
# $1 : Should always be set to ${BASH_SOURCE[0]}
|
||||
# returns : The absolute path of the bash file
|
||||
function ViashSourceDir {
|
||||
SOURCE="$1"
|
||||
while [ -h "$SOURCE" ]; do
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
|
||||
local source="$1"
|
||||
while [ -h "$source" ]; do
|
||||
local dir="$( cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd )"
|
||||
source="$(readlink "$source")"
|
||||
[[ $source != /* ]] && source="$dir/$source"
|
||||
done
|
||||
cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd
|
||||
cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd
|
||||
}
|
||||
# ViashFindTargetDir: return the path of the '.build.yaml' file, following symlinks
|
||||
# usage : ViashFindTargetDir 'ScriptPath'
|
||||
# $1 : The location from where to start the upward search
|
||||
# returns : The absolute path of the '.build.yaml' file
|
||||
function ViashFindTargetDir {
|
||||
SOURCE="$1"
|
||||
while [[ "$SOURCE" != "" && ! -e "$SOURCE/.build.yaml" ]]; do
|
||||
SOURCE=${SOURCE%/*}
|
||||
local source="$1"
|
||||
while [[ "$source" != "" && ! -e "$source/.build.yaml" ]]; do
|
||||
source=${source%/*}
|
||||
done
|
||||
echo $SOURCE
|
||||
echo $source
|
||||
}
|
||||
# see https://en.wikipedia.org/wiki/Syslog#Severity_level
|
||||
VIASH_LOGCODE_EMERGENCY=0
|
||||
@@ -171,7 +171,7 @@ VIASH_META_TEMP_DIR="$VIASH_TEMP"
|
||||
|
||||
# ViashHelp: Display helpful explanation about this executable
|
||||
function ViashHelp {
|
||||
echo "untar v0.1.0"
|
||||
echo "untar v0.1.1"
|
||||
echo ""
|
||||
echo "Unpack a .tar file. When the contents of the .tar file is just a single"
|
||||
echo "directory,"
|
||||
@@ -215,9 +215,9 @@ function ViashDockerInstallationCheck {
|
||||
fi
|
||||
|
||||
ViashDebug "Checking whether the Docker daemon is running"
|
||||
save=$-; set +e
|
||||
docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
|
||||
out=$?
|
||||
local save=$-; set +e
|
||||
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
|
||||
local out=$?
|
||||
[[ $save =~ e ]] && set -e
|
||||
if [ $out -ne 0 ]; then
|
||||
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
|
||||
@@ -269,9 +269,9 @@ function ViashDockerPull {
|
||||
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
|
||||
docker pull $1 && return 0 || return 1
|
||||
else
|
||||
save=$-; set +e
|
||||
local save=$-; set +e
|
||||
docker pull $1 2> /dev/null > /dev/null
|
||||
out=$?
|
||||
local out=$?
|
||||
[[ $save =~ e ]] && set -e
|
||||
if [ $out -ne 0 ]; then
|
||||
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
|
||||
@@ -291,7 +291,8 @@ function ViashDockerPull {
|
||||
# echo $? # returns '1'
|
||||
function ViashDockerPush {
|
||||
ViashNotice "Pushing image to '$1'"
|
||||
save=$-; set +e
|
||||
local save=$-; set +e
|
||||
local out
|
||||
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
|
||||
docker push $1
|
||||
out=$?
|
||||
@@ -315,9 +316,9 @@ function ViashDockerPush {
|
||||
# examples:
|
||||
# ViashDockerPullElseBuild mynewcomponent
|
||||
function ViashDockerPullElseBuild {
|
||||
save=$-; set +e
|
||||
local save=$-; set +e
|
||||
ViashDockerPull $1
|
||||
out=$?
|
||||
local out=$?
|
||||
[[ $save =~ e ]] && set -e
|
||||
if [ $out -ne 0 ]; then
|
||||
ViashDockerBuild $@
|
||||
@@ -475,10 +476,10 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component io untar"
|
||||
LABEL org.opencontainers.image.created="2024-06-24T12:57:03Z"
|
||||
LABEL org.opencontainers.image.created="2024-09-12T15:46:50Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/demultiplex"
|
||||
LABEL org.opencontainers.image.revision="3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
LABEL org.opencontainers.image.version="v0.1.0"
|
||||
LABEL org.opencontainers.image.revision="ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
LABEL org.opencontainers.image.version="v0.1.1"
|
||||
|
||||
VIASHDOCKER
|
||||
fi
|
||||
@@ -504,6 +505,9 @@ function ViashDockerBuildArgs {
|
||||
# ViashAbsolutePath /foo/bar/.. # returns /foo
|
||||
function ViashAbsolutePath {
|
||||
local thePath
|
||||
local parr
|
||||
local outp
|
||||
local len
|
||||
if [[ ! "$1" =~ ^/ ]]; then
|
||||
thePath="$PWD/$1"
|
||||
else
|
||||
@@ -534,14 +538,17 @@ function ViashAbsolutePath {
|
||||
)
|
||||
}
|
||||
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
|
||||
# $1 : The parameter value
|
||||
# returns : New parameter
|
||||
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
|
||||
# $1 : The parameter value
|
||||
# returns : New parameter
|
||||
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
|
||||
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
|
||||
# examples:
|
||||
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
|
||||
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
|
||||
function ViashDockerAutodetectMount {
|
||||
abs_path=$(ViashAbsolutePath "$1")
|
||||
local abs_path=$(ViashAbsolutePath "$1")
|
||||
local mount_source
|
||||
local base_name
|
||||
if [ -d "$abs_path" ]; then
|
||||
mount_source="$abs_path"
|
||||
base_name=""
|
||||
@@ -549,7 +556,7 @@ function ViashDockerAutodetectMount {
|
||||
mount_source=`dirname "$abs_path"`
|
||||
base_name=`basename "$abs_path"`
|
||||
fi
|
||||
mount_target="/viash_automount$mount_source"
|
||||
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
|
||||
if [ -z "$base_name" ]; then
|
||||
echo "$mount_target"
|
||||
else
|
||||
@@ -557,7 +564,9 @@ function ViashDockerAutodetectMount {
|
||||
fi
|
||||
}
|
||||
function ViashDockerAutodetectMountArg {
|
||||
abs_path=$(ViashAbsolutePath "$1")
|
||||
local abs_path=$(ViashAbsolutePath "$1")
|
||||
local mount_source
|
||||
local base_name
|
||||
if [ -d "$abs_path" ]; then
|
||||
mount_source="$abs_path"
|
||||
base_name=""
|
||||
@@ -565,17 +574,22 @@ function ViashDockerAutodetectMountArg {
|
||||
mount_source=`dirname "$abs_path"`
|
||||
base_name=`basename "$abs_path"`
|
||||
fi
|
||||
mount_target="/viash_automount$mount_source"
|
||||
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
|
||||
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
|
||||
echo "--volume=\"$mount_source:$mount_target\""
|
||||
}
|
||||
function ViashDockerStripAutomount {
|
||||
abs_path=$(ViashAbsolutePath "$1")
|
||||
echo "${abs_path#/viash_automount}"
|
||||
local abs_path=$(ViashAbsolutePath "$1")
|
||||
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
|
||||
}
|
||||
# initialise variables
|
||||
VIASH_DIRECTORY_MOUNTS=()
|
||||
|
||||
# configure default docker automount prefix if it is unset
|
||||
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
|
||||
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
|
||||
fi
|
||||
|
||||
# initialise docker variables
|
||||
VIASH_DOCKER_RUN_ARGS=(-i --rm)
|
||||
|
||||
@@ -601,7 +615,7 @@ while [[ $# -gt 0 ]]; do
|
||||
shift 1
|
||||
;;
|
||||
--version)
|
||||
echo "untar v0.1.0"
|
||||
echo "untar v0.1.1"
|
||||
exit
|
||||
;;
|
||||
--input)
|
||||
@@ -665,6 +679,18 @@ while [[ $# -gt 0 ]]; do
|
||||
VIASH_MODE='dockerfile'
|
||||
shift 1
|
||||
;;
|
||||
---docker_run_args)
|
||||
VIASH_DOCKER_RUN_ARGS+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
---docker_run_args=*)
|
||||
VIASH_DOCKER_RUN_ARGS+=("$(ViashRemoveFlags "$1")")
|
||||
shift 1
|
||||
;;
|
||||
---docker_image_id)
|
||||
VIASH_MODE='docker_image_id'
|
||||
shift 1
|
||||
;;
|
||||
---debug)
|
||||
VIASH_MODE='debug'
|
||||
shift 1
|
||||
@@ -719,13 +745,17 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
|
||||
|
||||
# determine docker image id
|
||||
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
|
||||
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/demultiplex/io/untar:v0.1.0'
|
||||
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/demultiplex/io/untar:v0.1.1'
|
||||
fi
|
||||
|
||||
# print dockerfile
|
||||
if [ "$VIASH_MODE" == "dockerfile" ]; then
|
||||
ViashDockerfile "$VIASH_ENGINE_ID"
|
||||
exit 0
|
||||
|
||||
elif [ "$VIASH_MODE" == "docker_image_id" ]; then
|
||||
echo "$VIASH_DOCKER_IMAGE_ID"
|
||||
exit 0
|
||||
|
||||
# enter docker container
|
||||
elif [[ "$VIASH_MODE" == "debug" ]]; then
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "combine_samples"
|
||||
namespace: "dataflow"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -138,25 +138,25 @@ build_info:
|
||||
engine: "native|native"
|
||||
output: "target/nextflow/dataflow/combine_samples"
|
||||
executable: "target/nextflow/dataflow/combine_samples/main.nf"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// combine_samples v0.1.0
|
||||
// combine_samples v0.1.1
|
||||
//
|
||||
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
// Data Intuitive.
|
||||
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
// Intuitive.
|
||||
//
|
||||
// The component may contain files which fall under a different license. The
|
||||
// authors of this component should specify the license in the header of such
|
||||
@@ -760,8 +760,11 @@ def runEach(Map args) {
|
||||
def fromState_ = args.fromState
|
||||
def toState_ = args.toState
|
||||
def filter_ = args.filter
|
||||
def runIf_ = args.runIf
|
||||
def id_ = args.id
|
||||
|
||||
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
|
||||
|
||||
workflow runEachWf {
|
||||
take: input_ch
|
||||
main:
|
||||
@@ -783,7 +786,20 @@ def runEach(Map args) {
|
||||
[new_id] + tup.drop(1)
|
||||
}
|
||||
: filter_ch
|
||||
def data_ch = id_ch | map{tup ->
|
||||
def chPassthrough = null
|
||||
def chRun = null
|
||||
if (runIf_) {
|
||||
def idRunIfBranch = id_ch.branch{ tup ->
|
||||
run: runIf_(tup[0], tup[1], comp_)
|
||||
passthrough: true
|
||||
}
|
||||
chPassthrough = idRunIfBranch.passthrough
|
||||
chRun = idRunIfBranch.run
|
||||
} else {
|
||||
chRun = id_ch
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
def data_ch = chRun | map{tup ->
|
||||
def new_data = tup[1]
|
||||
if (fromState_ instanceof Map) {
|
||||
new_data = fromState_.collectEntries{ key0, key1 ->
|
||||
@@ -821,8 +837,11 @@ def runEach(Map args) {
|
||||
[tup[0], new_state] + tup.drop(3)
|
||||
}
|
||||
: out_ch
|
||||
|
||||
def return_ch = post_ch
|
||||
| concat(chPassthrough)
|
||||
|
||||
post_ch
|
||||
return_ch
|
||||
}
|
||||
|
||||
// mix all results
|
||||
@@ -1598,8 +1617,8 @@ def findStates(Map params, Map config) {
|
||||
// construct renameMap
|
||||
if (args.rename_keys) {
|
||||
def renameMap = args.rename_keys.collectEntries{renameString ->
|
||||
def split = renameString.split(";")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
|
||||
def split = renameString.split(":")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
|
||||
split
|
||||
}
|
||||
|
||||
@@ -1709,7 +1728,9 @@ def publishStates(Map args) {
|
||||
|
||||
def yamlFilename = yamlTemplate_
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
|
||||
// TODO: do the pathnames in state_ match up with the outputFilenames_?
|
||||
|
||||
@@ -1780,7 +1801,9 @@ def publishStatesByConfig(Map args) {
|
||||
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
|
||||
def yamlFilename = yamlTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
|
||||
|
||||
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
|
||||
@@ -1822,7 +1845,9 @@ def publishStatesByConfig(Map args) {
|
||||
// instantiate the template
|
||||
def filename = filenameTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
if (par.multiple) {
|
||||
// if the parameter is multiple: true, the filename
|
||||
// should contain a wildcard '*' that is replaced with
|
||||
@@ -2626,30 +2651,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
tuple
|
||||
}
|
||||
|
||||
def chModifiedFiltered = workflowArgs.filter ?
|
||||
chModified | filter{workflowArgs.filter(it)} :
|
||||
chModified
|
||||
|
||||
def chRun = null
|
||||
def chPassthrough = null
|
||||
if (workflowArgs.runIf) {
|
||||
def runIfBranch = chModifiedFiltered.branch{ tup ->
|
||||
def runIfBranch = chModified.branch{ tup ->
|
||||
run: workflowArgs.runIf(tup[0], tup[1])
|
||||
passthrough: true
|
||||
}
|
||||
chRun = runIfBranch.run
|
||||
chPassthrough = runIfBranch.passthrough
|
||||
} else {
|
||||
chRun = chModifiedFiltered
|
||||
chRun = chModified
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
|
||||
def chRunFiltered = workflowArgs.filter ?
|
||||
chRun | filter{workflowArgs.filter(it)} :
|
||||
chRun
|
||||
|
||||
def chArgs = workflowArgs.fromState ?
|
||||
chRun | map{
|
||||
chRunFiltered | map{
|
||||
def new_data = workflowArgs.fromState(it.take(2))
|
||||
[it[0], new_data]
|
||||
} :
|
||||
chRun | map {tup -> tup.take(2)}
|
||||
chRunFiltered | map {tup -> tup.take(2)}
|
||||
|
||||
// fill in defaults
|
||||
def chArgsWithDefaults = chArgs
|
||||
@@ -2720,7 +2746,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
// | view{"chInitialOutput: ${it.take(3)}"}
|
||||
|
||||
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
|
||||
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
|
||||
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
|
||||
// input tuple format: [join_id, id, output, prev_state, ...]
|
||||
// output tuple format: [join_id, id, new_state, ...]
|
||||
| map{ tup ->
|
||||
@@ -2780,7 +2806,7 @@ meta = [
|
||||
"config": processConfig(readJsonBlob('''{
|
||||
"name" : "combine_samples",
|
||||
"namespace" : "dataflow",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"argument_groups" : [
|
||||
{
|
||||
"name" : "Input arguments",
|
||||
@@ -2945,13 +2971,13 @@ meta = [
|
||||
"runner" : "nextflow",
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/dataflow/combine_samples",
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"git_commit" : "3d229bef584233f228330ff881dad685b92bf1e1",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add",
|
||||
"git_remote" : "https://github.com/viash-hub/demultiplex"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "demultiplex",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"description" : "Demultiplexing pipeline\n",
|
||||
"info" : {
|
||||
"test_resources" : [
|
||||
@@ -2961,14 +2987,14 @@ meta = [
|
||||
}
|
||||
]
|
||||
},
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"viash_version" : "0.9.0",
|
||||
"source" : "src",
|
||||
"target" : "target",
|
||||
"config_mods" : [
|
||||
".requirements.commands := ['ps']\n",
|
||||
".engines += { type: \\"native\\" }",
|
||||
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
],
|
||||
"keywords" : [
|
||||
"bioinformatics",
|
||||
|
||||
@@ -2,7 +2,7 @@ manifest {
|
||||
name = 'dataflow/combine_samples'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'v0.1.0'
|
||||
version = 'v0.1.1'
|
||||
description = 'Combine fastq files from across samples into one event with a list of fastq files per orientation.'
|
||||
}
|
||||
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
"output_forward": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: List of `file`, required, default: `$id.$key.output_forward_*.output_forward_*`, multiple_sep: `\":\"`. ",
|
||||
"help_text": "Type: List of `file`, required, default: `$id.$key.output_forward_*.output_forward_*`, multiple_sep: `\":\"`. "
|
||||
"description": "Type: List of `file`, required, default: `$id.$key.output_forward_*.output_forward_*`, multiple_sep: `\";\"`. ",
|
||||
"help_text": "Type: List of `file`, required, default: `$id.$key.output_forward_*.output_forward_*`, multiple_sep: `\";\"`. "
|
||||
,
|
||||
"default": "$id.$key.output_forward_*.output_forward_*"
|
||||
}
|
||||
@@ -68,8 +68,8 @@
|
||||
"output_reverse": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: List of `file`, default: `$id.$key.output_reverse_*.output_reverse_*`, multiple_sep: `\":\"`. ",
|
||||
"help_text": "Type: List of `file`, default: `$id.$key.output_reverse_*.output_reverse_*`, multiple_sep: `\":\"`. "
|
||||
"description": "Type: List of `file`, default: `$id.$key.output_reverse_*.output_reverse_*`, multiple_sep: `\";\"`. ",
|
||||
"help_text": "Type: List of `file`, default: `$id.$key.output_reverse_*.output_reverse_*`, multiple_sep: `\";\"`. "
|
||||
,
|
||||
"default": "$id.$key.output_reverse_*.output_reverse_*"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "gather_fastqs_and_validate"
|
||||
namespace: "dataflow"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -132,25 +132,25 @@ build_info:
|
||||
engine: "native|native"
|
||||
output: "target/nextflow/dataflow/gather_fastqs_and_validate"
|
||||
executable: "target/nextflow/dataflow/gather_fastqs_and_validate/main.nf"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// gather_fastqs_and_validate v0.1.0
|
||||
// gather_fastqs_and_validate v0.1.1
|
||||
//
|
||||
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
// Data Intuitive.
|
||||
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
// Intuitive.
|
||||
//
|
||||
// The component may contain files which fall under a different license. The
|
||||
// authors of this component should specify the license in the header of such
|
||||
@@ -760,8 +760,11 @@ def runEach(Map args) {
|
||||
def fromState_ = args.fromState
|
||||
def toState_ = args.toState
|
||||
def filter_ = args.filter
|
||||
def runIf_ = args.runIf
|
||||
def id_ = args.id
|
||||
|
||||
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
|
||||
|
||||
workflow runEachWf {
|
||||
take: input_ch
|
||||
main:
|
||||
@@ -783,7 +786,20 @@ def runEach(Map args) {
|
||||
[new_id] + tup.drop(1)
|
||||
}
|
||||
: filter_ch
|
||||
def data_ch = id_ch | map{tup ->
|
||||
def chPassthrough = null
|
||||
def chRun = null
|
||||
if (runIf_) {
|
||||
def idRunIfBranch = id_ch.branch{ tup ->
|
||||
run: runIf_(tup[0], tup[1], comp_)
|
||||
passthrough: true
|
||||
}
|
||||
chPassthrough = idRunIfBranch.passthrough
|
||||
chRun = idRunIfBranch.run
|
||||
} else {
|
||||
chRun = id_ch
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
def data_ch = chRun | map{tup ->
|
||||
def new_data = tup[1]
|
||||
if (fromState_ instanceof Map) {
|
||||
new_data = fromState_.collectEntries{ key0, key1 ->
|
||||
@@ -821,8 +837,11 @@ def runEach(Map args) {
|
||||
[tup[0], new_state] + tup.drop(3)
|
||||
}
|
||||
: out_ch
|
||||
|
||||
def return_ch = post_ch
|
||||
| concat(chPassthrough)
|
||||
|
||||
post_ch
|
||||
return_ch
|
||||
}
|
||||
|
||||
// mix all results
|
||||
@@ -1598,8 +1617,8 @@ def findStates(Map params, Map config) {
|
||||
// construct renameMap
|
||||
if (args.rename_keys) {
|
||||
def renameMap = args.rename_keys.collectEntries{renameString ->
|
||||
def split = renameString.split(";")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
|
||||
def split = renameString.split(":")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
|
||||
split
|
||||
}
|
||||
|
||||
@@ -1709,7 +1728,9 @@ def publishStates(Map args) {
|
||||
|
||||
def yamlFilename = yamlTemplate_
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
|
||||
// TODO: do the pathnames in state_ match up with the outputFilenames_?
|
||||
|
||||
@@ -1780,7 +1801,9 @@ def publishStatesByConfig(Map args) {
|
||||
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
|
||||
def yamlFilename = yamlTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
|
||||
|
||||
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
|
||||
@@ -1822,7 +1845,9 @@ def publishStatesByConfig(Map args) {
|
||||
// instantiate the template
|
||||
def filename = filenameTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
if (par.multiple) {
|
||||
// if the parameter is multiple: true, the filename
|
||||
// should contain a wildcard '*' that is replaced with
|
||||
@@ -2626,30 +2651,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
tuple
|
||||
}
|
||||
|
||||
def chModifiedFiltered = workflowArgs.filter ?
|
||||
chModified | filter{workflowArgs.filter(it)} :
|
||||
chModified
|
||||
|
||||
def chRun = null
|
||||
def chPassthrough = null
|
||||
if (workflowArgs.runIf) {
|
||||
def runIfBranch = chModifiedFiltered.branch{ tup ->
|
||||
def runIfBranch = chModified.branch{ tup ->
|
||||
run: workflowArgs.runIf(tup[0], tup[1])
|
||||
passthrough: true
|
||||
}
|
||||
chRun = runIfBranch.run
|
||||
chPassthrough = runIfBranch.passthrough
|
||||
} else {
|
||||
chRun = chModifiedFiltered
|
||||
chRun = chModified
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
|
||||
def chRunFiltered = workflowArgs.filter ?
|
||||
chRun | filter{workflowArgs.filter(it)} :
|
||||
chRun
|
||||
|
||||
def chArgs = workflowArgs.fromState ?
|
||||
chRun | map{
|
||||
chRunFiltered | map{
|
||||
def new_data = workflowArgs.fromState(it.take(2))
|
||||
[it[0], new_data]
|
||||
} :
|
||||
chRun | map {tup -> tup.take(2)}
|
||||
chRunFiltered | map {tup -> tup.take(2)}
|
||||
|
||||
// fill in defaults
|
||||
def chArgsWithDefaults = chArgs
|
||||
@@ -2720,7 +2746,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
// | view{"chInitialOutput: ${it.take(3)}"}
|
||||
|
||||
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
|
||||
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
|
||||
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
|
||||
// input tuple format: [join_id, id, output, prev_state, ...]
|
||||
// output tuple format: [join_id, id, new_state, ...]
|
||||
| map{ tup ->
|
||||
@@ -2780,7 +2806,7 @@ meta = [
|
||||
"config": processConfig(readJsonBlob('''{
|
||||
"name" : "gather_fastqs_and_validate",
|
||||
"namespace" : "dataflow",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"argument_groups" : [
|
||||
{
|
||||
"name" : "Input arguments",
|
||||
@@ -2938,13 +2964,13 @@ meta = [
|
||||
"runner" : "nextflow",
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/dataflow/gather_fastqs_and_validate",
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"git_commit" : "3d229bef584233f228330ff881dad685b92bf1e1",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add",
|
||||
"git_remote" : "https://github.com/viash-hub/demultiplex"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "demultiplex",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"description" : "Demultiplexing pipeline\n",
|
||||
"info" : {
|
||||
"test_resources" : [
|
||||
@@ -2954,14 +2980,14 @@ meta = [
|
||||
}
|
||||
]
|
||||
},
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"viash_version" : "0.9.0",
|
||||
"source" : "src",
|
||||
"target" : "target",
|
||||
"config_mods" : [
|
||||
".requirements.commands := ['ps']\n",
|
||||
".engines += { type: \\"native\\" }",
|
||||
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
],
|
||||
"keywords" : [
|
||||
"bioinformatics",
|
||||
|
||||
@@ -2,7 +2,7 @@ manifest {
|
||||
name = 'dataflow/gather_fastqs_and_validate'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'v0.1.0'
|
||||
version = 'v0.1.1'
|
||||
description = 'From a directory containing fastq files, gather the files per sample \nand validate according to the contents of the sample sheet.\n'
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -185,8 +185,8 @@ build_info:
|
||||
engine: "native|native"
|
||||
output: "target/nextflow/demultiplex"
|
||||
executable: "target/nextflow/demultiplex/main.nf"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
dependencies:
|
||||
- "target/nextflow/io/untar"
|
||||
@@ -198,20 +198,20 @@ build_info:
|
||||
- "target/dependencies/vsh/vsh/biobox/v0.1.0/nextflow/multiqc"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// demultiplex v0.1.0
|
||||
// demultiplex v0.1.1
|
||||
//
|
||||
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
// Data Intuitive.
|
||||
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
// Intuitive.
|
||||
//
|
||||
// The component may contain files which fall under a different license. The
|
||||
// authors of this component should specify the license in the header of such
|
||||
@@ -760,8 +760,11 @@ def runEach(Map args) {
|
||||
def fromState_ = args.fromState
|
||||
def toState_ = args.toState
|
||||
def filter_ = args.filter
|
||||
def runIf_ = args.runIf
|
||||
def id_ = args.id
|
||||
|
||||
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
|
||||
|
||||
workflow runEachWf {
|
||||
take: input_ch
|
||||
main:
|
||||
@@ -783,7 +786,20 @@ def runEach(Map args) {
|
||||
[new_id] + tup.drop(1)
|
||||
}
|
||||
: filter_ch
|
||||
def data_ch = id_ch | map{tup ->
|
||||
def chPassthrough = null
|
||||
def chRun = null
|
||||
if (runIf_) {
|
||||
def idRunIfBranch = id_ch.branch{ tup ->
|
||||
run: runIf_(tup[0], tup[1], comp_)
|
||||
passthrough: true
|
||||
}
|
||||
chPassthrough = idRunIfBranch.passthrough
|
||||
chRun = idRunIfBranch.run
|
||||
} else {
|
||||
chRun = id_ch
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
def data_ch = chRun | map{tup ->
|
||||
def new_data = tup[1]
|
||||
if (fromState_ instanceof Map) {
|
||||
new_data = fromState_.collectEntries{ key0, key1 ->
|
||||
@@ -821,8 +837,11 @@ def runEach(Map args) {
|
||||
[tup[0], new_state] + tup.drop(3)
|
||||
}
|
||||
: out_ch
|
||||
|
||||
def return_ch = post_ch
|
||||
| concat(chPassthrough)
|
||||
|
||||
post_ch
|
||||
return_ch
|
||||
}
|
||||
|
||||
// mix all results
|
||||
@@ -1598,8 +1617,8 @@ def findStates(Map params, Map config) {
|
||||
// construct renameMap
|
||||
if (args.rename_keys) {
|
||||
def renameMap = args.rename_keys.collectEntries{renameString ->
|
||||
def split = renameString.split(";")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
|
||||
def split = renameString.split(":")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
|
||||
split
|
||||
}
|
||||
|
||||
@@ -1709,7 +1728,9 @@ def publishStates(Map args) {
|
||||
|
||||
def yamlFilename = yamlTemplate_
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
|
||||
// TODO: do the pathnames in state_ match up with the outputFilenames_?
|
||||
|
||||
@@ -1780,7 +1801,9 @@ def publishStatesByConfig(Map args) {
|
||||
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
|
||||
def yamlFilename = yamlTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
|
||||
|
||||
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
|
||||
@@ -1822,7 +1845,9 @@ def publishStatesByConfig(Map args) {
|
||||
// instantiate the template
|
||||
def filename = filenameTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
if (par.multiple) {
|
||||
// if the parameter is multiple: true, the filename
|
||||
// should contain a wildcard '*' that is replaced with
|
||||
@@ -2626,30 +2651,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
tuple
|
||||
}
|
||||
|
||||
def chModifiedFiltered = workflowArgs.filter ?
|
||||
chModified | filter{workflowArgs.filter(it)} :
|
||||
chModified
|
||||
|
||||
def chRun = null
|
||||
def chPassthrough = null
|
||||
if (workflowArgs.runIf) {
|
||||
def runIfBranch = chModifiedFiltered.branch{ tup ->
|
||||
def runIfBranch = chModified.branch{ tup ->
|
||||
run: workflowArgs.runIf(tup[0], tup[1])
|
||||
passthrough: true
|
||||
}
|
||||
chRun = runIfBranch.run
|
||||
chPassthrough = runIfBranch.passthrough
|
||||
} else {
|
||||
chRun = chModifiedFiltered
|
||||
chRun = chModified
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
|
||||
def chRunFiltered = workflowArgs.filter ?
|
||||
chRun | filter{workflowArgs.filter(it)} :
|
||||
chRun
|
||||
|
||||
def chArgs = workflowArgs.fromState ?
|
||||
chRun | map{
|
||||
chRunFiltered | map{
|
||||
def new_data = workflowArgs.fromState(it.take(2))
|
||||
[it[0], new_data]
|
||||
} :
|
||||
chRun | map {tup -> tup.take(2)}
|
||||
chRunFiltered | map {tup -> tup.take(2)}
|
||||
|
||||
// fill in defaults
|
||||
def chArgsWithDefaults = chArgs
|
||||
@@ -2720,7 +2746,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
// | view{"chInitialOutput: ${it.take(3)}"}
|
||||
|
||||
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
|
||||
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
|
||||
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
|
||||
// input tuple format: [join_id, id, output, prev_state, ...]
|
||||
// output tuple format: [join_id, id, new_state, ...]
|
||||
| map{ tup ->
|
||||
@@ -2779,7 +2805,7 @@ meta = [
|
||||
"resources_dir": moduleDir.toRealPath().normalize(),
|
||||
"config": processConfig(readJsonBlob('''{
|
||||
"name" : "demultiplex",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"argument_groups" : [
|
||||
{
|
||||
"name" : "Input arguments",
|
||||
@@ -3022,13 +3048,13 @@ meta = [
|
||||
"runner" : "nextflow",
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/demultiplex",
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"git_commit" : "3d229bef584233f228330ff881dad685b92bf1e1",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add",
|
||||
"git_remote" : "https://github.com/viash-hub/demultiplex"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "demultiplex",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"description" : "Demultiplexing pipeline\n",
|
||||
"info" : {
|
||||
"test_resources" : [
|
||||
@@ -3038,14 +3064,14 @@ meta = [
|
||||
}
|
||||
]
|
||||
},
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"viash_version" : "0.9.0",
|
||||
"source" : "src",
|
||||
"target" : "target",
|
||||
"config_mods" : [
|
||||
".requirements.commands := ['ps']\n",
|
||||
".engines += { type: \\"native\\" }",
|
||||
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
],
|
||||
"keywords" : [
|
||||
"bioinformatics",
|
||||
|
||||
@@ -2,7 +2,7 @@ manifest {
|
||||
name = 'demultiplex'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'v0.1.0'
|
||||
version = 'v0.1.1'
|
||||
description = 'Demultiplexing of raw sequencing data'
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "interop_summary_to_csv"
|
||||
namespace: "io"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -116,7 +116,7 @@ engines:
|
||||
id: "docker"
|
||||
image: "debian:stable-slim"
|
||||
target_registry: "images.viash-hub.com"
|
||||
target_tag: "v0.1.0"
|
||||
target_tag: "v0.1.1"
|
||||
namespace_separator: "/"
|
||||
setup:
|
||||
- type: "apt"
|
||||
@@ -140,25 +140,25 @@ build_info:
|
||||
engine: "docker|native"
|
||||
output: "target/nextflow/io/interop_summary_to_csv"
|
||||
executable: "target/nextflow/io/interop_summary_to_csv/main.nf"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// interop_summary_to_csv v0.1.0
|
||||
// interop_summary_to_csv v0.1.1
|
||||
//
|
||||
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
// Data Intuitive.
|
||||
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
// Intuitive.
|
||||
//
|
||||
// The component may contain files which fall under a different license. The
|
||||
// authors of this component should specify the license in the header of such
|
||||
@@ -760,8 +760,11 @@ def runEach(Map args) {
|
||||
def fromState_ = args.fromState
|
||||
def toState_ = args.toState
|
||||
def filter_ = args.filter
|
||||
def runIf_ = args.runIf
|
||||
def id_ = args.id
|
||||
|
||||
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
|
||||
|
||||
workflow runEachWf {
|
||||
take: input_ch
|
||||
main:
|
||||
@@ -783,7 +786,20 @@ def runEach(Map args) {
|
||||
[new_id] + tup.drop(1)
|
||||
}
|
||||
: filter_ch
|
||||
def data_ch = id_ch | map{tup ->
|
||||
def chPassthrough = null
|
||||
def chRun = null
|
||||
if (runIf_) {
|
||||
def idRunIfBranch = id_ch.branch{ tup ->
|
||||
run: runIf_(tup[0], tup[1], comp_)
|
||||
passthrough: true
|
||||
}
|
||||
chPassthrough = idRunIfBranch.passthrough
|
||||
chRun = idRunIfBranch.run
|
||||
} else {
|
||||
chRun = id_ch
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
def data_ch = chRun | map{tup ->
|
||||
def new_data = tup[1]
|
||||
if (fromState_ instanceof Map) {
|
||||
new_data = fromState_.collectEntries{ key0, key1 ->
|
||||
@@ -821,8 +837,11 @@ def runEach(Map args) {
|
||||
[tup[0], new_state] + tup.drop(3)
|
||||
}
|
||||
: out_ch
|
||||
|
||||
def return_ch = post_ch
|
||||
| concat(chPassthrough)
|
||||
|
||||
post_ch
|
||||
return_ch
|
||||
}
|
||||
|
||||
// mix all results
|
||||
@@ -1598,8 +1617,8 @@ def findStates(Map params, Map config) {
|
||||
// construct renameMap
|
||||
if (args.rename_keys) {
|
||||
def renameMap = args.rename_keys.collectEntries{renameString ->
|
||||
def split = renameString.split(";")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
|
||||
def split = renameString.split(":")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
|
||||
split
|
||||
}
|
||||
|
||||
@@ -1709,7 +1728,9 @@ def publishStates(Map args) {
|
||||
|
||||
def yamlFilename = yamlTemplate_
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
|
||||
// TODO: do the pathnames in state_ match up with the outputFilenames_?
|
||||
|
||||
@@ -1780,7 +1801,9 @@ def publishStatesByConfig(Map args) {
|
||||
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
|
||||
def yamlFilename = yamlTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
|
||||
|
||||
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
|
||||
@@ -1822,7 +1845,9 @@ def publishStatesByConfig(Map args) {
|
||||
// instantiate the template
|
||||
def filename = filenameTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
if (par.multiple) {
|
||||
// if the parameter is multiple: true, the filename
|
||||
// should contain a wildcard '*' that is replaced with
|
||||
@@ -2626,30 +2651,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
tuple
|
||||
}
|
||||
|
||||
def chModifiedFiltered = workflowArgs.filter ?
|
||||
chModified | filter{workflowArgs.filter(it)} :
|
||||
chModified
|
||||
|
||||
def chRun = null
|
||||
def chPassthrough = null
|
||||
if (workflowArgs.runIf) {
|
||||
def runIfBranch = chModifiedFiltered.branch{ tup ->
|
||||
def runIfBranch = chModified.branch{ tup ->
|
||||
run: workflowArgs.runIf(tup[0], tup[1])
|
||||
passthrough: true
|
||||
}
|
||||
chRun = runIfBranch.run
|
||||
chPassthrough = runIfBranch.passthrough
|
||||
} else {
|
||||
chRun = chModifiedFiltered
|
||||
chRun = chModified
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
|
||||
def chRunFiltered = workflowArgs.filter ?
|
||||
chRun | filter{workflowArgs.filter(it)} :
|
||||
chRun
|
||||
|
||||
def chArgs = workflowArgs.fromState ?
|
||||
chRun | map{
|
||||
chRunFiltered | map{
|
||||
def new_data = workflowArgs.fromState(it.take(2))
|
||||
[it[0], new_data]
|
||||
} :
|
||||
chRun | map {tup -> tup.take(2)}
|
||||
chRunFiltered | map {tup -> tup.take(2)}
|
||||
|
||||
// fill in defaults
|
||||
def chArgsWithDefaults = chArgs
|
||||
@@ -2720,7 +2746,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
// | view{"chInitialOutput: ${it.take(3)}"}
|
||||
|
||||
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
|
||||
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
|
||||
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
|
||||
// input tuple format: [join_id, id, output, prev_state, ...]
|
||||
// output tuple format: [join_id, id, new_state, ...]
|
||||
| map{ tup ->
|
||||
@@ -2780,7 +2806,7 @@ meta = [
|
||||
"config": processConfig(readJsonBlob('''{
|
||||
"name" : "interop_summary_to_csv",
|
||||
"namespace" : "io",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"argument_groups" : [
|
||||
{
|
||||
"name" : "Input arguments",
|
||||
@@ -2921,7 +2947,7 @@ meta = [
|
||||
"id" : "docker",
|
||||
"image" : "debian:stable-slim",
|
||||
"target_registry" : "images.viash-hub.com",
|
||||
"target_tag" : "v0.1.0",
|
||||
"target_tag" : "v0.1.1",
|
||||
"namespace_separator" : "/",
|
||||
"setup" : [
|
||||
{
|
||||
@@ -2950,13 +2976,13 @@ meta = [
|
||||
"runner" : "nextflow",
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/io/interop_summary_to_csv",
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"git_commit" : "3d229bef584233f228330ff881dad685b92bf1e1",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add",
|
||||
"git_remote" : "https://github.com/viash-hub/demultiplex"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "demultiplex",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"description" : "Demultiplexing pipeline\n",
|
||||
"info" : {
|
||||
"test_resources" : [
|
||||
@@ -2966,14 +2992,14 @@ meta = [
|
||||
}
|
||||
]
|
||||
},
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"viash_version" : "0.9.0",
|
||||
"source" : "src",
|
||||
"target" : "target",
|
||||
"config_mods" : [
|
||||
".requirements.commands := ['ps']\n",
|
||||
".engines += { type: \\"native\\" }",
|
||||
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
],
|
||||
"keywords" : [
|
||||
"bioinformatics",
|
||||
@@ -3115,7 +3141,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
|
||||
val = val.join(par.multiple_sep)
|
||||
}
|
||||
if (par.direction == "output" && par.type == "file") {
|
||||
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
|
||||
val = val
|
||||
.replaceAll('\\$id', id)
|
||||
.replaceAll('\\$\\{id\\}', id)
|
||||
.replaceAll('\\$key', key)
|
||||
.replaceAll('\\$\\{key\\}', key)
|
||||
}
|
||||
[parName, val]
|
||||
}
|
||||
@@ -3246,7 +3276,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
def createParentStr = meta.config.allArguments
|
||||
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
|
||||
.collect { par ->
|
||||
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
|
||||
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
|
||||
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
|
||||
}
|
||||
.join("\n")
|
||||
|
||||
@@ -3254,8 +3285,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
def inputFileExports = meta.config.allArguments
|
||||
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
|
||||
.collect { par ->
|
||||
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
|
||||
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
|
||||
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
|
||||
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
|
||||
}
|
||||
|
||||
// NOTE: if using docker, use /tmp instead of tmpDir!
|
||||
@@ -3292,6 +3323,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
def procStr =
|
||||
"""nextflow.enable.dsl=2
|
||||
|
|
||||
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|
||||
|process $procKey {$drctvStrs
|
||||
|input:
|
||||
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
|
||||
@@ -3303,10 +3335,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
|$stub
|
||||
|\"\"\"
|
||||
|script:$assertStr
|
||||
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|
||||
|def parInject = args
|
||||
| .findAll{key, value -> value != null}
|
||||
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
|
||||
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
|
||||
| .join("\\n")
|
||||
|\"\"\"
|
||||
|# meta exports
|
||||
@@ -3391,7 +3422,7 @@ meta["defaults"] = [
|
||||
"container" : {
|
||||
"registry" : "images.viash-hub.com",
|
||||
"image" : "vsh/demultiplex/io/interop_summary_to_csv",
|
||||
"tag" : "v0.1.0"
|
||||
"tag" : "v0.1.1"
|
||||
},
|
||||
"tag" : "$id"
|
||||
}'''),
|
||||
|
||||
@@ -2,7 +2,7 @@ manifest {
|
||||
name = 'io/interop_summary_to_csv'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'v0.1.0'
|
||||
version = 'v0.1.1'
|
||||
}
|
||||
|
||||
process.container = 'nextflow/bash:latest'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: "untar"
|
||||
namespace: "io"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Input arguments"
|
||||
arguments:
|
||||
@@ -130,7 +130,7 @@ engines:
|
||||
id: "docker"
|
||||
image: "debian:stable-slim"
|
||||
target_registry: "images.viash-hub.com"
|
||||
target_tag: "v0.1.0"
|
||||
target_tag: "v0.1.1"
|
||||
namespace_separator: "/"
|
||||
setup:
|
||||
- type: "apt"
|
||||
@@ -147,25 +147,25 @@ build_info:
|
||||
engine: "docker|native"
|
||||
output: "target/nextflow/io/untar"
|
||||
executable: "target/nextflow/io/untar/main.nf"
|
||||
viash_version: "0.9.0-RC6"
|
||||
git_commit: "3d229bef584233f228330ff881dad685b92bf1e1"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add"
|
||||
git_remote: "https://github.com/viash-hub/demultiplex"
|
||||
package_config:
|
||||
name: "demultiplex"
|
||||
version: "v0.1.0"
|
||||
version: "v0.1.1"
|
||||
description: "Demultiplexing pipeline\n"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "https://raw.githubusercontent.com/nf-core/test-datasets/demultiplex/testdata/NovaSeq6000/200624_A00834_0183_BHMTFYDRXX.tar.gz"
|
||||
dest: "test_resources"
|
||||
viash_version: "0.9.0-RC6"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "bioinformatics"
|
||||
- "sequence"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// untar v0.1.0
|
||||
// untar v0.1.1
|
||||
//
|
||||
// This wrapper script is auto-generated by viash 0.9.0-RC6 and is thus a
|
||||
// derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
|
||||
// Data Intuitive.
|
||||
// This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
|
||||
// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
|
||||
// Intuitive.
|
||||
//
|
||||
// The component may contain files which fall under a different license. The
|
||||
// authors of this component should specify the license in the header of such
|
||||
@@ -760,8 +760,11 @@ def runEach(Map args) {
|
||||
def fromState_ = args.fromState
|
||||
def toState_ = args.toState
|
||||
def filter_ = args.filter
|
||||
def runIf_ = args.runIf
|
||||
def id_ = args.id
|
||||
|
||||
assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf."
|
||||
|
||||
workflow runEachWf {
|
||||
take: input_ch
|
||||
main:
|
||||
@@ -783,7 +786,20 @@ def runEach(Map args) {
|
||||
[new_id] + tup.drop(1)
|
||||
}
|
||||
: filter_ch
|
||||
def data_ch = id_ch | map{tup ->
|
||||
def chPassthrough = null
|
||||
def chRun = null
|
||||
if (runIf_) {
|
||||
def idRunIfBranch = id_ch.branch{ tup ->
|
||||
run: runIf_(tup[0], tup[1], comp_)
|
||||
passthrough: true
|
||||
}
|
||||
chPassthrough = idRunIfBranch.passthrough
|
||||
chRun = idRunIfBranch.run
|
||||
} else {
|
||||
chRun = id_ch
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
def data_ch = chRun | map{tup ->
|
||||
def new_data = tup[1]
|
||||
if (fromState_ instanceof Map) {
|
||||
new_data = fromState_.collectEntries{ key0, key1 ->
|
||||
@@ -821,8 +837,11 @@ def runEach(Map args) {
|
||||
[tup[0], new_state] + tup.drop(3)
|
||||
}
|
||||
: out_ch
|
||||
|
||||
def return_ch = post_ch
|
||||
| concat(chPassthrough)
|
||||
|
||||
post_ch
|
||||
return_ch
|
||||
}
|
||||
|
||||
// mix all results
|
||||
@@ -1598,8 +1617,8 @@ def findStates(Map params, Map config) {
|
||||
// construct renameMap
|
||||
if (args.rename_keys) {
|
||||
def renameMap = args.rename_keys.collectEntries{renameString ->
|
||||
def split = renameString.split(";")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey,newKey:oldKey'"
|
||||
def split = renameString.split(":")
|
||||
assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values"
|
||||
split
|
||||
}
|
||||
|
||||
@@ -1709,7 +1728,9 @@ def publishStates(Map args) {
|
||||
|
||||
def yamlFilename = yamlTemplate_
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
|
||||
// TODO: do the pathnames in state_ match up with the outputFilenames_?
|
||||
|
||||
@@ -1780,7 +1801,9 @@ def publishStatesByConfig(Map args) {
|
||||
def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml'
|
||||
def yamlFilename = yamlTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent()
|
||||
|
||||
// the processed state is a list of [key, value, inputPath, outputFilename] tuples, where
|
||||
@@ -1822,7 +1845,9 @@ def publishStatesByConfig(Map args) {
|
||||
// instantiate the template
|
||||
def filename = filenameTemplate
|
||||
.replaceAll('\\$id', id_)
|
||||
.replaceAll('\\$\\{id\\}', id_)
|
||||
.replaceAll('\\$key', key_)
|
||||
.replaceAll('\\$\\{key\\}', key_)
|
||||
if (par.multiple) {
|
||||
// if the parameter is multiple: true, the filename
|
||||
// should contain a wildcard '*' that is replaced with
|
||||
@@ -2626,30 +2651,31 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
tuple
|
||||
}
|
||||
|
||||
def chModifiedFiltered = workflowArgs.filter ?
|
||||
chModified | filter{workflowArgs.filter(it)} :
|
||||
chModified
|
||||
|
||||
def chRun = null
|
||||
def chPassthrough = null
|
||||
if (workflowArgs.runIf) {
|
||||
def runIfBranch = chModifiedFiltered.branch{ tup ->
|
||||
def runIfBranch = chModified.branch{ tup ->
|
||||
run: workflowArgs.runIf(tup[0], tup[1])
|
||||
passthrough: true
|
||||
}
|
||||
chRun = runIfBranch.run
|
||||
chPassthrough = runIfBranch.passthrough
|
||||
} else {
|
||||
chRun = chModifiedFiltered
|
||||
chRun = chModified
|
||||
chPassthrough = Channel.empty()
|
||||
}
|
||||
|
||||
def chRunFiltered = workflowArgs.filter ?
|
||||
chRun | filter{workflowArgs.filter(it)} :
|
||||
chRun
|
||||
|
||||
def chArgs = workflowArgs.fromState ?
|
||||
chRun | map{
|
||||
chRunFiltered | map{
|
||||
def new_data = workflowArgs.fromState(it.take(2))
|
||||
[it[0], new_data]
|
||||
} :
|
||||
chRun | map {tup -> tup.take(2)}
|
||||
chRunFiltered | map {tup -> tup.take(2)}
|
||||
|
||||
// fill in defaults
|
||||
def chArgsWithDefaults = chArgs
|
||||
@@ -2720,7 +2746,7 @@ def workflowFactory(Map args, Map defaultWfArgs, Map meta) {
|
||||
// | view{"chInitialOutput: ${it.take(3)}"}
|
||||
|
||||
// join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...]
|
||||
def chNewState = safeJoin(chInitialOutput, chModifiedFiltered, key_)
|
||||
def chNewState = safeJoin(chInitialOutput, chRunFiltered, key_)
|
||||
// input tuple format: [join_id, id, output, prev_state, ...]
|
||||
// output tuple format: [join_id, id, new_state, ...]
|
||||
| map{ tup ->
|
||||
@@ -2780,7 +2806,7 @@ meta = [
|
||||
"config": processConfig(readJsonBlob('''{
|
||||
"name" : "untar",
|
||||
"namespace" : "io",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"argument_groups" : [
|
||||
{
|
||||
"name" : "Input arguments",
|
||||
@@ -2940,7 +2966,7 @@ meta = [
|
||||
"id" : "docker",
|
||||
"image" : "debian:stable-slim",
|
||||
"target_registry" : "images.viash-hub.com",
|
||||
"target_tag" : "v0.1.0",
|
||||
"target_tag" : "v0.1.1",
|
||||
"namespace_separator" : "/",
|
||||
"setup" : [
|
||||
{
|
||||
@@ -2962,13 +2988,13 @@ meta = [
|
||||
"runner" : "nextflow",
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/io/untar",
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"git_commit" : "3d229bef584233f228330ff881dad685b92bf1e1",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "ff28cec6bd0ff4f8e52c6b2cf0c9cc990cf20add",
|
||||
"git_remote" : "https://github.com/viash-hub/demultiplex"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "demultiplex",
|
||||
"version" : "v0.1.0",
|
||||
"version" : "v0.1.1",
|
||||
"description" : "Demultiplexing pipeline\n",
|
||||
"info" : {
|
||||
"test_resources" : [
|
||||
@@ -2978,14 +3004,14 @@ meta = [
|
||||
}
|
||||
]
|
||||
},
|
||||
"viash_version" : "0.9.0-RC6",
|
||||
"viash_version" : "0.9.0",
|
||||
"source" : "src",
|
||||
"target" : "target",
|
||||
"config_mods" : [
|
||||
".requirements.commands := ['ps']\n",
|
||||
".engines += { type: \\"native\\" }",
|
||||
".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'",
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.0'"
|
||||
".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
],
|
||||
"keywords" : [
|
||||
"bioinformatics",
|
||||
@@ -3157,7 +3183,11 @@ def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) {
|
||||
val = val.join(par.multiple_sep)
|
||||
}
|
||||
if (par.direction == "output" && par.type == "file") {
|
||||
val = val.replaceAll('\\$id', id).replaceAll('\\$key', key)
|
||||
val = val
|
||||
.replaceAll('\\$id', id)
|
||||
.replaceAll('\\$\\{id\\}', id)
|
||||
.replaceAll('\\$key', key)
|
||||
.replaceAll('\\$\\{key\\}', key)
|
||||
}
|
||||
[parName, val]
|
||||
}
|
||||
@@ -3288,7 +3318,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
def createParentStr = meta.config.allArguments
|
||||
.findAll { it.type == "file" && it.direction == "output" && it.create_parent }
|
||||
.collect { par ->
|
||||
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"] : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }"
|
||||
def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]"
|
||||
"\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }"
|
||||
}
|
||||
.join("\n")
|
||||
|
||||
@@ -3296,8 +3327,8 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
def inputFileExports = meta.config.allArguments
|
||||
.findAll { it.type == "file" && it.direction.toLowerCase() == "input" }
|
||||
.collect { par ->
|
||||
def viash_par_contents = "(viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName})"
|
||||
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}=\\\"\" + ${viash_par_contents} + \"\\\"\"}"
|
||||
def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}"
|
||||
"\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}"
|
||||
}
|
||||
|
||||
// NOTE: if using docker, use /tmp instead of tmpDir!
|
||||
@@ -3334,6 +3365,7 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
def procStr =
|
||||
"""nextflow.enable.dsl=2
|
||||
|
|
||||
|def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") }
|
||||
|process $procKey {$drctvStrs
|
||||
|input:
|
||||
| tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources")
|
||||
@@ -3345,10 +3377,9 @@ def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) {
|
||||
|$stub
|
||||
|\"\"\"
|
||||
|script:$assertStr
|
||||
|def escapeText = { s -> s.toString().replaceAll('([`"])', '\\\\\\\\\$1') }
|
||||
|def parInject = args
|
||||
| .findAll{key, value -> value != null}
|
||||
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}=\\\"\${escapeText(value)}\\\""}
|
||||
| .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"}
|
||||
| .join("\\n")
|
||||
|\"\"\"
|
||||
|# meta exports
|
||||
@@ -3433,7 +3464,7 @@ meta["defaults"] = [
|
||||
"container" : {
|
||||
"registry" : "images.viash-hub.com",
|
||||
"image" : "vsh/demultiplex/io/untar",
|
||||
"tag" : "v0.1.0"
|
||||
"tag" : "v0.1.1"
|
||||
},
|
||||
"tag" : "$id"
|
||||
}'''),
|
||||
|
||||
@@ -2,7 +2,7 @@ manifest {
|
||||
name = 'io/untar'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'v0.1.0'
|
||||
version = 'v0.1.1'
|
||||
description = 'Unpack a .tar file. When the contents of the .tar file is just a single directory,\nput the contents of the directory into the output folder instead of that directory.\n'
|
||||
}
|
||||
|
||||
|
||||
1
test_resources
Symbolic link
1
test_resources
Symbolic link
@@ -0,0 +1 @@
|
||||
/work/viash_hub_resources/viash-hub/demultiplex/ebb861b02ab66db004c32fa46573bb1e/200624_A00834_0183_BHMTFYDRXX.tar.gz
|
||||
Reference in New Issue
Block a user