summaryrefslogtreecommitdiff
path: root/test/test_examples.rb
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2010-05-31 17:25:21 +0200
committermguetlein <martin.guetlein@gmail.com>2010-05-31 17:25:21 +0200
commit7ce7b16b6b0d2e965e92ae28e6f58644203c1cab (patch)
treea31f523060c15fb6a9525b010959eda3330f0b07 /test/test_examples.rb
parentd09a2f15a7dc499545732d7b8b45601533252ed9 (diff)
test/nightly rewrite
Diffstat (limited to 'test/test_examples.rb')
-rw-r--r--test/test_examples.rb214
1 files changed, 214 insertions, 0 deletions
diff --git a/test/test_examples.rb b/test/test_examples.rb
new file mode 100644
index 0000000..d08e358
--- /dev/null
+++ b/test/test_examples.rb
@@ -0,0 +1,214 @@
+
+require 'test/test_examples_util.rb'
+
+class Class
+ def humanize
+ self.to_s.gsub(/.*::/, "").gsub(/([^^A-Z_])([A-Z])/, '\1-\2').gsub(/_/,"-")
+ end
+end
+
+module ValidationExamples
+
+ ########################################################################################################
+
+ class ABSTRACTHamsterSplit < SplitTestValidation
+ def initialize
+ @dataset_file = File.new("data/hamster_carcinogenicity.yaml","r")
+ @prediction_feature = "http://localhost/toxmodel/feature#Hamster%20Carcinogenicity%20(DSSTOX/CPDB)"
+ end
+ end
+
+ class LazarHamsterSplit < ABSTRACTHamsterSplit
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-algorithm"],"lazar")
+ @algorithm_params = "feature_generation_uri="+File.join(@@config[:services]["opentox-algorithm"],"fminer")
+ super
+ end
+ end
+
+ class MajorityHamsterSplit < ABSTRACTHamsterSplit
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-majority"],"/class/algorithm")
+ super
+ end
+ end
+
+ ########################################################################################################
+
+ class ABSTRACTHamsterTrainingTest < TrainingTestValidation
+ def initialize
+ @test_target_dataset_file = File.new("data/hamster_carcinogenicity.yaml","r")
+ @training_dataset_file = File.new("data/hamster_carcinogenicity.train.yaml","r")
+ @test_dataset_file = File.new("data/hamster_carcinogenicity.test.yaml","r")
+ @prediction_feature = "http://localhost/toxmodel/feature#Hamster%20Carcinogenicity%20(DSSTOX/CPDB)"
+ end
+ end
+
+ class MajorityHamsterTrainingTest < ABSTRACTHamsterTrainingTest
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-majority"],"/class/algorithm")
+ super
+ end
+ end
+
+ class LazarHamsterTrainingTest < ABSTRACTHamsterTrainingTest
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-algorithm"],"lazar")
+ @algorithm_params = "feature_generation_uri="+File.join(@@config[:services]["opentox-algorithm"],"fminer")
+ super
+ end
+ end
+
+ ########################################################################################################
+
+ class ABSTRACTHamsterCrossvalidation < CrossValidation
+ def initialize
+ @dataset_file = File.new("data/hamster_carcinogenicity.yaml","r")
+ @prediction_feature = "http://localhost/toxmodel/feature#Hamster%20Carcinogenicity%20(DSSTOX/CPDB)"
+ end
+ end
+
+ class MajorityHamsterCrossvalidation < ABSTRACTHamsterCrossvalidation
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-majority"],"/class/algorithm")
+ super
+ end
+ end
+
+ class LazarHamsterCrossvalidation < ABSTRACTHamsterCrossvalidation
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-algorithm"],"lazar")
+ @algorithm_params = "feature_generation_uri="+File.join(@@config[:services]["opentox-algorithm"],"fminer")
+ super
+ end
+ end
+
+ ########################################################################################################
+
+ class ABSTRACT_ISTHamsterCrossvalidationInsilico < CrossValidation
+ def initialize
+ @dataset_uri = "http://webservices.in-silico.ch/dataset/108"
+ @prediction_feature = "http://toxcreate.org/feature#Hamster%20Carcinogenicity%20(DSSTOX/CPDB)"
+ end
+ end
+
+ class MajorityISTHamsterCrossvalidation < ABSTRACT_ISTHamsterCrossvalidationInsilico
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-majority"],"/class/algorithm")
+ super
+ end
+ end
+
+ class LazarISTHamsterCrossvalidation < ABSTRACT_ISTHamsterCrossvalidationInsilico
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-algorithm"],"lazar")
+ @algorithm_params = "feature_generation_uri="+File.join(@@config[:services]["opentox-algorithm"],"fminer")
+ super
+ end
+ end
+
+ class ISTLazarISTHamsterCrossvalidation < ABSTRACT_ISTHamsterCrossvalidationInsilico
+ def initialize
+ @algorithm_uri = "http://webservices.in-silico.ch/algorithm/lazar"
+ @algorithm_params = "feature_generation_uri=http://webservices.in-silico.ch/algorithm/fminer"
+ super
+ end
+ end
+
+
+ ########################################################################################################
+
+ class LR_AmbitCacoModel < ModelValidation
+ def initialize
+ @model_uri = "http://apps.ideaconsult.net:8080/ambit2/model/33"
+ @test_dataset_uri = "http://apps.ideaconsult.net:8080/ambit2/dataset/R545"
+ #@prediction_feature=http://apps.ideaconsult.net:8080/ambit2/feature/22200
+ end
+ end
+
+ ########################################################################################################
+
+ class ABSTRACTCacoTrainingTest < TrainingTestValidation
+ def initialize
+ @training_dataset_uri = "http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/R7798"
+ @test_dataset_uri = "http://ambit.uni-plovdiv.bg:8080/ambit2/dataset/R8353"
+ @prediction_feature = "http://ambit.uni-plovdiv.bg:8080/ambit2/feature/255510"
+ end
+ end
+
+ class LR_AmbitCacoTrainingTest < ABSTRACTCacoTrainingTest
+ def initialize
+ @algorithm_uri = "http://ambit.uni-plovdiv.bg:8080/ambit2/algorithm/LR"
+ super
+ end
+ end
+
+ class MLR_NTUA_CacoTrainingTest < ABSTRACTCacoTrainingTest
+ def initialize
+ @algorithm_uri = "http://opentox.ntua.gr:3003/algorithm/mlr"
+ super
+ end
+ end
+
+ class MLR_NTUA2_CacoTrainingTest < ABSTRACTCacoTrainingTest
+ def initialize
+ @algorithm_uri = "http://opentox.ntua.gr:3004/algorithm/mlr"
+ super
+ end
+ end
+
+ class MajorityCacoTrainingTest < ABSTRACTCacoTrainingTest
+ def initialize
+ @algorithm_uri = File.join(@@config[:services]["opentox-majority"],"/regr/algorithm")
+ super
+ end
+ end
+
+ ########################################################################################################
+
+ @@list = {
+ "1" => [ LazarHamsterSplit, MajorityHamsterSplit ],
+ "1a" => [ LazarHamsterSplit ],
+ "1b" => [ MajorityHamsterSplit ],
+
+ "2" => [ LazarHamsterTrainingTest, MajorityHamsterTrainingTest ],
+ "2a" => [ LazarHamsterTrainingTest ],
+ "2b" => [ MajorityHamsterTrainingTest ],
+
+ "3" => [ LazarHamsterCrossvalidation, MajorityHamsterCrossvalidation ],
+ "3a" => [ LazarHamsterCrossvalidation ],
+ "3b" => [ MajorityHamsterCrossvalidation ],
+
+ "4" => [ MajorityISTHamsterCrossvalidation, LazarISTHamsterCrossvalidation, ISTLazarISTHamsterCrossvalidation ],
+ "4a" => [ MajorityISTHamsterCrossvalidation ],
+ "4b" => [ LazarISTHamsterCrossvalidation ],
+ "4c" => [ ISTLazarISTHamsterCrossvalidation ],
+
+ "5a" => [ LR_AmbitCacoModel ],
+
+ "6" => [ LR_AmbitCacoTrainingTest, MLR_NTUA_CacoTrainingTest, MLR_NTUA2_CacoTrainingTest, MajorityCacoTrainingTest ],
+ "6a" => [ LR_AmbitCacoTrainingTest ],
+ "6b" => [ MLR_NTUA_CacoTrainingTest ],
+ "6c" => [ MLR_NTUA2_CacoTrainingTest ],
+ "6d" => [ MajorityCacoTrainingTest ],
+ }
+
+ def self.list
+ @@list.sort.collect{|k,v| k+":\t"+v.collect{|vv| vv.humanize}.join("\n\t")+"\n"} #.join("\n")
+ end
+
+ def self.select(csv_keys)
+ res = []
+ if csv_keys!=nil and csv_keys.size>0
+ csv_keys.split(",").each do |k|
+ raise "no key "+k.to_s unless @@list.has_key?(k)
+ res << @@list[k]
+ end
+ end
+ return res
+ end
+
+end
+
+#puts ValidationExamples.list
+#puts ValidationExamples.select("1,2a").inspect \ No newline at end of file