Skip to content
Snippets Groups Projects
act 4.08 KiB
Newer Older
tjc's avatar
act
tjc committed

#
# This script will start ACT on a UNIX system.
#
tjc's avatar
act
tjc committed

tjc's avatar
act
tjc committed
PRG=$0
usage () {
	echo "SYNOPSIS"
	echo "       Artemis Comparison Tool (ACT): Genome Comparison Tool"
	echo "USAGE"
	echo "        $0 [options] <SEQUENCE_1> <COMPARISON_1_2> <SEQUENCE_2> ..."
	echo "OPTIONS"
	echo "        SEQUENCE                   An EMBL, GenBank, FASTA, or GFF3 file"
	echo "        FEATURE                    An Artemis TAB file, or GFF file"
	echo "        COMPARISON                 A BLAST comparison file in tabular format"
	echo
	echo "        -options FILE              Read a text file of options from FILE"
	echo "        -chado                     Connect to a Chado database (using PGHOST, PGPORT, PGDATABASE, PGUSER environment variables)"
	echo
	echo "        -Dblack_belt_mode=?         Keep warning messages to a minimum [true,false]"
	echo "        -DuserplotX=FILE[,FILE2]    For sequence 'X' open one or more userplots"
	echo "        -DloguserplotX=FILE[,FILE2] For sequence 'X' open one or more userplots, take log(data)"
	echo "        -DbamX=FILE[,FILE2,...]     For sequence 'X' open one or more BAM, CRAM, VCF, or BCF files"
	echo "        -Dchado=\"h:p/d?u\"           Get ACT to open this CHADO database"
	echo "        -Dread_only                 Open CHADO database read-only"
	echo "EXAMPLES"
	echo "        % act"
	echo "        % act af063097.embl af063097_v_b132222.crunch b132222.embl"
	echo "        % act -Dblack_belt_mode=true -Dbam1=MAL_0h.bam -Dbam2=MAL_7h.bam,var.raw.new.bcf"
	echo "        % act -Duserplot2=/pathToFile/userPlot"
	echo
	echo "HOMEPAGE"
	echo "        http://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act"
    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 links - $0 may be a link
#
tjc's avatar
act
tjc committed
while [ -h "$PRG" ] ; do
	ls=`ls -ld "$PRG"`
	link=`expr "$ls" : '.*-> \(.*\)$'`
	if expr "$link" : '.*/.*' > /dev/null; then
		PRG="$link"
	else
		PRG="`dirname $PRG`/$link"
	fi
tjc's avatar
act
tjc committed
done

# Special Sanger override on chado PGUSER
if [[ "$ARTEMIS_SANGER_DBUSER" != "" ]]
then
	export PGUSER=$ARTEMIS_SANGER_DBUSER
fi

#
# Parse arguments.
#
APPLICATION_PROPERTIES="-Djdbc.drivers=org.postgresql.Driver -Dartemis.environment=UNIX $SANGER_ARTEMIS_OPTIONS"
while test $# != 0
do
    case $1 in
	    -options)   APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dextra_options=$2"; shift ;;
	    -chado)     APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dchado=$PGHOST:$PGPORT/$PGDATABASE?$PGUSER -Dibatis" ;;
	    -D*)        APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES $1" ;;
	    -quiet)     QUIET=yes ; APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Drun_quietly=true" ;;
	    -help)      usage ;;
	    --help)     usage ;;
	    -h)         usage ;;
	    *)          break ;;
    esac
    shift
done
tcarver's avatar
tcarver committed

JAR_NAME=act.jar
JAR_FILE_DEFAULT=$APPLICATION_HOME/target/unix-jars/$JAR_NAME
JAR_FILE_INSTALLED=$APPLICATION_HOME/$JAR_NAME
tjc's avatar
act
tjc committed

#
# Use a custom Java version if necessary
#
if [[ "$ARTEMIS_JAVA_JRE" = "" ]]
tjc's avatar
act
tjc committed
then
tjc's avatar
act
tjc committed
else
	JAVA_HOME=$ARTEMIS_JAVA_JRE
	JAVA=$ARTEMIS_JAVA_JRE/bin/java
tjc's avatar
act
tjc committed
fi

#
# Allow URLs to work from behind firewalls.
#
add_proxy_properties
tjc's avatar
act
tjc committed

#
# "-mx1g" sets the maximum amount of memory to use. 
# This may need to be increased when dealing with large files
#
if [[ "$ARTEMIS_JVM_FLAGS" = "" ]]
tjc's avatar
act
tjc committed
then
    FLAGS="-mx2g -ms100m -noverify"
tjc's avatar
act
tjc committed
else
tjc's avatar
act
tjc committed
fi

tjc's avatar
tjc committed
PLATTMP=`uname`
tjc's avatar
tjc committed
then
  	APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=ACT"
tjc's avatar
tjc committed
fi

tjc's avatar
act
tjc committed
then
    echo "Starting ACT with arguments: $FLAGS $APPLICATION_PROPERTIES $*"
tjc's avatar
act
tjc committed
fi

$JAVA $FLAGS $APPLICATION_PROPERTIES -cp ".:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED" uk.ac.sanger.artemis.components.ActMain $*