-
Notifications
You must be signed in to change notification settings - Fork 1
/
ascp.sh
95 lines (78 loc) · 2.05 KB
/
ascp.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/env bash
<<COMMENT
AUTHOR: chenyanpeng1992@outlook.com
DATE : 2020-09-13
COMMENT
# default variables
ASPERA_KEY=/data/6190113/.aspera/connect/etc/asperaweb_id_dsa.openssh
ASCP=/data/6190113/.aspera/connect/bin/ascp
function usage {
cat << EOF
$(basename $0) -- A shell script to download ENA SRA data using Aspera.
SYNOPSIS:
ascp.sh -i <run_url> [-o dirname]
OPTION:
-h|--help print help message and exit
-i|--in_sra_aspera <sra_aspera> input ENA SRA aspera url, required. Example: fasp.sra.ebi.ac.uk:/vol1/srr/SRR106/023/SRR10641223"
-o|--out_dirname <dirname> output direname, optional. [Default: `pwd`]
BUGS:
Any bugs in fastqInfo should be reported to chenyanpeng1992@outlook.com
EOF
}
# parse command-line arguments
PARSED_ARGUMENTS=$(getopt -a -n ascp.sh -o hi:o: --long help,in_sra_url:,out_dirname: -- "$@")
VALID_ARGUMENTS=$?
if [ "$VALID_ARGUMENTS" != "0" ]
then
usage
fi
eval set -- "$PARSED_ARGUMENTS"
while :
do
case "$1" in
-h | --help)
usage
exit 2 ;;
-i | --in_sra_aspera)
SRA_ASPERA=$2
shift 2 ;;
-o | --out_dirname)
DIRNAME=$2
shift 2 ;;
--)
# -- means the end of the arguments; drop this, and break out of the while loop
shift
break ;;
*)
# If invalid options were passed, then getopt should have reported an error,
# which we checked as VALID_ARGUMENTS when getopt was called...
echo "Unknown option: $1"
usage ;;
esac
done
if [[ ! $SRA_ASPERA ]]
then
echo "[ERROR] no input. The argument: -i|--in_sra_url is required."
usage
exit 2
fi
if [[ ! $DIRNAME ]]
then
DIRNAME="./"
fi
function ascp {
echo "$ASCP -i $ASPERA_KEY -v -k 1 -T -l 400m --mode=recv era-fasp@$SRA_ASPERA $DIRNAME"
echo ""
$ASCP \
-i $ASPERA_KEY \
-v \
-k 1 \
-T \
-l 400m \
--mode=recv \
-P 33001 \
era-fasp@$SRA_ASPERA \
$DIRNAME
return 0
}
ascp