annotate mtbls-dwnld @ 1:7bcabf5ec914 draft default tip

"planemo upload commit 76293bd47447c171c939b4f3c194fd0cfbd7f69c"
author prog
date Thu, 04 Mar 2021 11:15:53 +0000
parents d9aa2a6dc8f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
1 #!/bin/bash
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
2 # vi: fdm=marker
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
3
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
4 # Constants {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
5 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
6
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
7 PROG_NAME=$(basename $0)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
8 PROG_PATH=$(dirname $0)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
9 ISASLICER="$PROG_PATH/isaslicer.py"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
10 YES=yes
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
11 NO=no
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
12 ASPERA_PUBLIC_TOKEN=Xz68YfDe
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
13 ASCP=ascp
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
14 WGET=wget
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
15 PLATFORM=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
16 DISTRIBUTION=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
17 [[ -z $(which uname) ]] || PLATFORM=$(uname)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
18 [[ $PLATFORM == Linux && -e /proc/version ]] && DISTRIBUTION=$(sed 's/^.*(\([^ ]*\).*$/\1/' /proc/version)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
19 [[ $DISTRIBUTION == Alpine ]] || WGET_FLAGS="--progress=dot"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
20
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
21 # Global variables {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
22 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
23
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
24 ASPERA=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
25 COMPRESSED=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
26 DEBUG=0
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
27 FACTOR_VALUE=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
28 HTML=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
29 METADATA_ONLY=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
30 OUTPUT=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
31 PRIVATE=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
32 QUIET=0
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
33 TMP_IN_OUTPUT=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
34 TOKEN=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
35
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
36 # Print help {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
37 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
38
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
39 function print_help {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
40 echo "Usage: $PROG_NAME [options] study"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
41 echo
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
42 echo "Retrieves a study from Metabolights database."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
43 echo "By default it uses the ftp server, but with -a option you can ask for using aspera server (you will need the aspera client ascp to be installed)."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
44 echo
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
45 echo "Options:"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
46 echo " -a, --aspera Use aspera server for downloading. You need the ascp client to be installed, it is freely available for linux 64. See http://downloads.asperasoft.com."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
47 echo " -c, --compressed Output in compressed format. If unset, the output will be a directory."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
48 echo " -f, --factor-value Filter study on a factor value. Example: \"-f myfactor=myvalue\". Only available with wget downloader."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
49 echo " -g, --debug Debug mode."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
50 echo " -h, --help Print this help message."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
51 echo " -H, --html FILE Write HTML file that list files contained in output directory. Not compatible with compressed output."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
52 echo " -M, --metadata-only Download only the metadata (ISA-Tab files i_*, m_*, s_* and a_*) files. This option has no effet if aspera is selected (option -a)."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
53 echo " -o, --output NAME Set the name of the output (both for directory output or compressed file output). By default the name of the output is determined by the download tool."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
54 echo " -p, --private Indicate the study to download is not public. This is meant for aspera download, since the URL will be different for a public or a private study."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
55 echo " -q, --quiet Does not print any output. Can be specified twice in order to be real quiet."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
56 echo " -t, --token TOKEN Set the token or password to use. For aspera public download, if you don't specify a token, the default token '$ASPERA_PUBLIC_TOKEN' will be used."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
57 echo " -T, --tmp-in-output If an output is specified and it is a directory (-c option must not be set), then use it for writing intermediate files."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
58 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
59
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
60 # Error {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
61 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
62
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
63 function error {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
64
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
65 local msg=$1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
66
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
67 echo "ERROR: $msg" >&2
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
68
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
69 exit 1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
70 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
71
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
72 # Debug {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
73 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
74
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
75 function debug {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
76
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
77 local dbgmsg="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
78
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
79 [[ $DEBUG -ge 1 ]] && echo "[DEBUG] $dbgmsg" >&2
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
80 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
81
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
82
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
83 # Read args {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
84 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
85
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
86 function read_args {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
87
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
88 local args="$*" # save arguments for debugging purpose
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
89
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
90 # Read options
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
91 while true ; do
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
92 shift_count=1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
93 case $1 in
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
94 -a|--aspera) ASPERA=$YES ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
95 -c|--compressed) COMPRESSED=$YES ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
96 -f|--factor-value) FACTOR_VALUE="$2" ; shift_count=2 ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
97 -g|--debug) DEBUG=$((DEBUG + 1)) ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
98 -h|--help) print_help ; exit 0 ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
99 -M|--metadata-only) METADATA_ONLY=$YES ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
100 -H|--html) HTML="$2" ; shift_count=2 ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
101 -o|--output) OUTPUT="$2" ; shift_count=2 ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
102 -p|--private) PRIVATE=$YES ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
103 -q|--quiet) QUIET=$((QUIET + 1)) ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
104 -t|--token) TOKEN="$2" ; shift_count=2 ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
105 -T|--tmp-in-output) TMP_IN_OUTPUT=$YES ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
106 -) error "Illegal option $1." ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
107 --) error "Illegal option $1." ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
108 --*) error "Illegal option $1." ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
109 -?) error "Unknown option $1." ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
110 -[^-]*) split_opt=$(echo $1 | sed 's/^-//' | sed 's/\([a-zA-Z]\)/ -\1/g') ; set -- $1$split_opt "${@:2}" ;;
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
111 *) break
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
112 esac
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
113 shift $shift_count
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
114 done
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
115 shift $((OPTIND - 1))
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
116
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
117 # Read remaining arguments
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
118 [ $# -eq 1 ] || error "You must specify one, and only one, study to retrieve."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
119 STUDY="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
120
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
121 # Check token
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
122 if [[ -n $ASPERA && -z $TOKEN ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
123 if [[ -z $PRIVATE ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
124 TOKEN=$ASPERA_PUBLIC_TOKEN
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
125 else
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
126 error "You need to specify a token for retrieving private studies with aspera."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
127 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
128 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
129 [[ -z $PRIVATE || -n $TOKEN ]] || error "You need to set a token for retrieving private studies."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
130
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
131 # Turn off --tmp-to-output if --compressed is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
132 [[ $TMP_IN_OUTPUT == $YES && ( $COMPRESSED == $YES || -z $OUTPUT ) ]] && TMP_IN_OUTPUT=$NO
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
133
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
134 # Debug
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
135 debug "Arguments are : $args"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
136 debug "Study to retrieve is : $STUDY"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
137 debug "ASPERA=$ASPERA"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
138 debug "COMPRESSED=$COMPRESSED"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
139 debug "DEBUG=$DEBUG"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
140 debug "FACTOR_VALUE=$FACTOR_VALUE"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
141 debug "HTML=$HTML"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
142 debug "METADATA_ONLY=$METADATA_ONLY"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
143 debug "OUTPUT=$OUTPUT"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
144 debug "PRIVATE=$PRIVATE"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
145 debug "QUIET=$QUIET"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
146 debug "TMP_IN_OUTPUT=$TMP_IN_OUTPUT"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
147 debug "TOKEN=$TOKEN"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
148 [[ -n $ASPERA ]] && debug "Aspera will be used."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
149 [[ -n $TOKEN ]] && debug "Token/Password is \"$TOKEN\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
150 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
151
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
152 # Get download output path {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
153 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
154
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
155 get_download_output_path() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
156
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
157 local downloader="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
158 local study_name="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
159 local output_dir="$3"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
160 local output_path="$study_name"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
161
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
162 [[ -z $output_dir ]] || output_path="$output_dir/$output_path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
163 [[ $downloader == $WGET ]] && output_path+=".zip"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
164
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
165 echo "$output_path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
166 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
167
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
168 # Download with ascp {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
169 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
170
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
171 download_with_ascp() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
172
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
173 local study_name="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
174 local metadata_only="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
175 local output_dir="$3"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
176 local dwnld_flags=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
177 local dwnld_link=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
178
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
179 # Check ascp
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
180 [ -n "$(which ascp)" ] || error "ascp command not found. Please install Aspera client, version 3.7.4 or greater. See http://downloads.asperasoft.com/en/downloads/62."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
181 debug "$ASCP: $(which $ASCP)"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
182 debug "QUIET: $QUIET"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
183
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
184 # Silence downloader output
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
185 [[ $QUIET -eq 0 ]] || dwnld_flags=-q
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
186
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
187 # Set download flags
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
188 [[ -z $dwnld_flags ]] || dwnld_flags+=" "
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
189 dwnld_flags+="--policy=fair -T -l 1g"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
190
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
191 dwnld_flags+=" -P33001"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
192
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
193 # Set download link
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
194 if [[ -z $PRIVATE ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
195
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
196 # Make full path for public study
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
197 study_path=$STUDY
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
198 if [[ -z ${study_path##MTBLS*} ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
199 study_path="/studies/public/$study_path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
200 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
201 dwnld_link="fasp-ml@fasp.ebi.ac.uk:$study_path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
202
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
203 # Private study
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
204 else
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
205 dwnld_link="mtblight@hx-fasp-1.ebi.ac.uk:$STUDY"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
206 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
207
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
208 # Export token
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
209 debug "export ASPERA_SCP_PASS=\"$TOKEN\""
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
210 export ASPERA_SCP_PASS="$TOKEN"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
211
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
212 # Run download command
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
213 if [[ -n $output_dir ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
214 mkdir -p "$output_dir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
215 curdir=$(pwd)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
216 cd "$output_dir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
217 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
218 if [[ $metadata_only == $YES ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
219 debug "Download command: $ASCP $dwnld_flags -N '?_*.t*' -E '*.*' -E 'p*' $dwnld_link ."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
220 $ASCP $dwnld_flags -N '?_*.t*' -E '*.*' -E 'p*' $dwnld_link .
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
221 [[ $? == 0 ]] || error "Downloading of study $STUDY has failed. Error code returned is $?."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
222 else
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
223 debug "Download command: $ASCP $dwnld_flags $dwnld_link ."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
224 $ASCP $dwnld_flags $dwnld_link .
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
225 [[ $? == 0 ]] || error "Downloading of study $STUDY has failed. Error code returned is $?."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
226 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
227 [[ -z $output_dir ]] || cd "$curdir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
228 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
229
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
230 # Download with wget {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
231 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
232
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
233 download_with_wget() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
234
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
235 local study_name="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
236 local metadata_only="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
237 local output_dir="$3"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
238 local dwnld_flags=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
239
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
240 # Check wget
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
241 [ -n "$(which wget)" ] || error "wget command not found."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
242 debug "$WGET: $(which $WGET)"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
243
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
244 # Set download link
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
245 file="$study_name"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
246 [[ $metadata_only == $YES ]] && file=metadata
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
247 dwnld_link="https://www.ebi.ac.uk/metabolights/$study_name/files/$file"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
248 [[ -n $TOKEN ]] && dwnld_link+="?token=$TOKEN"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
249
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
250 # Set download output
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
251 output_path="$study_name.zip"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
252 if [[ -n $output_dir ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
253 mkdir -p "$output_dir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
254 output_path="$output_dir/$output_path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
255 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
256 dwnld_flags="-O $output_path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
257
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
258 # Silence downloader output
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
259 wget_log_file=$(mktemp -t $PROG_NAME.XXXXXX)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
260 [[ $QUIET -eq 0 ]] || dwnld_flags+=" -q -o $wget_log_file"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
261
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
262 # Run download command
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
263 debug "Download command: $WGET $WGET_FLAGS $dwnld_flags $dwnld_link"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
264 $WGET $WGET_FLAGS $dwnld_flags $dwnld_link
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
265 [[ $? == 0 ]] || error "Downloading of study $STUDY has failed. wget log file: $(cat $wget_log_file)"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
266 rm -f $wget_log_file
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
267 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
268
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
269 # Download {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
270 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
271
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
272 download() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
273
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
274 local downloader="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
275 local study_name="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
276 local metadata_only="$3"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
277 local output_dir="$4"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
278
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
279 if [[ $downloader == $WGET ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
280 download_with_wget "$2" "$3" "$output_dir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
281 else
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
282 download_with_ascp "$2" "$3" "$output_dir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
283 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
284 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
285
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
286 # Check download {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
287 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
288
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
289 check_download() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
290
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
291 local download_path="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
292
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
293 [[ -d $download_path || -f $download_path ]] || error "The downloading of $tmp_output failed. The output file doesn't exist."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
294 [[ ! -f $download_path || -s $download_path ]] || error "The downloading of $tmp_output failed. The output file is empty."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
295 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
296
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
297 # Unzip study {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
298 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
299
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
300 unzip_study() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
301
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
302 local tmp_output="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
303 local output="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
304 local unzip_flags=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
305
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
306 # Silence unzip program
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
307 [[ $QUIET -eq 0 ]] || unzip_flags=-qq
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
308
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
309 debug "Unzipping file \"$tmp_output\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
310 [[ -z $output ]] || debug "Unzipping into \"$output\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
311
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
312 [[ -n $(which unzip) ]] || error "unzip command not found. Please install zip package."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
313
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
314 zip=$tmp_output
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
315 debug "Zipped file is \"$zip\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
316 if [[ -z $output ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
317 output=${zip%.*}
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
318 [[ -d "$output" ]] && rm -r "$output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
319 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
320 debug "Output directory will be \"$output\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
321 zip_abs_path=$(realpath "$zip")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
322 curdir=$(pwd)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
323 debug "Current directory is \"$curdir\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
324 mkdir -p "$output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
325 cd "$output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
326 unzip $unzip_flags "$zip_abs_path" >&2 || error "Unable to unzip archive $zip_abs_path."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
327 cd "$curdir"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
328
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
329 echo "$output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
330 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
331
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
332 # As zip {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
333 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
334
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
335 as_zip() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
336
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
337 local path="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
338
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
339 if [[ -d $path ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
340
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
341 zip_file="$path.zip"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
342 zip "$zip_file" $path/*
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
343 rm -r "$path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
344 path="$zip_file"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
345 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
346
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
347 echo "$path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
348 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
349
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
350 # As folder {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
351 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
352
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
353 as_folder() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
354
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
355 local path="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
356 local output="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
357
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
358 debug "as_folder($path, $output)"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
359 if [[ -f $path && ${path##*.} == 'zip' ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
360 folder=$(unzip_study "$path" "$output")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
361 rm "$path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
362 path="$folder"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
363 elif [[ -d $path && -n $output && $path != $output ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
364 mkdir -p "$output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
365 mv "$path"/* "$output"/.
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
366 rm -r "$path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
367 path="$output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
368 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
369
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
370 echo "$path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
371 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
372
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
373 # Make folder or zip {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
374 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
375
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
376 make_folder_or_zip() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
377
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
378 local path="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
379 local compressed="$2"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
380 local output="$3"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
381
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
382 debug "make_folder_or_zip($path, $compressed, $output)"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
383 [[ -e $path ]] || error "No file or folder at path \"$path\"."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
384
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
385 # Compress folder
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
386 if [[ $compressed == $YES ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
387 path=$(as_zip "$path")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
388 else
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
389 path=$(as_folder "$path" "$output")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
390 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
391
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
392 echo "$path"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
393 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
394
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
395 # Write HTML file {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
396 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
397
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
398 function write_html_file {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
399
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
400 local HTML=$1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
401 local tmp_output=$2
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
402
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
403 cat >$HTML <<EOF
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
404 <html>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
405 <header>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
406 <title>Metabolights study</title>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
407 </header>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
408 <body>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
409 <a href="i_Investigation.txt">Investigation file</a><br/>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
410 EOF
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
411
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
412 echo "<br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
413 echo " Study files:<br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
414 for f in $tmp_output/s_* ; do
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
415 filename=$(basename "$f")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
416 echo " <a href=\"$filename\">$filename</a><br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
417 done
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
418
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
419 echo "<br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
420 echo " Assay files:<br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
421 for f in $tmp_output/a_* ; do
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
422 filename=$(basename "$f")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
423 echo " <a href=\"$filename\">$filename</a><br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
424 done
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
425
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
426 echo "<br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
427 echo " Data files:<br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
428 for f in $tmp_output/m_* ; do
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
429 filename=$(basename "$f")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
430 echo " <a href=\"$filename\">$filename</a><br/>" >>$HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
431 done
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
432
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
433 cat >>$HTML <<EOF
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
434 </body>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
435 </html>
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
436 EOF
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
437 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
438
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
439 # Get data files {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
440 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
441
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
442 get_data_files() {
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
443
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
444 local json_file="$1"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
445
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
446 python3 <<EOF
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
447 # @@@BEGIN_PYTHON@@@
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
448 import json
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
449 import sys
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
450 with open('$json_file') as f:
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
451 data_list = json.load(f)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
452 for elem in data_list:
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
453 print("\n".join(elem['data_files']))
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
454 # @@@END_PYTHON@@@
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
455 EOF
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
456 }
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
457
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
458 # MAIN {{{1
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
459 ################################################################
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
460
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
461 read_args "$@"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
462
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
463 study_name=$(basename $STUDY)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
464 downloader=$WGET
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
465 output_dir=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
466 [[ $ASPERA == $YES ]] && downloader=$ASCP
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
467 [[ $TMP_IN_OUTPUT != $YES ]] || output_dir="$OUTPUT"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
468
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
469 # Download only part of the study using factor value
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
470 if [[ -n $FACTOR_VALUE ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
471
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
472 # Get factor name and value
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
473 factor_name=${FACTOR_VALUE%%=*}
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
474 factor_value=${FACTOR_VALUE#*=}
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
475
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
476 # Download only metadata
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
477 download "$downloader" "$study_name" "$YES" # XXX Download output must be written into $OUTPUT if TMP_IN_OUTPUT is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
478 dwnld_output=$(get_download_output_path "$downloader" "$study_name")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
479 dwnld_output=$(as_folder "$dwnld_output")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
480
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
481 # Get data files to download
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
482 data_files=$(mktemp -t $PROG_NAME.XXXXXX) # XXX must be created into $OUTPUT if TMP_IN_OUTPUT is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
483 [[ -x "$ISASLICER" ]] || error "Cannot find or run isaslicer.py script."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
484 debug "Run ISA slicer: \"$ISASLICER\" 'isa-tab-get-data-list' \"$abs_dwnld_output\" \"$data_files\" --json-query \"{ \\\"$factor_name\\\": \\\"$factor_value\\\" }\""
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
485 abs_dwnld_output=$(realpath "$dwnld_output")
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
486 "$ISASLICER" --log-level DEBUG 'isa-tab-get-data-list' "$abs_dwnld_output" "$data_files" --json-query "{ \"$factor_name\": \"$factor_value\" }" 2>&1 || error "Call to isaslicer failed."
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
487
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
488 # Download data files
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
489 wget_log_file=$(mktemp -t $PROG_NAME.XXXXXX)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
490 get_data_files "$data_files" | sort | uniq | while read file ; do
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
491 if [[ -n $file ]] ; then
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
492 dwnld_flags=
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
493 [[ $QUIET -eq 0 ]] || dwnld_flags+=" -q -o $wget_log_file"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
494 dwnld_link="https://www.ebi.ac.uk/metabolights/$study_name/files/$file"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
495 debug "Download command: $WGET $WGET_FLAGS $dwnld_flags $dwnld_link"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
496 $WGET $WGET_FLAGS $dwnld_flags -O "$dwnld_output/$file" "$dwnld_link" # XXX Download output must be written into $OUTPUT if TMP_IN_OUTPUT is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
497 [[ $? == 0 ]] || error "Downlad of study file \"$file\" has failed. wget log file: $(cat $wget_log_file)"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
498 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
499 done
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
500 rm -f $wget_log_file
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
501
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
502 # Remove data files list
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
503 rm "$data_files"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
504
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
505 # Download whole study
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
506 else
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
507
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
508 # Download whole study
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
509 download "$downloader" "$study_name" "$METADATA_ONLY" "$output_dir" # XXX Download output must be written into $OUTPUT if TMP_IN_OUTPUT is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
510
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
511 # Get output path
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
512 dwnld_output=$(get_download_output_path "$downloader" "$study_name" "$output_dir") # XXX Correct output path when TMP_IN_OUTPUT is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
513 fi
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
514
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
515 # Check output
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
516 check_download "$dwnld_output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
517
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
518 # Output in right format (zipped or folder)
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
519 dwnld_output=$(make_folder_or_zip "$dwnld_output" "$COMPRESSED" "$output_dir") # XXX zip must be written into $OUTPUT and unzipped into $OUTPUT if TMP_IN_OUTPUT is set
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
520
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
521 # Output HTML
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
522 [[ -z $HTML || ! -d $dwnld_output ]] || write_html_file "$HTML" "$dwnld_output"
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
523
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
524 # Rename output
d9aa2a6dc8f0 "planemo upload commit 7edb56b5ae3e1dd9aa9a66d4bd6d943f42090b87-dirty"
prog
parents:
diff changeset
525 [[ -z $OUTPUT || $TMP_IN_OUTPUT == $YES ]] || mv "$dwnld_output" "$OUTPUT"