57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
function get_bin_directory {
|
|
sed -n '/bin.directory=/p' "$1" | awk -F '=' '{print $2}'
|
|
}
|
|
|
|
USER_DIR=$PWD
|
|
INSTALL_DIR="${BASH_SOURCE[0]}"
|
|
|
|
while [ -h "$INSTALL_DIR" ]; do
|
|
cd "$(dirname "$INSTALL_DIR")"
|
|
INSTALL_DIR="$(readlink "$(basename "$INSTALL_DIR")")"
|
|
done
|
|
|
|
cd "$(dirname "$INSTALL_DIR")"
|
|
|
|
BIN_DIR=$(get_bin_directory ./interproscan.properties)
|
|
|
|
if [ -n "$INTERPROSCAN_CONF" ] && [ -f "$INTERPROSCAN_CONF" ]; then
|
|
PROPERTIES="$(readlink -m "$INTERPROSCAN_CONF")"
|
|
PROPERTY="-Dsystem.interproscan.properties=${PROPERTIES}"
|
|
BIN_DIR="$(get_bin_directory "${PROPERTIES}")"
|
|
else
|
|
PROPERTIES="./interproscan.properties"
|
|
PROPERTY=""
|
|
fi
|
|
|
|
# Set environment variables for getorf
|
|
export EMBOSS_ACDROOT="$BIN_DIR"/nucleotide
|
|
export EMBOSS_DATA="$BIN_DIR"/nucleotide
|
|
|
|
# Check Java is installed
|
|
JAVA=$(type -p java)
|
|
if [ -z "$JAVA" ]; then
|
|
echo "Java not found. Please install Java 11 and place it on your path,"
|
|
echo "or edit the interproscan.sh script to refer to your Java installation."
|
|
exit 1
|
|
fi
|
|
|
|
# Check Java version is supported
|
|
JAVA_VERSION=$("$JAVA" -Xms32M -Xmx32M -version 2>&1 | sed -n '/version/p' | awk -F '"' '{print $2}' )
|
|
JAVA_MAJOR_VERSION_FULL="$( cut -d ';' -f 1 <<< "$JAVA_VERSION" )"
|
|
JAVA_MAJOR_VERSION="${JAVA_MAJOR_VERSION_FULL%%.*}"
|
|
if [ "${JAVA_MAJOR_VERSION}" -lt 11 ];
|
|
then
|
|
echo "Java version 11 is required to run InterProScan."
|
|
echo "Detected version ${JAVA_VERSION}"
|
|
echo "Please install the correct version."
|
|
exit 1
|
|
fi
|
|
|
|
"$JAVA" \
|
|
-XX:ParallelGCThreads=8 \
|
|
-Xms2028M -Xmx15G \
|
|
$PROPERTY \
|
|
-jar interproscan-5.jar $@ -u $USER_DIR
|