forked from sanger-pathogens/Artemis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dnaplotter
executable file
·129 lines (107 loc) · 3.12 KB
/
dnaplotter
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/bash -
#
# This script will start the Artemis circular plot on a UNIX system.
#
QUIET=no
usage () {
echo "SYNOPSIS"
echo " DNA Plotter: DNA Image Generation Tool"
echo "USAGE"
echo " $0 [options]"
echo "OPTIONS"
echo " -t FILE Read a template file"
echo
echo "EXAMPLES"
echo " % dnaplotter"
echo " % dnaplotter -t <template file>"
echo
echo "HOMEPAGE"
echo " http://www.sanger.ac.uk/science/tools/dnaplotter/"
echo
exit 1
}
add_proxy_properties() {
if [[ "$http_proxy" = "" ]]
then
http_proxy=$HTTP_PROXY
fi
if [[ "$http_proxy" = "" ]]
then
http_proxy=$HTTP_proxy
fi
if [[ "$http_proxy" != "" ]]
then
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'`
fi
}
#
# Resolve script path (inc symlinks)
#
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script
#
# Parse arguments.
#
TEMPLATE_FILE_ARG=
APPLICATION_PROPERTIES="-Djdbc.drivers=org.postgresql.Driver -Dartemis.environment=UNIX $SANGER_ARTEMIS_OPTIONS"
while test $# != 0
do
case $1 in
-t) TEMPLATE_FILE_ARG="$1 $2"; shift ;;
-D*) APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES $1" ;;
-quiet) QUIET=yes ; APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Drun_quietly=true" ;;
-help) usage ;;
--help) usage ;;
-h) usage ;;
*) usage ;;
esac
shift
done
JAR_NAME=dnaplotter.jar
JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME
JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME
ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED
#
# Use a custom Java version if necessary
#
if [[ "$ARTEMIS_JAVA_JRE" = "" ]]
then
JAVA=`which java`
else
JAVA_HOME=$ARTEMIS_JAVA_JRE
JAVA=$ARTEMIS_JAVA_JRE/bin/java
fi
#
# Allow URLs to work from behind firewalls.
#
add_proxy_properties
#
# "-mx2g" sets the maximum amount of memory to use.
# This may need to be increased when dealing with large files
#
if [[ "$ARTEMIS_JVM_FLAGS" = "" ]]
then
FLAGS="-mx2g -ms100m -noverify"
else
FLAGS="$ARTEMIS_JVM_FLAGS -noverify"
fi
PLATTMP=`uname`
if [[ "$PLATTMP" = "Darwin" ]]
then
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=Circular-Plot"
JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME
ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP"
fi
if [[ "$QUIET" = "no" ]]
then
echo "Starting DNA Plotter with arguments: $FLAGS $APPLICATION_PROPERTIES $TEMPLATE_FILE_ARG"
fi
$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.circular.DNADraw $TEMPLATE_FILE_ARG
result=$?
exit $result
exit $?