Files
2026-08-03 18:42:47 +08:00

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