#!/bin/bash
### ---
### name: 'SOMATIC_CNV_REF_BUILDER:SOMA_CNV_BUILD_REFERENCE (build_reference)'
### container: '292967571998.dkr.ecr.us-west-2.amazonaws.com/soma-cnv:20260604-3cb5ec5'
### outputs:
### - 'batch_reference.parquet'
### - 'sex_calls.csv'
### - 'feature_stats.csv'
### - 'versions.yml'
### ...
set -e
set -u
NXF_DEBUG=${NXF_DEBUG:=0}; [[ $NXF_DEBUG > 1 ]] && set -x
NXF_ENTRY=${1:-nxf_main}
nxf_tree() {
local pid=$1
declare -a ALL_CHILDREN
while read P PP;do
ALL_CHILDREN[$PP]+=" $P"
done < <(ps -e -o pid= -o ppid=)
pstat() {
local x_pid=$1
local STATUS=$(2> /dev/null < /proc/$1/status grep -E 'Vm|ctxt')
if [ $? = 0 ]; then
local x_vsz=$(echo "$STATUS" | grep VmSize | awk '{print $2}' || echo -n '0')
local x_rss=$(echo "$STATUS" | grep VmRSS | awk '{print $2}' || echo -n '0')
local x_peak=$(echo "$STATUS" | grep -E 'VmPeak|VmHWM' | sed 's/^.*:\s*//' | sed 's/[\sa-zA-Z]*$//' | tr '\n' ' ' || echo -n '0 0')
local x_pmem=$(awk -v rss=$x_rss -v mem_tot=$mem_tot 'BEGIN {printf "%.0f", rss/mem_tot*100*10}' || echo -n '0')
local vol_ctxt=$(echo "$STATUS" | grep '\bvoluntary_ctxt_switches' | awk '{print $2}' || echo -n '0')
local inv_ctxt=$(echo "$STATUS" | grep '\bnonvoluntary_ctxt_switches' | awk '{print $2}' || echo -n '0')
cpu_stat[x_pid]="$x_pid $x_pmem $x_vsz $x_rss $x_peak $vol_ctxt $inv_ctxt"
fi
}
pwalk() {
pstat $1
for i in ${ALL_CHILDREN[$1]:=}; do pwalk $i; done
}
pwalk $1
}
nxf_stat() {
cpu_stat=()
nxf_tree $1
declare -a sum=(0 0 0 0 0 0 0 0)
local pid
local i
for pid in "${!cpu_stat[@]}"; do
local row=(${cpu_stat[pid]})
[ $NXF_DEBUG = 1 ] && echo "++ stat mem=${row[*]}"
for i in "${!row[@]}"; do
if [ $i != 0 ]; then
sum[i]=$((sum[i]+row[i]))
fi
done
done
[ $NXF_DEBUG = 1 ] && echo -e "++ stat SUM=${sum[*]}"
for i in {1..7}; do
if [ ${sum[i]} -lt ${cpu_peak[i]} ]; then
sum[i]=${cpu_peak[i]}
else
cpu_peak[i]=${sum[i]}
fi
done
[ $NXF_DEBUG = 1 ] && echo -e "++ stat PEAK=${sum[*]}\n"
nxf_stat_ret=(${sum[*]})
}
nxf_mem_watch() {
set -o pipefail
local pid=$1
local trace_file=.command.trace
local count=0;
declare -a cpu_stat=(0 0 0 0 0 0 0 0)
declare -a cpu_peak=(0 0 0 0 0 0 0 0)
local mem_tot=$(< /proc/meminfo grep MemTotal | awk '{print $2}')
local timeout
local DONE
local STOP=''
[ $NXF_DEBUG = 1 ] && nxf_sleep 0.2 && ps fx
while true; do
nxf_stat $pid
if [ $count -lt 10 ]; then timeout=1;
elif [ $count -lt 120 ]; then timeout=5;
else timeout=30;
fi
read -t $timeout -r DONE || true
[[ $DONE ]] && break
if [ ! -e /proc/$pid ]; then
[ ! $STOP ] && STOP=$(nxf_date)
[ $(($(nxf_date)-STOP)) -gt 10000 ] && break
fi
count=$((count+1))
done
printf "%s\n" \
"%mem=${nxf_stat_ret[1]}" \
"vmem=${nxf_stat_ret[2]}" \
"rss=${nxf_stat_ret[3]}" \
"peak_vmem=${nxf_stat_ret[4]}" \
"peak_rss=${nxf_stat_ret[5]}" \
"vol_ctxt=${nxf_stat_ret[6]}" \
"inv_ctxt=${nxf_stat_ret[7]}" >> "$trace_file" || >&2 echo "Error: Failed to append to file: $trace_file"
}
nxf_write_trace() {
printf "%s\n" \
"nextflow.trace/v2" \
"realtime=$wall_time" \
"%cpu=$ucpu" \
"cpu_model=$cpu_model" \
"rchar=${io_stat1[0]}" \
"wchar=${io_stat1[1]}" \
"syscr=${io_stat1[2]}" \
"syscw=${io_stat1[3]}" \
"read_bytes=${io_stat1[4]}" \
"write_bytes=${io_stat1[5]}" >| "$trace_file" || >&2 echo "Error: Failed to write to file: $trace_file"
}
nxf_trace_mac() {
local start_millis=$(nxf_date)
/bin/bash -Ceuo pipefail .command.sh
local end_millis=$(nxf_date)
local wall_time=$((end_millis-start_millis))
local ucpu=''
local cpu_model=''
local io_stat1=('' '' '' '' '' '')
nxf_write_trace
}
nxf_fd() {
local FD=11
while [ -e /proc/$$/fd/$FD ]; do FD=$((FD+1)); done
echo $FD
}
nxf_trace_linux() {
local pid=$$
command -v ps &>/dev/null || { >&2 echo "Command 'ps' required by nextflow to collect task metrics cannot be found"; exit 1; }
local num_cpus=$(< /proc/cpuinfo grep '^processor' -c)
local cpu_model=$(< /proc/cpuinfo grep '^model name' | head -n 1 | awk 'BEGIN{FS="\t: "} { print $2 }')
local tot_time0=$(grep '^cpu ' /proc/stat | awk '{sum=$2+$3+$4+$5+$6+$7+$8+$9; printf "%.0f",sum}')
local cpu_time0=$(2> /dev/null < /proc/$pid/stat awk '{printf "%.0f", ($16+$17)*10 }' || echo -n 'X')
local io_stat0=($(2> /dev/null < /proc/$pid/io sed 's/^.*:\s*//' | head -n 6 | tr '\n' ' ' || echo -n '0 0 0 0 0 0'))
local start_millis=$(nxf_date)
trap 'kill $mem_proc' ERR
/bin/bash -Ceuo pipefail .command.sh &
local task=$!
mem_fd=$(nxf_fd)
eval "exec $mem_fd> >(nxf_mem_watch $task)"
local mem_proc=$!
wait $task
local end_millis=$(nxf_date)
local tot_time1=$(grep '^cpu ' /proc/stat | awk '{sum=$2+$3+$4+$5+$6+$7+$8+$9; printf "%.0f",sum}')
local cpu_time1=$(2> /dev/null < /proc/$pid/stat awk '{printf "%.0f", ($16+$17)*10 }' || echo -n 'X')
local ucpu=$(awk -v p1=$cpu_time1 -v p0=$cpu_time0 -v t1=$tot_time1 -v t0=$tot_time0 -v n=$num_cpus 'BEGIN { pct=(p1-p0)/(t1-t0)*100*n; printf("%.0f", pct>0 ? pct : 0) }' )
local io_stat1=($(2> /dev/null < /proc/$pid/io sed 's/^.*:\s*//' | head -n 6 | tr '\n' ' ' || echo -n '0 0 0 0 0 0'))
local i
for i in {0..5}; do
io_stat1[i]=$((io_stat1[i]-io_stat0[i]))
done
local wall_time=$((end_millis-start_millis))
[ $NXF_DEBUG = 1 ] && echo "+++ STATS %CPU=$ucpu TIME=$wall_time I/O=${io_stat1[*]}"
printf "%s\n" \
"nextflow.trace/v2" \
"realtime=$wall_time" \
"%cpu=$ucpu" \
"cpu_model=$cpu_model" \
"rchar=${io_stat1[0]}" \
"wchar=${io_stat1[1]}" \
"syscr=${io_stat1[2]}" \
"syscw=${io_stat1[3]}" \
"read_bytes=${io_stat1[4]}" \
"write_bytes=${io_stat1[5]}" >| "$trace_file" || >&2 echo "Error: Failed to write to file: $trace_file"
[ -e /proc/$mem_proc ] && eval "echo 'DONE' >&$mem_fd" || true
wait $mem_proc 2>/dev/null || true
while [ -e /proc/$mem_proc ]; do nxf_sleep 0.1; done
}
nxf_trace() {
local trace_file=.command.trace
touch $trace_file
if [[ $(uname) = Darwin ]]; then
nxf_trace_mac
else
nxf_trace_linux
fi
}
# bash helper functions
nxf_cp_retry() {
local max_attempts=1
local timeout=10
local attempt=0
local exitCode=0
while (( $attempt < $max_attempts ))
do
if "$@"
then
return 0
else
exitCode=$?
fi
if [[ $exitCode == 0 ]]
then
break
fi
nxf_sleep $timeout
attempt=$(( attempt + 1 ))
timeout=$(( timeout * 2 ))
done
}
nxf_parallel() {
IFS=$'\n'
local cmd=("$@")
local cpus=$(nproc 2>/dev/null || < /proc/cpuinfo grep '^process' -c)
local max=$(if (( cpus>4 )); then echo 4; else echo $cpus; fi)
local i=0
local pid=()
(
set +u
while ((i<${#cmd[@]})); do
local copy=()
for x in "${pid[@]}"; do
# if the process exist, keep in the 'copy' array, otherwise wait on it to capture the exit code
# see https://github.com/nextflow-io/nextflow/pull/4050
[[ -e /proc/$x ]] && copy+=($x) || wait $x
done
pid=("${copy[@]}")
if ((${#pid[@]}>=$max)); then
nxf_sleep 0.2
else
eval "${cmd[$i]}" &
pid+=($!)
((i+=1))
fi
done
for p in "${pid[@]}"; do
wait $p
done
)
unset IFS
}
# aws helper for s5cmd
nxf_s3_upload() {
local name=$1
local s3path=$2
if [[ "$name" == - ]]; then
local tmp=$(nxf_mktemp)
cp /dev/stdin $tmp/$name
/opt/s5cmd/bin/s5cmd --log error cp --storage-class STANDARD $tmp/$name "$s3path"
elif [[ -d "$name" ]]; then
/opt/s5cmd/bin/s5cmd --log error cp --storage-class STANDARD "$name/" "$s3path/$name/"
else
/opt/s5cmd/bin/s5cmd --log error cp --storage-class STANDARD "$name" "$s3path/$name"
fi
}
nxf_s3_download() {
local source=$1
local target=$2
echo " Downloading: $source"
local file_name=$(basename $1)
local is_dir=$(/opt/s5cmd/bin/s5cmd ls $source | grep -F "DIR ${file_name}/" -c)
if [[ $is_dir == 1 ]]; then
/opt/s5cmd/bin/s5cmd --log error cp "$source/*" "$target"
else
/opt/s5cmd/bin/s5cmd --log error cp "$source" "$target"
fi
}
nxf_sleep() {
sleep $1 2>/dev/null || sleep 1;
}
nxf_date() {
local ts=$(date +%s%3N);
if [[ ${#ts} == 10 ]]; then echo ${ts}000
elif [[ $ts == *%3N ]]; then echo ${ts/\%3N/000}
elif [[ $ts == *3N ]]; then echo ${ts/3N/000}
elif [[ ${#ts} == 13 ]]; then echo $ts
else echo "Unexpected timestamp value: $ts"; exit 1
fi
}
nxf_env() {
echo '============= task environment ============='
env | sort | sed "s/\(.*\)AWS\(.*\)=\(.\{6\}\).*/\1AWS\2=\3xxxxxxxxxxxxx/"
echo '============= task output =================='
}
nxf_kill() {
declare -a children
while read P PP;do
children[$PP]+=" $P"
done < <(ps -e -o pid= -o ppid=)
kill_all() {
[[ $1 != $$ ]] && kill $1 2>/dev/null || true
for i in ${children[$1]:=}; do kill_all $i; done
}
kill_all $1
}
nxf_mktemp() {
local base=${1:-/tmp}
mkdir -p "$base"
if [[ $(uname) = Darwin ]]; then mktemp -d $base/nxf.XXXXXXXXXX
else TMPDIR="$base" mktemp -d -t nxf.XXXXXXXXXX
fi
}
nxf_fs_copy() {
local source=$1
local target=$2
local basedir=$(dirname $1)
mkdir -p $target/$basedir
cp -fRL $source $target/$basedir
}
nxf_fs_move() {
local source=$1
local target=$2
local basedir=$(dirname $1)
mkdir -p $target/$basedir
mv -f $source $target/$basedir
}
nxf_fs_rsync() {
rsync -rRl $1 $2
}
nxf_fs_rclone() {
rclone copyto $1 $2/$1
}
nxf_fs_fcp() {
fcp $1 $2/$1
}
on_exit() {
local last_err=$?
local exit_status=${nxf_main_ret:=0}
[[ ${exit_status} -eq 0 && ${nxf_unstage_ret:=0} -ne 0 ]] && exit_status=${nxf_unstage_ret:=0}
[[ ${exit_status} -eq 0 && ${last_err} -ne 0 ]] && exit_status=${last_err}
printf -- $exit_status | nxf_s3_upload - s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87/.exitcode || true
set +u
rm -rf $NXF_SCRATCH || true
exit $exit_status
}
on_term() {
set +e
[[ "$pid" ]] && nxf_kill $pid
}
nxf_launch() {
/bin/bash -Ceuo pipefail .command.run nxf_trace
}
nxf_stage() {
true
# stage input files
downloads=(true)
rm -f 1029_G5I-N1-BDNA-1_2375WFLT3_s68_probes.tsv.gz
rm -f 1029_0NX-N1-BDNA-1_2375WFLT3_s04_probes.tsv.gz
rm -f 1029_FR4-N1-BDNA-1_2375WFLT3_s65_probes.tsv.gz
rm -f 1029_BSZ8-N1-BDNA-1_2375WFLT3_s54_probes.tsv.gz
rm -f 1029_BRTT-N1-BDNA-1_2375WFLT3_s50_probes.tsv.gz
rm -f 1029_I5W-N1-BDNA-1_2375WFLT3_s86_probes.tsv.gz
rm -f 1029_1G0-N1-BDNA-1_2375WFLT3_s05_probes.tsv.gz
rm -f 1029_BOSD-N1-BDNA-1_2375WFLT3_s43_probes.tsv.gz
rm -f 1029_BSWE-N1-BDNA-1_2375WFLT3_s53_probes.tsv.gz
rm -f 1029_BQMQ-N1-BDNA-1_2375WFLT3_s48_probes.tsv.gz
rm -f 1029_EMM-N1-BDNA-1_2375WFLT3_s62_probes.tsv.gz
rm -f 1029_2LI-N1-BDNA-1_2375WFLT3_s08_probes.tsv.gz
rm -f 1029_4Z2-N1-BDNA-1_2375WFLT3_s12_probes.tsv.gz
rm -f 1029_BF2U-N1-BDNA-1_2375WFLT3_s27_probes.tsv.gz
rm -f 1029_C35-N1-BDNA-1_2375WFLT3_s55_probes.tsv.gz
rm -f 1029_BSOQ-N1-BDNA-1_2375WFLT3_s52_probes.tsv.gz
rm -f 1029_GS7-N1-BDNA-1_2375WFLT3_s71_probes.tsv.gz
rm -f 1029_BA0-N2-BDNA-1_2375WFLT3_s20_probes.tsv.gz
rm -f 1029_FOO-N1-BDNA-1_2375WFLT3_s64_probes.tsv.gz
rm -f 1029_EFW-N1-BDNA-1_2375WFLT3_s60_probes.tsv.gz
rm -f 1029_8BO-N1-BDNA-1_2375WFLT3_s18_probes.tsv.gz
rm -f 1029_BQXQ-N1-BDNA-1_2375WFLT3_s49_probes.tsv.gz
rm -f 1029_BGFD-N1-BDNA-1_2375WFLT3_s30_probes.tsv.gz
rm -f 1029_BCB6-N1-BDNA-1_2375WFLT3_s24_probes.tsv.gz
rm -f 1029_BBCQ-N1-BDNA-1_2375WFLT3_s21_probes.tsv.gz
rm -f 1029_4J3-N1-BDNA-1_2375WFLT3_s11_probes.tsv.gz
rm -f 1029_3OH-N1-BDNA-1_2375WFLT3_s10_probes.tsv.gz
rm -f 1029_3N0-N1-BDNA-1_2375WFLT3_s09_probes.tsv.gz
rm -f 1029_05O-N1-BDNA-1_2375WFLT3_s02_probes.tsv.gz
rm -f 1029_BP21-N1-BDNA-1_2375WFLT3_s44_probes.tsv.gz
rm -f 1029_BLH5-N1-BDNA-1_2375WFLT3_s37_probes.tsv.gz
rm -f 1029_5O3-N1-BDNA-1_2375WFLT3_s15_probes.tsv.gz
rm -f 1029_BGMF-N1-BDNA-1_2375WFLT3_s31_probes.tsv.gz
rm -f 1029_G94-N1-BDNA-1_2375WFLT3_s69_probes.tsv.gz
rm -f 1029_BDOZ-N1-BDNA-1_2375WFLT3_s26_probes.tsv.gz
rm -f 1029_5IX-N1-BDNA-1_2375WFLT3_s14_probes.tsv.gz
rm -f 1029_032-N1-BDNA-1_2375WFLT3_s01_probes.tsv.gz
rm -f 1029_GZP-N1-BDNA-1_2375WFLT3_s73_probes.tsv.gz
rm -f 1029_H6Y-N1-BDNA-1_2375WFLT3_s78_probes.tsv.gz
rm -f manifest.tsv
rm -f 1029_BLU1-N1-BDNA-1_2375WFLT3_s38_probes.tsv.gz
rm -f 1029_BK2H-N1-BDNA-1_2375WFLT3_s36_probes.tsv.gz
rm -f 1029_I0S-N1-BDNA-1_2375WFLT3_s83_probes.tsv.gz
rm -f 1029_H3R-N1-BDNA-1_2375WFLT3_s76_probes.tsv.gz
rm -f 1029_DV0-N1-BDNA-1_2375WFLT3_s57_probes.tsv.gz
rm -f .command.run
rm -f 1029_EM-N1-BDNA-1_2375WFLT3_s61_probes.tsv.gz
rm -f 1029_BN9Y-N1-BDNA-1_2375WFLT3_s39_probes.tsv.gz
rm -f 1029_HT5-N1-BDNA-1_2375WFLT3_s81_probes.tsv.gz
rm -f 1029_H5S-N1-BDNA-1_2375WFLT3_s77_probes.tsv.gz
rm -f 1029_BIHO-N1-BDNA-1_2375WFLT3_s34_probes.tsv.gz
rm -f 1029_I2R-N1-BDNA-1_2375WFLT3_s84_probes.tsv.gz
rm -f 1029_HX6-N1-BDNA-1_2375WFLT3_s82_probes.tsv.gz
rm -f 1029_BBOC-N1-BDNA-1_2375WFLT3_s22_probes.tsv.gz
rm -f 1029_7Y1-N1-BDNA-1_2375WFLT3_s16_probes.tsv.gz
rm -f 1029_BJH0-N1-BDNA-1_2375WFLT3_s35_probes.tsv.gz
rm -f 1029_FWL-N1-BDNA-1_2375WFLT3_s66_probes.tsv.gz
rm -f 1029_H0U-N1-BDNA-1_2375WFLT3_s75_probes.tsv.gz
rm -f 1029_8OI-N1-BDNA-1_2375WFLT3_s19_probes.tsv.gz
rm -f 1029_H7F-N1-BDNA-1_2375WFLT3_s79_probes.tsv.gz
rm -f 1029_56D-N1-BDNA-1_2375WFLT3_s13_probes.tsv.gz
rm -f 1029_I78-N1-BDNA-1_2375WFLT3_s87_probes.tsv.gz
rm -f .command.sh
rm -f 1029_FBB-N1-BDNA-1_2375WFLT3_s63_probes.tsv.gz
rm -f 1029_H0A-N1-BDNA-1_2375WFLT3_s74_probes.tsv.gz
rm -f 1029_2IN-N1-BDNA-1_2375WFLT3_s07_probes.tsv.gz
rm -f 1029_BFKM-N1-BDNA-1_2375WFLT3_s28_probes.tsv.gz
rm -f 1029_BQD7-N1-BDNA-1_2375WFLT3_s46_probes.tsv.gz
rm -f 1029_DOC-N1-BDNA-1_2375WFLT3_s56_probes.tsv.gz
rm -f 1029_BG5-N1-BDNA-1_2375WFLT3_s29_probes.tsv.gz
rm -f 1029_BS78-N1-BDNA-1_2375WFLT3_s51_probes.tsv.gz
rm -f 1029_BPLF-N1-BDNA-1_2375WFLT3_s45_probes.tsv.gz
rm -f 1029_EDH-N1-BDNA-1_2375WFLT3_s59_probes.tsv.gz
rm -f 1029_BCTO-N1-BDNA-1_2375WFLT3_s25_probes.tsv.gz
rm -f 1029_I2U-N1-BDNA-1_2375WFLT3_s85_probes.tsv.gz
rm -f 1029_BNG8-N1-BDNA-1_2375WFLT3_s40_probes.tsv.gz
rm -f 1029_BIHC-N1-BDNA-1_2375WFLT3_s33_probes.tsv.gz
rm -f 1029_FXQ-N1-BDNA-1_2375WFLT3_s67_probes.tsv.gz
rm -f 1029_GGQ-N1-BDNA-1_2375WFLT3_s70_probes.tsv.gz
rm -f 1029_1H5-N1-BDNA-1_2375WFLT3_s06_probes.tsv.gz
rm -f 1029_HN2-N1-BDNA-1_2375WFLT3_s80_probes.tsv.gz
rm -f 1029_BICA-N1-BDNA-1_2375WFLT3_s32_probes.tsv.gz
rm -f 1029_0DT-N1-BDNA-1_2375WFLT3_s03_probes.tsv.gz
rm -f 1029_BBS1-N1-BDNA-1_2375WFLT3_s23_probes.tsv.gz
rm -f 1029_E36-N1-BDNA-1_2375WFLT3_s58_probes.tsv.gz
rm -f 1029_GW0-N1-BDNA-1_2375WFLT3_s72_probes.tsv.gz
rm -f 1029_BOHJ-N1-BDNA-1_2375WFLT3_s42_probes.tsv.gz
rm -f 1029_BQKE-N1-BDNA-1_2375WFLT3_s47_probes.tsv.gz
rm -f 1029_8AV-N1-BDNA-1_2375WFLT3_s17_probes.tsv.gz
rm -f 1029_BO4Y-N1-BDNA-1_2375WFLT3_s41_probes.tsv.gz
rm -f 1029_I8V-N1-BDNA-1_2375WFLT3_s88_probes.tsv.gz
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/20/f2808a29b94e33f66ea7e4baa80ad5/1029_G5I-N1-BDNA-1_2375WFLT3_s68_probes.tsv.gz 1029_G5I-N1-BDNA-1_2375WFLT3_s68_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/38/51a74a3e0c8cf463afbd8e019fc263/1029_0NX-N1-BDNA-1_2375WFLT3_s04_probes.tsv.gz 1029_0NX-N1-BDNA-1_2375WFLT3_s04_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/43/b852f121b5a916785056a97c8154ec/1029_FR4-N1-BDNA-1_2375WFLT3_s65_probes.tsv.gz 1029_FR4-N1-BDNA-1_2375WFLT3_s65_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ad/337a9a302e03d0c713c48635597a52/1029_BSZ8-N1-BDNA-1_2375WFLT3_s54_probes.tsv.gz 1029_BSZ8-N1-BDNA-1_2375WFLT3_s54_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/6a/aca471d0f206cb9e8a5c3d4873f3ea/1029_BRTT-N1-BDNA-1_2375WFLT3_s50_probes.tsv.gz 1029_BRTT-N1-BDNA-1_2375WFLT3_s50_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/b8/ee3f819a77fed2a8256c9e4c06fc3c/1029_I5W-N1-BDNA-1_2375WFLT3_s86_probes.tsv.gz 1029_I5W-N1-BDNA-1_2375WFLT3_s86_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/94/8797e162843a04535fec96465ee848/1029_1G0-N1-BDNA-1_2375WFLT3_s05_probes.tsv.gz 1029_1G0-N1-BDNA-1_2375WFLT3_s05_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/d2/30761dad88af4f74d0385eca68ae1f/1029_BOSD-N1-BDNA-1_2375WFLT3_s43_probes.tsv.gz 1029_BOSD-N1-BDNA-1_2375WFLT3_s43_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/a4/f84afaa9def52823b9d3b9e0cc602e/1029_BSWE-N1-BDNA-1_2375WFLT3_s53_probes.tsv.gz 1029_BSWE-N1-BDNA-1_2375WFLT3_s53_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/f5/42b78bf848ad0238a8c75c64b8fdfd/1029_BQMQ-N1-BDNA-1_2375WFLT3_s48_probes.tsv.gz 1029_BQMQ-N1-BDNA-1_2375WFLT3_s48_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/6e/0e3e2f0a913392e044f40e1a3e8dd7/1029_EMM-N1-BDNA-1_2375WFLT3_s62_probes.tsv.gz 1029_EMM-N1-BDNA-1_2375WFLT3_s62_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/cf/0d22bbcf006372dad2cd001cedab1e/1029_2LI-N1-BDNA-1_2375WFLT3_s08_probes.tsv.gz 1029_2LI-N1-BDNA-1_2375WFLT3_s08_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/f9/1f0bc4002da575165bc0d9889c51ec/1029_4Z2-N1-BDNA-1_2375WFLT3_s12_probes.tsv.gz 1029_4Z2-N1-BDNA-1_2375WFLT3_s12_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/10/84249c7f479fb2e63a6428817925ba/1029_BF2U-N1-BDNA-1_2375WFLT3_s27_probes.tsv.gz 1029_BF2U-N1-BDNA-1_2375WFLT3_s27_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/a8/d983b3516a81cce7d38090bba38a5e/1029_C35-N1-BDNA-1_2375WFLT3_s55_probes.tsv.gz 1029_C35-N1-BDNA-1_2375WFLT3_s55_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/75/bc95d467cfef7c9fbd0420b86848bc/1029_BSOQ-N1-BDNA-1_2375WFLT3_s52_probes.tsv.gz 1029_BSOQ-N1-BDNA-1_2375WFLT3_s52_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ee/cf387473130b87a2da59ee8b57c400/1029_GS7-N1-BDNA-1_2375WFLT3_s71_probes.tsv.gz 1029_GS7-N1-BDNA-1_2375WFLT3_s71_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/fb/fa111a9b0b5684b32ac241a37b1892/1029_BA0-N2-BDNA-1_2375WFLT3_s20_probes.tsv.gz 1029_BA0-N2-BDNA-1_2375WFLT3_s20_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/15/a4938bfee8fe96d29e7e1adf714e9b/1029_FOO-N1-BDNA-1_2375WFLT3_s64_probes.tsv.gz 1029_FOO-N1-BDNA-1_2375WFLT3_s64_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/dc/8cb573c3aa0ce0d2063cc64e0be087/1029_EFW-N1-BDNA-1_2375WFLT3_s60_probes.tsv.gz 1029_EFW-N1-BDNA-1_2375WFLT3_s60_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/fa/0725cc0e33f7ff16dfa7c18c439d7a/1029_8BO-N1-BDNA-1_2375WFLT3_s18_probes.tsv.gz 1029_8BO-N1-BDNA-1_2375WFLT3_s18_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/b5/67291dadbbe89bfe87ec78a030fbc5/1029_BQXQ-N1-BDNA-1_2375WFLT3_s49_probes.tsv.gz 1029_BQXQ-N1-BDNA-1_2375WFLT3_s49_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/05/ffe4f9cbe20d245248043f54b65c77/1029_BGFD-N1-BDNA-1_2375WFLT3_s30_probes.tsv.gz 1029_BGFD-N1-BDNA-1_2375WFLT3_s30_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/e8/04ab6cbd5b7786c90764288873bdc6/1029_BCB6-N1-BDNA-1_2375WFLT3_s24_probes.tsv.gz 1029_BCB6-N1-BDNA-1_2375WFLT3_s24_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/12/f3fe7977e57a8f7756cfe547792883/1029_BBCQ-N1-BDNA-1_2375WFLT3_s21_probes.tsv.gz 1029_BBCQ-N1-BDNA-1_2375WFLT3_s21_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/83/a391d9a1641e21cad1b069fcfb67fe/1029_4J3-N1-BDNA-1_2375WFLT3_s11_probes.tsv.gz 1029_4J3-N1-BDNA-1_2375WFLT3_s11_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/8d/41be277df3b84292a7c09a5fc3d087/1029_3OH-N1-BDNA-1_2375WFLT3_s10_probes.tsv.gz 1029_3OH-N1-BDNA-1_2375WFLT3_s10_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ed/007f80af13a88b025ef84210dc991d/1029_3N0-N1-BDNA-1_2375WFLT3_s09_probes.tsv.gz 1029_3N0-N1-BDNA-1_2375WFLT3_s09_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/53/37525e71308299cdad5909cfd9b234/1029_05O-N1-BDNA-1_2375WFLT3_s02_probes.tsv.gz 1029_05O-N1-BDNA-1_2375WFLT3_s02_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/b3/e7726bf7b90d82bfda7ba2ea7a5156/1029_BP21-N1-BDNA-1_2375WFLT3_s44_probes.tsv.gz 1029_BP21-N1-BDNA-1_2375WFLT3_s44_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/84/3bdf0795d418df3349421ee7b643ea/1029_BLH5-N1-BDNA-1_2375WFLT3_s37_probes.tsv.gz 1029_BLH5-N1-BDNA-1_2375WFLT3_s37_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/da/73ace9b1129c774007ceff258eef2c/1029_5O3-N1-BDNA-1_2375WFLT3_s15_probes.tsv.gz 1029_5O3-N1-BDNA-1_2375WFLT3_s15_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/24/2c84586b1f1c3fd9580808aacc7d18/1029_BGMF-N1-BDNA-1_2375WFLT3_s31_probes.tsv.gz 1029_BGMF-N1-BDNA-1_2375WFLT3_s31_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/95/2bd1a37dd3c090b8773ebf0c61eeef/1029_G94-N1-BDNA-1_2375WFLT3_s69_probes.tsv.gz 1029_G94-N1-BDNA-1_2375WFLT3_s69_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/36/c1fa2a00f3d3c73995b95e9a3ee046/1029_BDOZ-N1-BDNA-1_2375WFLT3_s26_probes.tsv.gz 1029_BDOZ-N1-BDNA-1_2375WFLT3_s26_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/c1/8ff8415ae16ce580a19db7bf88b004/1029_5IX-N1-BDNA-1_2375WFLT3_s14_probes.tsv.gz 1029_5IX-N1-BDNA-1_2375WFLT3_s14_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/7d/b6aafda7337788c1d880daf0b86f4a/1029_032-N1-BDNA-1_2375WFLT3_s01_probes.tsv.gz 1029_032-N1-BDNA-1_2375WFLT3_s01_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/4f/4e3bf3873c091d7c6644f02b7ed1f0/1029_GZP-N1-BDNA-1_2375WFLT3_s73_probes.tsv.gz 1029_GZP-N1-BDNA-1_2375WFLT3_s73_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/2e/3ee90da91bbddf09f0bce82b5540cb/1029_H6Y-N1-BDNA-1_2375WFLT3_s78_probes.tsv.gz 1029_H6Y-N1-BDNA-1_2375WFLT3_s78_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/tmp/4f/b3e09b6e1427cb3591be0e0f24b9d8/manifest.tsv manifest.tsv")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/69/3ed8bf51aafd0f3617e45a412cbda1/1029_BLU1-N1-BDNA-1_2375WFLT3_s38_probes.tsv.gz 1029_BLU1-N1-BDNA-1_2375WFLT3_s38_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/50/dc601145cc4d78d1b2fcbe43080a2f/1029_BK2H-N1-BDNA-1_2375WFLT3_s36_probes.tsv.gz 1029_BK2H-N1-BDNA-1_2375WFLT3_s36_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/97/bf9aa19bb503e519f2d3f4894020ed/1029_I0S-N1-BDNA-1_2375WFLT3_s83_probes.tsv.gz 1029_I0S-N1-BDNA-1_2375WFLT3_s83_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/60/d6408b32e84bf6c7a515f4777b1179/1029_H3R-N1-BDNA-1_2375WFLT3_s76_probes.tsv.gz 1029_H3R-N1-BDNA-1_2375WFLT3_s76_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ea/d8c0c12c06e70c0430f93deb7ff92f/1029_DV0-N1-BDNA-1_2375WFLT3_s57_probes.tsv.gz 1029_DV0-N1-BDNA-1_2375WFLT3_s57_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87/.command.run .command.run")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/59/12ca2d5da1bb676cb246d8336df41d/1029_EM-N1-BDNA-1_2375WFLT3_s61_probes.tsv.gz 1029_EM-N1-BDNA-1_2375WFLT3_s61_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/83/9b3c02a36a7470a3e5332e1cf77129/1029_BN9Y-N1-BDNA-1_2375WFLT3_s39_probes.tsv.gz 1029_BN9Y-N1-BDNA-1_2375WFLT3_s39_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/6f/86c0ca686328ef88d590661b5e3799/1029_HT5-N1-BDNA-1_2375WFLT3_s81_probes.tsv.gz 1029_HT5-N1-BDNA-1_2375WFLT3_s81_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/e0/6f6f1219f33b284ee5210e8648c480/1029_H5S-N1-BDNA-1_2375WFLT3_s77_probes.tsv.gz 1029_H5S-N1-BDNA-1_2375WFLT3_s77_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/62/aa32ca09ff791d7a88376fcd79eef1/1029_BIHO-N1-BDNA-1_2375WFLT3_s34_probes.tsv.gz 1029_BIHO-N1-BDNA-1_2375WFLT3_s34_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/cd/10e21888a2041b41bb722cb07dbbf0/1029_I2R-N1-BDNA-1_2375WFLT3_s84_probes.tsv.gz 1029_I2R-N1-BDNA-1_2375WFLT3_s84_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/cc/26e6dde539b07a78120618f991a844/1029_HX6-N1-BDNA-1_2375WFLT3_s82_probes.tsv.gz 1029_HX6-N1-BDNA-1_2375WFLT3_s82_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/d5/db5026bfeba27a0492d9625dac97d2/1029_BBOC-N1-BDNA-1_2375WFLT3_s22_probes.tsv.gz 1029_BBOC-N1-BDNA-1_2375WFLT3_s22_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/48/b508b0f125c0606ba7b34c59aa9d57/1029_7Y1-N1-BDNA-1_2375WFLT3_s16_probes.tsv.gz 1029_7Y1-N1-BDNA-1_2375WFLT3_s16_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/be/89e0616cddff58fb0e5c6c86943724/1029_BJH0-N1-BDNA-1_2375WFLT3_s35_probes.tsv.gz 1029_BJH0-N1-BDNA-1_2375WFLT3_s35_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/d0/bdc1b0b26f17e176892eb59c8eda30/1029_FWL-N1-BDNA-1_2375WFLT3_s66_probes.tsv.gz 1029_FWL-N1-BDNA-1_2375WFLT3_s66_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/71/a6315b851664baf47a2add9df2dc46/1029_H0U-N1-BDNA-1_2375WFLT3_s75_probes.tsv.gz 1029_H0U-N1-BDNA-1_2375WFLT3_s75_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/71/4679a6d07177b0aad8c99419f0c588/1029_8OI-N1-BDNA-1_2375WFLT3_s19_probes.tsv.gz 1029_8OI-N1-BDNA-1_2375WFLT3_s19_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/a1/98183910a5d9161e6a7e2c87ba4629/1029_H7F-N1-BDNA-1_2375WFLT3_s79_probes.tsv.gz 1029_H7F-N1-BDNA-1_2375WFLT3_s79_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/09/77286da0eb7893f69ce7b6aae514a4/1029_56D-N1-BDNA-1_2375WFLT3_s13_probes.tsv.gz 1029_56D-N1-BDNA-1_2375WFLT3_s13_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/04/82ec1c3c43bf475a5858f26598ef85/1029_I78-N1-BDNA-1_2375WFLT3_s87_probes.tsv.gz 1029_I78-N1-BDNA-1_2375WFLT3_s87_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87/.command.sh .command.sh")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/df/dde61e2f66948b7283e1c8e4bed95e/1029_FBB-N1-BDNA-1_2375WFLT3_s63_probes.tsv.gz 1029_FBB-N1-BDNA-1_2375WFLT3_s63_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/d3/85a09c2f20632778c32e2d8d5ea585/1029_H0A-N1-BDNA-1_2375WFLT3_s74_probes.tsv.gz 1029_H0A-N1-BDNA-1_2375WFLT3_s74_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/39/e5e557da7d9d80ce556f0ad4a9ff4e/1029_2IN-N1-BDNA-1_2375WFLT3_s07_probes.tsv.gz 1029_2IN-N1-BDNA-1_2375WFLT3_s07_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ad/3ca5171fba354a60593b2a97b6ee70/1029_BFKM-N1-BDNA-1_2375WFLT3_s28_probes.tsv.gz 1029_BFKM-N1-BDNA-1_2375WFLT3_s28_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ab/37e8ab576842009d64cbe2795a8daa/1029_BQD7-N1-BDNA-1_2375WFLT3_s46_probes.tsv.gz 1029_BQD7-N1-BDNA-1_2375WFLT3_s46_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ec/2ed971846955a33ab673017e710627/1029_DOC-N1-BDNA-1_2375WFLT3_s56_probes.tsv.gz 1029_DOC-N1-BDNA-1_2375WFLT3_s56_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/29/d9b55e170659d4c65fc3cacb260231/1029_BG5-N1-BDNA-1_2375WFLT3_s29_probes.tsv.gz 1029_BG5-N1-BDNA-1_2375WFLT3_s29_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/11/43bbc94d5be3682c856190a37f19cf/1029_BS78-N1-BDNA-1_2375WFLT3_s51_probes.tsv.gz 1029_BS78-N1-BDNA-1_2375WFLT3_s51_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/88/7984fca7cdc3deb1a8ba9a1a1528c3/1029_BPLF-N1-BDNA-1_2375WFLT3_s45_probes.tsv.gz 1029_BPLF-N1-BDNA-1_2375WFLT3_s45_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/17/b7ba8c815c747ba3a8ab9a2160eef7/1029_EDH-N1-BDNA-1_2375WFLT3_s59_probes.tsv.gz 1029_EDH-N1-BDNA-1_2375WFLT3_s59_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/ab/09e1118ea70ff5947441e15feaf47e/1029_BCTO-N1-BDNA-1_2375WFLT3_s25_probes.tsv.gz 1029_BCTO-N1-BDNA-1_2375WFLT3_s25_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/24/2b186fde03c74f814070e0c85999e4/1029_I2U-N1-BDNA-1_2375WFLT3_s85_probes.tsv.gz 1029_I2U-N1-BDNA-1_2375WFLT3_s85_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/00/6a123bdfd905757f006917c489df78/1029_BNG8-N1-BDNA-1_2375WFLT3_s40_probes.tsv.gz 1029_BNG8-N1-BDNA-1_2375WFLT3_s40_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/70/4a7ea31e815f209c66f2a42b49d765/1029_BIHC-N1-BDNA-1_2375WFLT3_s33_probes.tsv.gz 1029_BIHC-N1-BDNA-1_2375WFLT3_s33_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/3b/842dea3a8a22ae089184b94e7f0c42/1029_FXQ-N1-BDNA-1_2375WFLT3_s67_probes.tsv.gz 1029_FXQ-N1-BDNA-1_2375WFLT3_s67_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/bf/0d8a9d9b437e0ee428456aa593e6a4/1029_GGQ-N1-BDNA-1_2375WFLT3_s70_probes.tsv.gz 1029_GGQ-N1-BDNA-1_2375WFLT3_s70_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/00/c47cb5483ba815b63b3695b257fc38/1029_1H5-N1-BDNA-1_2375WFLT3_s06_probes.tsv.gz 1029_1H5-N1-BDNA-1_2375WFLT3_s06_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/58/ef0e5fd5244128b4515cec27d7b666/1029_HN2-N1-BDNA-1_2375WFLT3_s80_probes.tsv.gz 1029_HN2-N1-BDNA-1_2375WFLT3_s80_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/f5/0adc44b0699609a4387c452309d4f0/1029_BICA-N1-BDNA-1_2375WFLT3_s32_probes.tsv.gz 1029_BICA-N1-BDNA-1_2375WFLT3_s32_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/cf/1808a900fa17f9a177d7cf71e72faf/1029_0DT-N1-BDNA-1_2375WFLT3_s03_probes.tsv.gz 1029_0DT-N1-BDNA-1_2375WFLT3_s03_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/69/242247dbc6e1d39d6549bfc50a7a68/1029_BBS1-N1-BDNA-1_2375WFLT3_s23_probes.tsv.gz 1029_BBS1-N1-BDNA-1_2375WFLT3_s23_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/3d/509e3d797d82413f9d7618db27d1a8/1029_E36-N1-BDNA-1_2375WFLT3_s58_probes.tsv.gz 1029_E36-N1-BDNA-1_2375WFLT3_s58_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/18/8d5835922c9ceaebc5ee45d56c8040/1029_GW0-N1-BDNA-1_2375WFLT3_s72_probes.tsv.gz 1029_GW0-N1-BDNA-1_2375WFLT3_s72_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/30/4cd9410e44b1e652768c0aaf94ce13/1029_BOHJ-N1-BDNA-1_2375WFLT3_s42_probes.tsv.gz 1029_BOHJ-N1-BDNA-1_2375WFLT3_s42_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/2d/113f171ee02ddcb4d774530d175ec1/1029_BQKE-N1-BDNA-1_2375WFLT3_s47_probes.tsv.gz 1029_BQKE-N1-BDNA-1_2375WFLT3_s47_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/19/7fa9e462eefd2f5a2fd90a575806c6/1029_8AV-N1-BDNA-1_2375WFLT3_s17_probes.tsv.gz 1029_8AV-N1-BDNA-1_2375WFLT3_s17_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/fe/df379b0d3d6fafb6ee39c3e7c6bb5a/1029_BO4Y-N1-BDNA-1_2375WFLT3_s41_probes.tsv.gz 1029_BO4Y-N1-BDNA-1_2375WFLT3_s41_probes.tsv.gz")
downloads+=("nxf_s3_download s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/c3/5e5e9cece10442e9ad779a54d526d1/1029_I8V-N1-BDNA-1_2375WFLT3_s88_probes.tsv.gz 1029_I8V-N1-BDNA-1_2375WFLT3_s88_probes.tsv.gz")
nxf_parallel "${downloads[@]}"
echo "==> STAGING COMPLETE (91 inputs)"
echo ""
}
nxf_unstage_outputs() {
true
uploads=()
IFS=$'\n'
for name in $(eval "ls -1d batch_reference.parquet sex_calls.csv feature_stats.csv versions.yml" | sort | uniq); do
uploads+=("nxf_s3_upload '$name' s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87")
done
unset IFS
nxf_parallel "${uploads[@]}"
}
nxf_unstage_controls() {
true
nxf_s3_upload .command.out s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87 || true
nxf_s3_upload .command.err s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87 || true
nxf_s3_upload .command.trace s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87 || true
}
nxf_unstage() {
if [[ ${nxf_main_ret:=0} == 0 ]]; then
(set -e -o pipefail; (nxf_unstage_outputs | tee -a .command.out) 3>&1 1>&2 2>&3 | tee -a .command.err)
nxf_unstage_ret=$?
fi
nxf_unstage_controls
}
nxf_main() {
trap on_exit EXIT
trap on_term TERM INT USR2
trap '' USR1
[[ "${NXF_CHDIR:-}" ]] && cd "$NXF_CHDIR"
NXF_SCRATCH="$(set +u; nxf_mktemp /tmp)"
[[ $NXF_DEBUG > 0 ]] && nxf_env
echo start | nxf_s3_upload - s3://natera-rnd-pltf-dev-nextflow-scratch-01/work/49/19a0b4eccdab22f55a8e60638d0c87/.command.begin
set +u
set -u
[[ $NXF_SCRATCH ]] && cd $NXF_SCRATCH
export NXF_TASK_WORKDIR="$PWD"
nxf_stage
set +e
(set -o pipefail; (nxf_launch | tee .command.out) 3>&1 1>&2 2>&3 | tee .command.err) &
pid=$!
wait $pid || nxf_main_ret=$?
nxf_unstage
}
$NXF_ENTRY