diff options
-rwxr-xr-x | 4store-install | 2 | ||||
-rwxr-xr-x | config.sh | 22 | ||||
-rwxr-xr-x | install | 1 | ||||
-rw-r--r-- | ot-tools-user.sh | 272 | ||||
-rwxr-xr-x | raptor2-install | 15 | ||||
-rwxr-xr-x | rasqal-install | 14 |
6 files changed, 232 insertions, 94 deletions
diff --git a/4store-install b/4store-install index 75c7379..6c8ec39 100755 --- a/4store-install +++ b/4store-install @@ -25,7 +25,7 @@ cmd="make install" && run_cmd "$cmd" "Make Install" # Config echo "if echo \"\$LD_LIBRARY_PATH\" | grep -v \"$FST/lib\">/dev/null 2>&1; then export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:$FST/lib\"; fi" >> "$FST_CONF" -if ! cat "$OT_DEFAULT_CONFIG" | grep "four_store">/dev/null 2>&1; then echo "\$four_store = { :uri => 'http://localhost:8088', :user => '', :password => '' }" >> $OT_DEFAULT_CONFIG; fi +if ! cat "$OT_DEFAULT_CONFIG" | grep "four_store">/dev/null 2>&1; then echo '\$four_store = { :uri => "http://localhost:8088", :user => "", :password => "" }' >> $OT_DEFAULT_CONFIG; fi echo "$SELF configuration has been stored in '$FST_CONF'." if ! grep "$FST_CONF" $OT_UI_CONF >/dev/null 2>&1; then @@ -16,24 +16,30 @@ OT_JAVA_HOME="/usr/lib/jvm/java-6-openjdk" # 3) What versions to install OB_NUM_VER="2.3.1" +RAPTOR2_NUM_VER="2.0.8" +RASQAL_NUM_VER="0.9.29" RUBY_DWL="http://ftp.ruby-lang.org/pub/ruby/1.9" -RAPTOR2_DWL="http://download.librdf.org/source/raptor2-2.0.8.tar.gz" -RASQAL_DWL="http://download.librdf.org/source/rasqal-0.9.29.tar.gz" # Done. ### Nothing to gain from changes below this line. -JAVA_CONF="$HOME/.opentox/sh_java" -FST_CONF="$HOME/.opentox/sh_4S" -OB_CONF="$HOME/.opentox/sh_OB" -R_CONF="$HOME/.opentox/sh_R" -RAPTOR2_CONF="$HOME/.opentox/sh_RAPTOR2" -RASQAL_CONF="$HOME/.opentox/sh_RASQAL" +JAVA_CONF="$HOME/.opentox/java.sh" +FST_CONF="$HOME/.opentox/4S.sh" +OB_CONF="$HOME/.opentox/OB.sh" +R_CONF="$HOME/.opentox/R.sh" +RAPTOR2_CONF="$HOME/.opentox/RAPTOR2.sh" +RASQAL_CONF="$HOME/.opentox/RASQAL.sh" OT_UI_CONF="$HOME/.opentox/opentox-ui.sh" +OT_TOOLS_CONF="$HOME/.opentox/ot-tools.sh" OT_DEFAULT_CONFIG="$HOME/.opentox/config/default.rb" OB_VER="openbabel-$OB_NUM_VER" +RAPTOR2_VER="raptor2-$RAPTOR2_NUM_VER" +RASQAL_VER="rasqal-$RASQAL_NUM_VER" OB_DEST="$OT_PREFIX/$OB_VER" OB_DEST_BINDINGS="$OT_PREFIX/openbabel-ruby-install" +RAPTOR2_DWL="http://download.librdf.org/source/$RAPTOR2_VER.tar.gz" +RASQAL_DWL="http://download.librdf.org/source/$RASQAL_VER.tar.gz" + @@ -58,5 +58,6 @@ fi [ -f $HOME/.opentox/config/ambit_descriptors.yaml ] || (cmd="cp ambit_descriptors.yaml $HOME/.opentox/config/" && run_cmd "$cmd" "Ambit keys file") [ -f $HOME/.opentox/config/jl_keys.yaml ] || (cmd="cp jl_keys.yaml $HOME/.opentox/config/" && run_cmd "$cmd" "Joelib keys file") +[ -f $OT_TOOLS_CONFIG ] || (cmd="cp ot-tools-user.sh $OT_TOOLS_CONFIG" && run_cmd "$cmd" "Install ot-tools.sh to CONFIG (~/.opentox/config)") notify diff --git a/ot-tools-user.sh b/ot-tools-user.sh index bc4a7d0..ca3bdbd 100644 --- a/ot-tools-user.sh +++ b/ot-tools-user.sh @@ -5,6 +5,11 @@ otconfig() { source $HOME/.opentox/opentox-ui.sh } +# Display log +alias otless='less $HOME/.opentox/log/development.log' + +# Tail log +alias ottail='tail -f $HOME/.opentox/log/development.log' # Start unicorn # @param1 [service_name] @@ -28,58 +33,98 @@ otstart() { otkill $1 DIR=`pwd` case "$1" in - "algorithm") - start_unicorn $1 8081;; - "compound") - echo "$1 not available yet.";; - #start_unicorn $1 8082;; - "dataset") - start_unicorn $1 8083;; - "feature") - start_unicorn $1 8084;; - "model") - echo "$1 not available yet.";; - #start_unicorn $1 8085;; - "task") - start_unicorn $1 8086;; - "validation") - echo "$1 not available yet.";; - #start_unicorn $1 8087;; - "4store") - nice bash -c "nohup $HOME/opentox-ruby/4S/bin/4s-backend opentox >/dev/null 2>&1 &"; - sleep 1; - nice bash -c "nohup $HOME/opentox-ruby/4S/bin/4s-httpd -D -H localhost -p 8088 opentox >/dev/null 2>&1 &"; - sleep 1; - if ! pgrep -u $USER 4s-backend>/dev/null 2>&1; then echo "Failed to start 4s-backend."; fi - if ! pgrep -u $USER 4s-httpd>/dev/null 2>&1; then echo "Failed to start 4s-httpd."; fi - ;; - "all") - otstart 4store; - otstart algorithm; - otstart dataset; - otstart feature; - otstart task; - ;; - *) - echo "One argument required: [service_name] or 'all'"; - echo "usage: otstart [all|algorithm|compound|dataset|feature|model|task|validation|4store]"; - return 1; - ;; + "algorithm") start_unicorn $1 8081;; + "compound") #start_unicorn $1 8082;; + echo "$1 not available yet.";; + "dataset") start_unicorn $1 8083;; + "feature") start_unicorn $1 8084;; + "model") #start_unicorn $1 8085;; + echo "$1 not available yet.";; + "task") start_unicorn $1 8086;; + "validation") #start_unicorn $1 8087;; + echo "$1 not available yet.";; + "4store") nice bash -c "nohup $HOME/opentox-ruby/4S/bin/4s-backend opentox >/dev/null 2>&1 &"; + sleep 1; + nice bash -c "nohup $HOME/opentox-ruby/4S/bin/4s-httpd -D -H localhost -p 8088 opentox >/dev/null 2>&1 &"; + sleep 1; + if ! pgrep -u $USER 4s-backend>/dev/null 2>&1; then echo "Failed to start 4s-backend."; fi + if ! pgrep -u $USER 4s-httpd>/dev/null 2>&1; then echo "Failed to start 4s-httpd."; fi;; + "all") otstart 4store; + otstart algorithm; + #otstart compound; + otstart dataset; + otstart feature; + #otstart model; + otstart task;; + #otstart validation;; + *) echo "One argument required: [service_name] or 'all'"; + echo "usage: otstart [all|algorithm|compound|dataset|feature|model|task|validation|4store]"; + return 1;; esac cd $DIR } -# Display log -alias otless='less $HOME/.opentox/log/development.log' +# reload unicorn +# @param1 integer Port +# @example reload_unicorn 8081 +reload_unicorn() { + for p in `ps x | grep 'unicorn master' | grep $1 | grep -v grep | awk '{print $1}'`; do + kill -12 $p + done + sleep 0.5 + for p in `ps x | grep 'unicorn master (old)' | grep $1 | grep -v grep | awk '{print $1}'`; do + kill -28 $p + done + sleep 0.5 + # ToDo: Check if new master is working properly. + for p in `ps x | grep 'unicorn master (old)' | grep $1 | grep -v grep | awk '{print $1}'`; do + kill -3 $p + done +} -# Tail log -alias ottail='tail -f $HOME/.opentox/log/development.log' +# Reload the server +otreload() { + if [ $# != 1 ] + then + echo "One argument required: [service_name] or 'all'" + echo "usage: otreload [all|algorithm|compound|dataset|feature|model|task|validation|4store]" + return 1 + fi + + otconfig + case "$1" in + "algorithm") reload_unicorn 8081;; + "compound") #reload_unicorn 8082;; + echo "$1 not available yet.";; + "dataset") reload_unicorn 8083;; + "feature") reload_unicorn 8084;; + "model") #reload_unicorn 8085;; + echo "$1 not available yet.";; + "task") reload_unicorn 8086;; + "validation") #reload_unicorn 8087;; + echo "$1 not available yet.";; + "4store") #killall 4s-httpd >/dev/null 2>&1; + #killall 4s-backend >/dev/null 2>&1;; + echo "$1 reload not available yet.";; + "all") otreload algorithm; + #otreload compound; + otreload dataset; + otreload feature; + #otreload model; + otreload task; + #otrelaod validation; + otreload 4store;; + *) echo "One argument required: [service_name] or 'all'"; + echo "usage: otreload [all|algorithm|compound|dataset|feature|model|task|validation|4store]"; + return 1;; + esac +} # kill unicorn # @param1 integer Port # @example kill_unicorn 8081 kill_unicorn() { - for p in `ps x | grep 'unicorn' | grep $1 | grep -v grep | awk '{print $1}'`; do kill -9 $p; done; + for p in `ps x | grep 'unicorn' | grep $1 | grep -v grep | awk '{print $1}'`; do kill -3 $p; done; } # Kill the server @@ -93,34 +138,121 @@ otkill() { otconfig case "$1" in - "algorithm") kill_unicorn 8081;; - "compound") #kill_unicorn 8082;; - echo "$1 not available yet.";; - "dataset") kill_unicorn 8083;; - "feature") kill_unicorn 8084;; - "model") #kill_unicorn 8085;; - echo "$1 not available yet.";; - "task") kill_unicorn 8086;; + "algorithm") kill_unicorn 8081;; + "compound") #kill_unicorn 8082;; + echo "$1 not available yet.";; + "dataset") kill_unicorn 8083;; + "feature") kill_unicorn 8084;; + "model") #kill_unicorn 8085;; + echo "$1 not available yet.";; + "task") kill_unicorn 8086;; "validation") #kill_unicorn 8087;; - echo "$1 not available yet.";; - "4store") - killall 4s-httpd >/dev/null 2>&1; - killall 4s-backend >/dev/null 2>&1; - ;; - "all") - otkill algorithm; - #otkill compound; - otkill dataset; - otkill feature; - #otkill model; - otkill task; - #otkill validation; - otkill 4store; - ;; - *) - echo "One argument required: [service_name] or 'all'"; - echo "usage: otkill [all|algorithm|compound|dataset|feature|model|task|validation|4store]"; - return 1; - ;; + echo "$1 not available yet.";; + "4store") killall 4s-httpd >/dev/null 2>&1; + killall 4s-backend >/dev/null 2>&1;; + "all") otkill algorithm; + #otkill compound; + otkill dataset; + otkill feature; + #otkill model; + otkill task; + #otkill validation; + otkill 4store;; + *) echo "One argument required: [service_name] or 'all'"; + echo "usage: otkill [all|algorithm|compound|dataset|feature|model|task|validation|4store]"; + return 1;; + esac +} + +# get service uri +# sets $SERVICE_URI if found in config files +# @param1 string [service_name] +# @example get_service_uri algorithm +get_service_uri() { + if [ $# != 1 ] + then + echo "One argument required: [service_name]" + echo "usage: get_service_uri [algorithm|compound|dataset|feature|model|task|validation|four_store]" + return 1 + fi + SERVICE_URI="" + + if [ -f $HOME/.opentox/config/$1.rb ] + then + SERVICE_URI=`cat $HOME/.opentox/config/$1.rb | grep $1 | grep "uri" | awk -F":uri => " '{print $2}' | awk -F" " '{print $1}' | awk -F"," '{print $1}' | sed "s/'//g" | sed 's/"//g'` + fi + + if [ -f $HOME/.opentox/config/default.rb ] + then + [ -n "$SERVICE_URI" ] || SERVICE_URI=`cat $HOME/.opentox/config/default.rb | grep $1 | grep "uri" | awk -F":uri => " '{print $2}' | awk -F" " '{print $1}' | awk -F"," '{print $1}' | sed "s/'//g" | sed 's/"//g'` + fi + + if [ -z "$SERVICE_URI" ] + then + echo "Cannot find service uri for $1 in config files." + return 1 + else + return 0 + fi +} + +# check service +# @param1 string [service_name] +# @example check_service algorithm +check_service() { + if [ $# != 1 ] + then + echo "One argument required: [service_name]" + echo "usage: get_service_uri [algorithm|compound|dataset|feature|model|task|validation|four_store]" + return 1 + fi + get_service_uri $1 + if [ $1 == "four_store" ] + then + SERVICE_URI="$SERVICE_URI""/status/" + fi + if [ -n "`curl -v $SERVICE_URI 2>&1 | grep '200 OK'`" ] + then + return 0 + else + echo "$1 is not available at $SERVICE_URI." + return 1 + fi +} + +# Check the server +otcheck() { + if [ $# != 1 ] + then + echo "One argument required: [service_name] or 'all'" + echo "usage: otcheck [all|algorithm|compound|dataset|feature|model|task|validation|4store]" + return 1 + fi + + otconfig + case "$1" in + "algorithm") check_service "algorithm";; + "compound") #check_service "compound";; + echo "$1 not available yet.";; + "dataset") check_service "dataset";; + "feature") check_service "feature";; + "model") #check_service "model";; + echo "$1 not available yet.";; + "task") check_service "task";; + "validation") #check_service "validation";; + echo "$1 not available yet.";; + "4store") check_service "four_store";; + #killall 4s-backend >/dev/null 2>&1;; + "all") otcheck "algorithm"; + #otcheck "compound"; + otcheck "dataset"; + otcheck "feature"; + #otcheck "model"; + otcheck "task"; + #otcheck "validation"; + otcheck 4store;; + *) echo "One argument required: [service_name] or 'all'"; + echo "usage: otcheck [all|algorithm|compound|dataset|feature|model|task|validation|4store]"; + return 1;; esac } diff --git a/raptor2-install b/raptor2-install index e3718ba..ad44ed4 100755 --- a/raptor2-install +++ b/raptor2-install @@ -5,28 +5,27 @@ DIR=`pwd` . ./utils.sh || (echo "Utils could not be loaded, check opentox-ui.sh." 1>&2 && exit 1) SELF=$(basename $0 -install) check_log $SELF -check_utils "wget tar make" +check_utils "wget tar make grep" # Build mkdir -p $OT_PREFIX/tmp cd $OT_PREFIX/tmp/ cmd="$WGET $RAPTOR2_DWL" && run_cmd "$cmd" "Download" export RAPTOR2_DIR=$OT_PREFIX/$SELF -cmd="$TAR xvzf $SELF*.tar.gz" && run_cmd "$cmd" "Unpack" -rm $SELF*.tar.gz -cd $SELF* +cmd="$TAR xvzf $RAPTOR2_VER.tar.gz" && run_cmd "$cmd" "Unpack" +rm $RAPTOR2_VER.tar.gz +cd $RAPTOR2_VER cmd="./configure --prefix=$RAPTOR2_DIR" && run_cmd "$cmd" "Configure" cmd="$MAKE" && run_cmd "$cmd" "Make" cmd="$MAKE install" && run_cmd "$cmd" "Make Install" # Config -echo "if echo \"\$LD_LIBRARY_PATH\" | grep -v \"$RAPTOR2_DIR/lib\">/dev/null 2>&1; then export LD_LIBRARY_PATH=\"$RAPTOR2_DIR/lib:\$LD_LIBRARY_PATH\"; fi" >> "$RAPTOR2_CONF" -echo "if echo \"\$PKG_CONFIG_PATH\" | grep -v \"$RAPTOR2_DIR/lib/pkgconfig\">/dev/null 2>&1; then export PKG_CONFIG_PATH=\"$RAPTOR2_DIR/lib/pkgconfig:\$PKG_CONFIG_PATH\"; fi" >> "$RAPTOR2_CONF" +echo "if echo \"\$LD_LIBRARY_PATH\" | $GREP -v \"$RAPTOR2_DIR/lib\">/dev/null 2>&1; then export LD_LIBRARY_PATH=\"$RAPTOR2_DIR/lib:\$LD_LIBRARY_PATH\"; fi" >> "$RAPTOR2_CONF" +echo "if echo \"\$PKG_CONFIG_PATH\" | $GREP -v \"$RAPTOR2_DIR/lib/pkgconfig\">/dev/null 2>&1; then export PKG_CONFIG_PATH=\"$RAPTOR2_DIR/lib/pkgconfig:\$PKG_CONFIG_PATH\"; fi" >> "$RAPTOR2_CONF" echo "$SELF configuration has been stored in '$RAPTOR2_CONF'." -if ! grep "$RAPTOR2_CONF" $OT_UI_CONF >/dev/null 2>&1; then +if ! $GREP "$RAPTOR2_CONF" $OT_UI_CONF >/dev/null 2>&1; then echo '. '$RAPTOR2_CONF >> $OT_UI_CONF fi -cd .. export LD_LIBRARY_PATH=$RAPTOR2_DIR"/lib:"$LD_LIBRARY_PATH export PATH=$RAPTOR2_DIR"/bin:"$PATH export PKG_CONFIG_PATH=$RAPTOR2_DIR"/lib/pkgconfig:"$PKG_CONFIG_PATH diff --git a/rasqal-install b/rasqal-install index 93085c5..bc06450 100755 --- a/rasqal-install +++ b/rasqal-install @@ -5,25 +5,25 @@ DIR=`pwd` . ./utils.sh || (echo "Utils could not be loaded, check opentox-ui.sh." 1>&2 && exit 1) SELF=$(basename $0 -install) check_log $SELF -check_utils "wget tar make" +check_utils "wget tar make grep" # Build mkdir -p $OT_PREFIX/tmp cd $OT_PREFIX/tmp/ cmd="$WGET $RASQAL_DWL" && run_cmd "$cmd" "Download" export RASQAL_DIR=$OT_PREFIX/$SELF -cmd="$TAR xvzf $SELF*.tar.gz" && run_cmd "$cmd" "Unpack" -rm $SELF*.tar.gz -cd $SELF* +cmd="$TAR xvzf $RASQAL_VER.tar.gz" && run_cmd "$cmd" "Unpack" +rm $RASQAL_VER.tar.gz +cd $RASQAL_VER cmd="./configure --prefix=$RASQAL_DIR" && run_cmd "$cmd" "Configure" cmd="$MAKE" && run_cmd "$cmd" "Make" cmd="$MAKE install" && run_cmd "$cmd" "Make Install" # Config -echo "if echo \"\$LD_LIBRARY_PATH\" | grep -v \"$RASQAL_DIR/lib\">/dev/null 2>&1; then export LD_LIBRARY_PATH=\"$RASQAL_DIR/lib:\$LD_LIBRARY_PATH\"; fi" >> "$RASQAL_CONF" -echo "if echo \"\$PKG_CONFIG_PATH\" | grep -v \"$RASQAL_DIR/lib/pkgconfig\">/dev/null 2>&1; then export PKG_CONFIG_PATH=\"$RASQAL_DIR/lib/pkgconfig:\$PKG_CONFIG_PATH\"; fi" >> "$RASQAL_CONF" +echo "if echo \"\$LD_LIBRARY_PATH\" | $GREP -v \"$RASQAL_DIR/lib\">/dev/null 2>&1; then export LD_LIBRARY_PATH=\"$RASQAL_DIR/lib:\$LD_LIBRARY_PATH\"; fi" >> "$RASQAL_CONF" +echo "if echo \"\$PKG_CONFIG_PATH\" | $GREP -v \"$RASQAL_DIR/lib/pkgconfig\">/dev/null 2>&1; then export PKG_CONFIG_PATH=\"$RASQAL_DIR/lib/pkgconfig:\$PKG_CONFIG_PATH\"; fi" >> "$RASQAL_CONF" echo "$SELF configuration has been stored in '$RASQAL_CONF'." -if ! grep "$RASQAL_CONF" $OT_UI_CONF >/dev/null 2>&1; then +if ! $GREP "$RASQAL_CONF" $OT_UI_CONF >/dev/null 2>&1; then echo '. '$RASQAL_CONF >> $OT_UI_CONF fi |