|
|
|
|
@@ -450,9 +450,9 @@ RUN apt-get update && \
|
|
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
|
|
|
LABEL org.opencontainers.image.description="Companion container for running component io publish"
|
|
|
|
|
LABEL org.opencontainers.image.created="2025-04-29T14:41:50Z"
|
|
|
|
|
LABEL org.opencontainers.image.created="2025-05-14T08:05:50Z"
|
|
|
|
|
LABEL org.opencontainers.image.source="https://github.com/viash-hub/demultiplex"
|
|
|
|
|
LABEL org.opencontainers.image.revision="7a14841ac6d2aeac5a647dc896550e9474124bb3"
|
|
|
|
|
LABEL org.opencontainers.image.revision="f591b7849fe63b27602b2a759c1089d5dee1ecaa"
|
|
|
|
|
LABEL org.opencontainers.image.version="main"
|
|
|
|
|
|
|
|
|
|
VIASHDOCKER
|
|
|
|
|
@@ -591,6 +591,9 @@ function ViashHelp {
|
|
|
|
|
echo " type: file, required parameter, file must exist"
|
|
|
|
|
echo " Location where to write the run information to."
|
|
|
|
|
echo ""
|
|
|
|
|
echo " --input_demultiplexer_logs"
|
|
|
|
|
echo " type: file, required parameter, file must exist"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Output arguments:"
|
|
|
|
|
echo " --output"
|
|
|
|
|
echo " type: file, output, file must exist"
|
|
|
|
|
@@ -608,6 +611,10 @@ function ViashHelp {
|
|
|
|
|
echo " type: file, output, file must exist"
|
|
|
|
|
echo " default: run_information.csv"
|
|
|
|
|
echo ""
|
|
|
|
|
echo " --output_demultiplexer_logs"
|
|
|
|
|
echo " type: file, output, file must exist"
|
|
|
|
|
echo " default: demultiplexer_logs"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Viash built in Computational Requirements:"
|
|
|
|
|
echo " ---cpus=INT"
|
|
|
|
|
echo " Number of CPUs to use"
|
|
|
|
|
@@ -708,6 +715,17 @@ while [[ $# -gt 0 ]]; do
|
|
|
|
|
VIASH_PAR_INPUT_RUN_INFORMATION=$(ViashRemoveFlags "$1")
|
|
|
|
|
shift 1
|
|
|
|
|
;;
|
|
|
|
|
--input_demultiplexer_logs)
|
|
|
|
|
[ -n "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS" ] && ViashError Bad arguments for option \'--input_demultiplexer_logs\': \'$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
|
|
|
|
|
VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS="$2"
|
|
|
|
|
[ $# -lt 2 ] && ViashError Not enough arguments passed to --input_demultiplexer_logs. Use "--help" to get more information on the parameters. && exit 1
|
|
|
|
|
shift 2
|
|
|
|
|
;;
|
|
|
|
|
--input_demultiplexer_logs=*)
|
|
|
|
|
[ -n "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS" ] && ViashError Bad arguments for option \'--input_demultiplexer_logs=*\': \'$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
|
|
|
|
|
VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS=$(ViashRemoveFlags "$1")
|
|
|
|
|
shift 1
|
|
|
|
|
;;
|
|
|
|
|
--output)
|
|
|
|
|
[ -n "$VIASH_PAR_OUTPUT" ] && ViashError Bad arguments for option \'--output\': \'$VIASH_PAR_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
|
|
|
|
|
VIASH_PAR_OUTPUT="$2"
|
|
|
|
|
@@ -752,6 +770,17 @@ while [[ $# -gt 0 ]]; do
|
|
|
|
|
VIASH_PAR_OUTPUT_RUN_INFORMATION=$(ViashRemoveFlags "$1")
|
|
|
|
|
shift 1
|
|
|
|
|
;;
|
|
|
|
|
--output_demultiplexer_logs)
|
|
|
|
|
[ -n "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ] && ViashError Bad arguments for option \'--output_demultiplexer_logs\': \'$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
|
|
|
|
|
VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS="$2"
|
|
|
|
|
[ $# -lt 2 ] && ViashError Not enough arguments passed to --output_demultiplexer_logs. Use "--help" to get more information on the parameters. && exit 1
|
|
|
|
|
shift 2
|
|
|
|
|
;;
|
|
|
|
|
--output_demultiplexer_logs=*)
|
|
|
|
|
[ -n "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ] && ViashError Bad arguments for option \'--output_demultiplexer_logs=*\': \'$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
|
|
|
|
|
VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS=$(ViashRemoveFlags "$1")
|
|
|
|
|
shift 1
|
|
|
|
|
;;
|
|
|
|
|
---engine)
|
|
|
|
|
VIASH_ENGINE_ID="$2"
|
|
|
|
|
shift 2
|
|
|
|
|
@@ -940,6 +969,10 @@ if [ -z ${VIASH_PAR_INPUT_RUN_INFORMATION+x} ]; then
|
|
|
|
|
ViashError '--input_run_information' is a required argument. Use "--help" to get more information on the parameters.
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if [ -z ${VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS+x} ]; then
|
|
|
|
|
ViashError '--input_demultiplexer_logs' is a required argument. Use "--help" to get more information on the parameters.
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if [ -z ${VIASH_META_NAME+x} ]; then
|
|
|
|
|
ViashError 'name' is a required argument. Use "--help" to get more information on the parameters.
|
|
|
|
|
exit 1
|
|
|
|
|
@@ -978,6 +1011,9 @@ fi
|
|
|
|
|
if [ -z ${VIASH_PAR_OUTPUT_RUN_INFORMATION+x} ]; then
|
|
|
|
|
VIASH_PAR_OUTPUT_RUN_INFORMATION="run_information.csv"
|
|
|
|
|
fi
|
|
|
|
|
if [ -z ${VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS+x} ]; then
|
|
|
|
|
VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS="demultiplexer_logs"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# check whether required files exist
|
|
|
|
|
if [ ! -z "$VIASH_PAR_INPUT" ] && [ ! -e "$VIASH_PAR_INPUT" ]; then
|
|
|
|
|
@@ -1004,6 +1040,10 @@ if [ ! -z "$VIASH_PAR_INPUT_RUN_INFORMATION" ] && [ ! -e "$VIASH_PAR_INPUT_RUN_I
|
|
|
|
|
ViashError "Input file '$VIASH_PAR_INPUT_RUN_INFORMATION' does not exist."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS" ] && [ ! -e "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS" ]; then
|
|
|
|
|
ViashError "Input file '$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS' does not exist."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# check whether parameters values are of the right type
|
|
|
|
|
if [[ -n "$VIASH_META_CPUS" ]]; then
|
|
|
|
|
@@ -1092,6 +1132,9 @@ fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT_RUN_INFORMATION" ] && [ ! -d "$(dirname "$VIASH_PAR_OUTPUT_RUN_INFORMATION")" ]; then
|
|
|
|
|
mkdir -p "$(dirname "$VIASH_PAR_OUTPUT_RUN_INFORMATION")"
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ] && [ ! -d "$(dirname "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS")" ]; then
|
|
|
|
|
mkdir -p "$(dirname "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS")"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$VIASH_ENGINE_ID" == "native" ] ; then
|
|
|
|
|
if [ "$VIASH_MODE" == "run" ]; then
|
|
|
|
|
@@ -1128,6 +1171,10 @@ if [ ! -z "$VIASH_PAR_INPUT_RUN_INFORMATION" ]; then
|
|
|
|
|
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_INPUT_RUN_INFORMATION")" )
|
|
|
|
|
VIASH_PAR_INPUT_RUN_INFORMATION=$(ViashDockerAutodetectMount "$VIASH_PAR_INPUT_RUN_INFORMATION")
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS" ]; then
|
|
|
|
|
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS")" )
|
|
|
|
|
VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS=$(ViashDockerAutodetectMount "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS")
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT" ]; then
|
|
|
|
|
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_OUTPUT")" )
|
|
|
|
|
VIASH_PAR_OUTPUT=$(ViashDockerAutodetectMount "$VIASH_PAR_OUTPUT")
|
|
|
|
|
@@ -1148,6 +1195,11 @@ if [ ! -z "$VIASH_PAR_OUTPUT_RUN_INFORMATION" ]; then
|
|
|
|
|
VIASH_PAR_OUTPUT_RUN_INFORMATION=$(ViashDockerAutodetectMount "$VIASH_PAR_OUTPUT_RUN_INFORMATION")
|
|
|
|
|
VIASH_CHOWN_VARS+=( "$VIASH_PAR_OUTPUT_RUN_INFORMATION" )
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ]; then
|
|
|
|
|
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS")" )
|
|
|
|
|
VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS=$(ViashDockerAutodetectMount "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS")
|
|
|
|
|
VIASH_CHOWN_VARS+=( "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" )
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then
|
|
|
|
|
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_RESOURCES_DIR")" )
|
|
|
|
|
VIASH_META_RESOURCES_DIR=$(ViashDockerAutodetectMount "$VIASH_META_RESOURCES_DIR")
|
|
|
|
|
@@ -1221,10 +1273,12 @@ $( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_INPUT_FALCO+x} ]; then echo "${VIASH_PAR_INPUT_FALCO}" | sed "s#'#'\"'\"'#g;s#.*#par_input_falco='&'#" ; else echo "# par_input_falco="; fi )
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_INPUT_MULTIQC+x} ]; then echo "${VIASH_PAR_INPUT_MULTIQC}" | sed "s#'#'\"'\"'#g;s#.*#par_input_multiqc='&'#" ; else echo "# par_input_multiqc="; fi )
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_INPUT_RUN_INFORMATION+x} ]; then echo "${VIASH_PAR_INPUT_RUN_INFORMATION}" | sed "s#'#'\"'\"'#g;s#.*#par_input_run_information='&'#" ; else echo "# par_input_run_information="; fi )
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS+x} ]; then echo "${VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS}" | sed "s#'#'\"'\"'#g;s#.*#par_input_demultiplexer_logs='&'#" ; else echo "# par_input_demultiplexer_logs="; 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_OUTPUT_FALCO+x} ]; then echo "${VIASH_PAR_OUTPUT_FALCO}" | sed "s#'#'\"'\"'#g;s#.*#par_output_falco='&'#" ; else echo "# par_output_falco="; fi )
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_OUTPUT_MULTIQC+x} ]; then echo "${VIASH_PAR_OUTPUT_MULTIQC}" | sed "s#'#'\"'\"'#g;s#.*#par_output_multiqc='&'#" ; else echo "# par_output_multiqc="; fi )
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_OUTPUT_RUN_INFORMATION+x} ]; then echo "${VIASH_PAR_OUTPUT_RUN_INFORMATION}" | sed "s#'#'\"'\"'#g;s#.*#par_output_run_information='&'#" ; else echo "# par_output_run_information="; fi )
|
|
|
|
|
$( if [ ! -z ${VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS+x} ]; then echo "${VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS}" | sed "s#'#'\"'\"'#g;s#.*#par_output_demultiplexer_logs='&'#" ; else echo "# par_output_demultiplexer_logs="; 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 )
|
|
|
|
|
@@ -1252,6 +1306,7 @@ set -eo pipefail
|
|
|
|
|
declare -A input_output_mapping=(["par_input"]="par_output"
|
|
|
|
|
["par_input_multiqc"]="par_output_multiqc"
|
|
|
|
|
["par_input_run_information"]="par_output_run_information"
|
|
|
|
|
["par_input_demultiplexer_logs"]="par_output_demultiplexer_logs"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
for input_argument_name in "\${!input_output_mapping[@]}"
|
|
|
|
|
@@ -1310,6 +1365,9 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
|
|
|
|
|
if [ ! -z "$VIASH_PAR_INPUT_RUN_INFORMATION" ]; then
|
|
|
|
|
VIASH_PAR_INPUT_RUN_INFORMATION=$(ViashDockerStripAutomount "$VIASH_PAR_INPUT_RUN_INFORMATION")
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS" ]; then
|
|
|
|
|
VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS=$(ViashDockerStripAutomount "$VIASH_PAR_INPUT_DEMULTIPLEXER_LOGS")
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT" ]; then
|
|
|
|
|
VIASH_PAR_OUTPUT=$(ViashDockerStripAutomount "$VIASH_PAR_OUTPUT")
|
|
|
|
|
fi
|
|
|
|
|
@@ -1322,6 +1380,9 @@ if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT_RUN_INFORMATION" ]; then
|
|
|
|
|
VIASH_PAR_OUTPUT_RUN_INFORMATION=$(ViashDockerStripAutomount "$VIASH_PAR_OUTPUT_RUN_INFORMATION")
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ]; then
|
|
|
|
|
VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS=$(ViashDockerStripAutomount "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS")
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then
|
|
|
|
|
VIASH_META_RESOURCES_DIR=$(ViashDockerStripAutomount "$VIASH_META_RESOURCES_DIR")
|
|
|
|
|
fi
|
|
|
|
|
@@ -1354,6 +1415,10 @@ if [ ! -z "$VIASH_PAR_OUTPUT_RUN_INFORMATION" ] && [ ! -e "$VIASH_PAR_OUTPUT_RUN
|
|
|
|
|
ViashError "Output file '$VIASH_PAR_OUTPUT_RUN_INFORMATION' does not exist."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ] && [ ! -e "$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS" ]; then
|
|
|
|
|
ViashError "Output file '$VIASH_PAR_OUTPUT_DEMULTIPLEXER_LOGS' does not exist."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
|