summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavor <vorgrimmlerdavid@gmx.de>2012-05-24 11:43:12 +0200
committerdavor <vorgrimmlerdavid@gmx.de>2012-05-24 11:43:12 +0200
commiteb42d1a957b2e1875efbdfd604b47837cdbd80aa (patch)
tree2ba558ac410f4b115d580debb624d06ea7d7e79e
parent795c7fdc4cb3378bf8d55f178fe01bafef1a3097 (diff)
parentdd774317497160966f2b1012733ebc50fa37f962 (diff)
Merge branch 'TD50' of github.com:opentox/test into TD50
-rw-r--r--bbrc-sample/bbrc_sample.rb71
-rw-r--r--bbrc-sample/datasets.yaml36
-rw-r--r--bbrc-sample/factors_config36
-rwxr-xr-xbbrc-sample/wrapper_bbrc_sample.sh45
4 files changed, 188 insertions, 0 deletions
diff --git a/bbrc-sample/bbrc_sample.rb b/bbrc-sample/bbrc_sample.rb
new file mode 100644
index 0000000..98c02ef
--- /dev/null
+++ b/bbrc-sample/bbrc_sample.rb
@@ -0,0 +1,71 @@
+# Do a 10-fold crossvalidation
+# # Author: Andreas Maunz, David Vorgrimmler
+# # @params: Dataset_name(see dataset.yaml), pc_type(electronic,cpsa or constitutional ... or nil to disable), prediction_algorithm(local_mlr_prop or local_svm_regression ...), algo_params (e.g. ;param_name1=param_value1;param_name2=param_value2 or nil), random_seed (1, 2, ... or 10), path (e.g. ../data/dataset.yaml)
+
+require 'rubygems'
+require 'opentox-ruby'
+require 'yaml'
+
+if ARGV.size != 3
+ puts "Args: path/to/dataset.yaml ds_name num_boots"
+ puts ARGV.size
+ exit
+end
+
+path = ARGV[0]
+ds_file = path.split("/").last
+
+if File.exists?(path)
+ puts "[#{Time.now.utc.iso8601(4).to_s}] #{ds_file} exists."
+else
+ puts "#{ds_file} does not exist."
+ exit
+end
+
+subjectid = nil
+
+ds_name = ARGV[1] # e.g. MOU
+num_boots = ARGV[2] # e.g. electronic,cpsa or nil to disable
+
+ds = YAML::load_file("#{path}")
+ds_uri = ds[ds_name]["dataset"]
+
+algo_params = {}
+algo_params["dataset_uri"] = ds_uri
+algo_params["num_boots"] = num_boots
+
+puts "[#{Time.now.utc.iso8601(4).to_s}] #{algo_params.to_yaml}"
+
+ds = OpenTox::Dataset.find(ds_uri)
+ds_nr_de = ds.data_entries.size
+ds_nr_com = ds.compounds.size
+t = Time.now
+result_uri = OpenTox::RestClientWrapper.post( File.join(CONFIG[:services]["opentox-algorithm"],"fminer/bbrc/sample"), algo_params )
+duration = Time.now - t
+ds_result = OpenTox::Dataset.find(result_uri)
+ds_result_nr_de = ds_result.data_entries.size
+ds_result_nr_com = ds_result.compounds.size
+ds_result_nr_f = ds_result.features.size
+
+min_sampling_support = ds_result.metadata[OT::parameters][2][OT::paramValue]
+num_boots = ds_result.metadata[OT::parameters][3][OT::paramValue]
+min_frequency_per_sample = ds_result.metadata[OT::parameters][4][OT::paramValue]
+nr_hits = ds_result.metadata[OT::parameters][5][OT::paramValue]
+merge_time = ds_result.metadata[OT::parameters][6][OT::paramValue]
+n_stripped_mss = ds_result.metadata[OT::parameters][7][OT::paramValue]
+n_stripped_cst = ds_result.metadata[OT::parameters][8][OT::paramValue]
+random_seed = ds_result.metadata[OT::parameters][9][OT::paramValue]
+
+puts
+puts "[#{Time.now.utc.iso8601(4).to_s}] Bbrc result: #{result_uri}"
+puts "[#{Time.now.utc.iso8601(4).to_s}] nr dataentries: #{ds_result_nr_de} , (of #{ds_nr_de} )"
+puts "[#{Time.now.utc.iso8601(4).to_s}] nr dataentries: #{ds_result_nr_com} , (of #{ds_nr_com} )"
+puts "[#{Time.now.utc.iso8601(4).to_s}] nr features: #{ds_result_nr_f}"
+puts "[#{Time.now.utc.iso8601(4).to_s}] Merge time: #{merge_time}"
+puts "[#{Time.now.utc.iso8601(4).to_s}] Duration: #{duration}"
+
+puts "=hyperlink(\"#{ds_uri}\";\"#{ds_name}\"),#{num_boots},#{min_sampling_support},#{min_frequency_per_sample},#{nr_hits},=hyperlink(\"#{result_uri}\";\"bbrc_result\"),#{ds_result_nr_com},#{ds_nr_com},#{ds_result_nr_f},#{duration},#{merge_time},#{n_stripped_mss},#{n_stripped_cst},#{random_seed}"
+
+puts "------------------------"
+puts
+
diff --git a/bbrc-sample/datasets.yaml b/bbrc-sample/datasets.yaml
new file mode 100644
index 0000000..409b0f3
--- /dev/null
+++ b/bbrc-sample/datasets.yaml
@@ -0,0 +1,36 @@
+{
+
+ "SAL": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/4649"
+ },
+
+ "MOU": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/7843"
+ },
+
+ "MCC": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/7868"
+ },
+
+ "RAT": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/7970"
+ },
+
+ "BB": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/7971"
+ },
+
+ "NCT": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/7972"
+ },
+
+ "YOSH": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/7973"
+ },
+
+ "YOSH2": {
+ "dataset": "http://toxcreate3.in-silico.ch:8086/dataset/45267"
+ }
+
+
+}
diff --git a/bbrc-sample/factors_config b/bbrc-sample/factors_config
new file mode 100644
index 0000000..a9de64d
--- /dev/null
+++ b/bbrc-sample/factors_config
@@ -0,0 +1,36 @@
+#Dataset num_boots
+SAL 500
+SAL 400
+SAL 300
+SAL 200
+SAL 100
+MOU 500
+MOU 400
+MOU 300
+MOU 200
+MOU 100
+MCC 500
+MCC 400
+MCC 300
+MCC 200
+MCC 100
+RAT 500
+RAT 400
+RAT 300
+RAT 200
+RAT 100
+BB 500
+BB 400
+BB 300
+BB 200
+BB 100
+NCT 500
+NCT 400
+NCT 300
+NCT 200
+NCT 100
+YOSH 500
+YOSH 400
+YOSH 300
+YOSH 200
+YOSH 100
diff --git a/bbrc-sample/wrapper_bbrc_sample.sh b/bbrc-sample/wrapper_bbrc_sample.sh
new file mode 100755
index 0000000..26eeaa4
--- /dev/null
+++ b/bbrc-sample/wrapper_bbrc_sample.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Wrapper
+# David Vorgrimmler, 2012
+
+if [ $# -lt 2 ]; then
+ echo "Usage: $0 factors path/to/dataset.yaml"
+ exit
+fi
+
+#PWD=`pwd`
+#echo $PWD
+#if [ ! -f $PWD/../data/datasets.yaml ]
+if [ ! -f $2 ]
+then
+ echo "datasets.yaml does not exist."
+ exit
+fi
+
+# Configure basics
+source $HOME/.bash_aliases
+otconfig
+THIS_DATE=`date +%Y%m%d_%H_`
+BBRC="bbrc_sample.rb"
+FACTORS="$1"
+
+# Don't start when running
+while ps x | grep $BBRC | grep -v grep >/dev/null 2>&1; do sleep 30; done
+
+LOGFILE="$THIS_DATE""$USER""_bbrc_sample.log"
+#rm "$LOGFILE" >/dev/null 2>&1
+if [ -f $LOGFILE ]
+then
+ LOGFILE="$LOGFILE`date +%M%S`"
+fi
+
+
+cat $FACTORS | while read factor; do
+ if ! [[ "$factor" =~ "#" ]]; then # allow comments
+ echo "${THIS_DATE}: $factor" >> $LOGFILE>&1
+ echo "ruby $BBRC $2 $factor" >> $LOGFILE 2>&1
+ ruby $BBRC $2 $factor >> $LOGFILE 2>&1
+ echo >> $LOGFILE 2>&1
+ fi
+done
+