From 1c1a2ca0ae50e2f69b9e5cc50077a3fadb0e5f2f Mon Sep 17 00:00:00 2001 From: mguetlein Date: Wed, 18 May 2011 15:38:55 +0200 Subject: adding tests for new algorithm comparison report --- validation.rb | 135 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 44 deletions(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index 14ef5ee..74c6d23 100644 --- a/validation.rb +++ b/validation.rb @@ -35,11 +35,13 @@ class ValidationTest < Test::Unit::TestCase end @@data = [] - files = { File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, + files = { #File.new("data/hamster_carcinogenicity.csv") => :crossvalidation, + File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, + #File.new("data/EPAFHM.csv") => :crossvalidation, File.new("data/EPAFHM.mini.csv") => :crossvalidation, File.new("data/hamster_carcinogenicity.csv") => :validation, File.new("data/EPAFHM.csv") => :validation, -# File.new("data/StJudes-HepG2-testset_Class.csv") => :crossvalidation + #File.new("data/StJudes-HepG2-testset_Class.csv") => :crossvalidation } files.each do |file,type| @@data << { :type => type, @@ -91,7 +93,7 @@ class ValidationTest < Test::Unit::TestCase :random_seed => 2} t = OpenTox::SubTask.new(nil,0,1) def t.progress(pct) - if !defined?@last_msg or @last_msg+3 data[:data], - :algorithm_uri => File.join(CONFIG[:services]["opentox-algorithm"],"lazar"), - :algorithm_params => "feature_generation_uri="+File.join(CONFIG[:services]["opentox-algorithm"],"fminer/bbrc"), - :prediction_feature => data[:feat], - :num_folds => 2 } - t = OpenTox::SubTask.new(nil,0,1) - def t.progress(pct) - if !defined?@last_msg or @last_msg+3 data[:data], + :algorithm_uri => File.join(CONFIG[:services]["opentox-algorithm"],"lazar"), + :algorithm_params => "feature_generation_uri="+File.join(CONFIG[:services]["opentox-algorithm"],"fminer/"+fminer), + :prediction_feature => data[:feat], + :num_folds => 10 } + #:num_folds => 2 } + t = OpenTox::SubTask.new(nil,0,1) + def t.progress(pct) + if !defined?@last_msg or @last_msg+10 algorithm} ) + assert cv_list.include?(cv.uri) + cv_list.each do |cv_uri| + alg = OpenTox::Crossvalidation.find(cv_uri).metadata[OT.algorithm] + assert alg==algorithm,"wrong algorithm for filtered crossvalidation, should be: '"+algorithm.to_s+"', is: '"+alg.to_s+"'" + end + + @@cvs << cv + @@cv_datasets << data + @@cv_identifiers << fminer end - summary = cv.summary(@@subjectid) - assert_kind_of Hash,summary - - algorithm = cv.metadata[OT.algorithm] - assert algorithm.uri? - cv_list = OpenTox::Crossvalidation.list( {:algorithm => algorithm} ) - assert cv_list.include?(cv.uri) - cv_list.each do |cv_uri| - alg = OpenTox::Crossvalidation.find(cv_uri).metadata[OT.algorithm] - assert alg==algorithm,"wrong algorithm for filtered crossvalidation, should be: '"+algorithm.to_s+"', is: '"+alg.to_s+"'" - end - - @@cvs << cv end end end @@ -229,7 +238,7 @@ class ValidationTest < Test::Unit::TestCase OpenTox::CrossvalidationReport.create(cv.uri) end end - assert OpenTox::ValidationReport.find_for_validation(cv.uri,@@subjectid)==nil + assert OpenTox::CrossvalidationReport.find_for_crossvalidation(cv.uri,@@subjectid)==nil report = OpenTox::CrossvalidationReport.create(cv.uri,@@subjectid) assert report.uri.uri? if @@subjectid @@ -248,6 +257,43 @@ class ValidationTest < Test::Unit::TestCase end end + def test_crossvalidation_compare_report + @@reports = [] unless defined?@@reports + @@cvs.size.times do |i| + @@cvs.size.times do |j| + if j>i and @@cv_datasets[i]==@@cv_datasets[j] + puts "test_crossvalidation_compare_report" + assert_kind_of OpenTox::Crossvalidation,@@cvs[i] + assert_kind_of OpenTox::Crossvalidation,@@cvs[j] + hash = { @@cv_identifiers[i] => [@@cvs[i].uri], + @@cv_identifiers[j] => [@@cvs[j].uri] } + if @@subjectid + assert_rest_call_error OpenTox::NotAuthorizedError do + OpenTox::AlgorithmComparisonReport.create hash,@@subjectid + end + end + assert OpenTox::AlgorithmComparisonReport.find_for_crossvalidation(@@cvs[i].uri,@@subjectid)==nil + assert OpenTox::AlgorithmComparisonReport.find_for_crossvalidation(@@cvs[j].uri,@@subjectid)==nil + report = OpenTox::AlgorithmComparisonReport.create hash,@@subjectid + assert report.uri.uri? + if @@subjectid + assert_rest_call_error OpenTox::NotAuthorizedError do + OpenTox::AlgorithmComparisonReport.find(report.uri) + end + end + report = OpenTox::AlgorithmComparisonReport.find(report.uri,@@subjectid) + assert_valid_date report + assert report.uri.uri? + report2 = OpenTox::AlgorithmComparisonReport.find_for_crossvalidation(@@cvs[i].uri,@@subjectid) + assert_equal report.uri,report2.uri + report3 = OpenTox::AlgorithmComparisonReport.find_for_crossvalidation(@@cvs[j].uri,@@subjectid) + assert_equal report.uri,report3.uri + @@reports << report2 + end + end + end + end + def test_qmrf_report #@@cv = OpenTox::Crossvalidation.find("http://local-ot/validation/crossvalidation/13", @@subjectid) @@ -302,8 +348,9 @@ class ValidationTest < Test::Unit::TestCase raise "no opentox object" unless opentox_object.class.to_s.split("::").first=="OpenTox" assert opentox_object.metadata.is_a?(Hash) assert opentox_object.metadata[DC.date].to_s.length>0,"date not set for "+opentox_object.uri.to_s+", is metadata loaded? (use find)" -=begin time = Time.parse(opentox_object.metadata[DC.date]) + assert time!=nil +=begin assert timeTime.new-(10*60),opentox_object.uri.to_s+" took longer than 10 minutes "+time.to_s =end -- cgit v1.2.3 From e28863129af071e25ec581b46c4160aaba75c33d Mon Sep 17 00:00:00 2001 From: mguetlein Date: Tue, 24 May 2011 16:17:46 +0200 Subject: add validation to tests again, slightly modify validation tests (qmrf model, more debugging options) --- validation.rb | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index 74c6d23..0ff3c15 100644 --- a/validation.rb +++ b/validation.rb @@ -34,6 +34,8 @@ class ValidationTest < Test::Unit::TestCase @@subjectid = nil end + @@delete = true + @@feature_types = ["bbrc", "last"] @@data = [] files = { #File.new("data/hamster_carcinogenicity.csv") => :crossvalidation, File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, @@ -61,11 +63,13 @@ class ValidationTest < Test::Unit::TestCase def global_teardown puts "delete and logout" - @@data.each{|data| OpenTox::Dataset.find(data[:data],@@subjectid).delete(@@subjectid) if data[:delete]} - @@vs.each{|v| v.delete(@@subjectid)} if defined?@@vs - @@cvs.each{|cv| cv.delete(@@subjectid)} if defined?@@cvs - @@reports.each{|report| report.delete(@@subjectid)} if defined?@@reports - @@qmrfReports.each{|qmrfReport| qmrfReport.delete(@@subjectid)} if defined?@@qmrfReports + if @@delete + @@data.each{|data| OpenTox::Dataset.find(data[:data],@@subjectid).delete(@@subjectid) if data[:delete]} + @@vs.each{|v| v.delete(@@subjectid)} if defined?@@vs + @@cvs.each{|cv| cv.delete(@@subjectid)} if defined?@@cvs + @@reports.each{|report| report.delete(@@subjectid)} if defined?@@reports + @@qmrfReports.each{|qmrfReport| qmrfReport.delete(@@subjectid)} if defined?@@qmrfReports + end OpenTox::Authorization.logout(@@subjectid) if AA_SERVER end @@ -113,6 +117,7 @@ class ValidationTest < Test::Unit::TestCase assert model.uri? v_list = OpenTox::Validation.list( {:model => model} ) assert v_list.size==1 and v_list.include?(v.uri) + puts v.uri unless @@delete @@vs << v end end @@ -147,6 +152,7 @@ class ValidationTest < Test::Unit::TestCase assert_equal report.uri,report2.uri report3_uri = v.find_or_create_report(@@subjectid) assert_equal report.uri,report3_uri + puts report2.uri unless @@delete @@reports << report2 end end @@ -170,7 +176,7 @@ class ValidationTest < Test::Unit::TestCase @@cv_identifiers = [] @@data.each do |data| if data[:type]==:crossvalidation - ["bbrc", "last"].each do |fminer| + @@feature_types.each do |fminer| puts "test_crossvalidation "+data[:info].to_s+" "+fminer p = { :dataset_uri => data[:data], @@ -213,6 +219,7 @@ class ValidationTest < Test::Unit::TestCase alg = OpenTox::Crossvalidation.find(cv_uri).metadata[OT.algorithm] assert alg==algorithm,"wrong algorithm for filtered crossvalidation, should be: '"+algorithm.to_s+"', is: '"+alg.to_s+"'" end + puts cv.uri unless @@delete @@cvs << cv @@cv_datasets << data @@ -253,6 +260,7 @@ class ValidationTest < Test::Unit::TestCase assert_equal report.uri,report2.uri report3_uri = cv.find_or_create_report(@@subjectid) assert_equal report.uri,report3_uri + puts report2.uri unless @@delete @@reports << report2 end end @@ -288,6 +296,7 @@ class ValidationTest < Test::Unit::TestCase assert_equal report.uri,report2.uri report3 = OpenTox::AlgorithmComparisonReport.find_for_crossvalidation(@@cvs[j].uri,@@subjectid) assert_equal report.uri,report3.uri + puts report2.uri unless @@delete @@reports << report2 end end @@ -301,21 +310,23 @@ class ValidationTest < Test::Unit::TestCase @@cvs.each do |cv| puts "test_qmrf_report" assert defined?cv,"no crossvalidation defined" - validations = cv.metadata[OT.validation] - assert_kind_of Array,validations - assert validations.size==cv.metadata[OT.numFolds].to_i,validations.size.to_s+"!="+cv.metadata[OT.numFolds].to_s - val = OpenTox::Validation.find(validations[0], @@subjectid) - model_uri = val.metadata[OT.model] - + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => cv.metadata[OT.dataset], :subjectid => @@subjectid}).to_s + assert model_uri.uri? +# validations = cv.metadata[OT.validation] +# assert_kind_of Array,validations +# assert validations.size==cv.metadata[OT.numFolds].to_i,validations.size.to_s+"!="+cv.metadata[OT.numFolds].to_s +# val = OpenTox::Validation.find(validations[0], @@subjectid) +# model_uri = val.metadata[OT.model] model = OpenTox::Model::Generic.find(model_uri, @@subjectid) assert model!=nil - #assert_rest_call_error OpenTox::NotFoundError do # OpenTox::QMRFReport.find_for_model(model_uri, @@subjectid) #end - - @@qmrfReports << OpenTox::QMRFReport.create(model_uri, @@subjectid) + qmrfReport = OpenTox::QMRFReport.create(model_uri, @@subjectid) + puts qmrfReport.uri unless @@delete + @@qmrfReports << qmrfReport end + end ################### utils and overrides ########################## -- cgit v1.2.3 From e26abb0026c611a75da6a0484003d50c1961804f Mon Sep 17 00:00:00 2001 From: mguetlein Date: Thu, 26 May 2011 15:22:18 +0200 Subject: fix validation test for small datasets and a&a --- validation.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index 0ff3c15..fe62782 100644 --- a/validation.rb +++ b/validation.rb @@ -181,7 +181,8 @@ class ValidationTest < Test::Unit::TestCase p = { :dataset_uri => data[:data], :algorithm_uri => File.join(CONFIG[:services]["opentox-algorithm"],"lazar"), - :algorithm_params => "feature_generation_uri="+File.join(CONFIG[:services]["opentox-algorithm"],"fminer/"+fminer), + :algorithm_params => "feature_generation_uri="+File.join(CONFIG[:services]["opentox-algorithm"],"fminer/"+fminer)+ + (data[:info] =~ /mini/ ? ";backbone=false;min_chisq_significance=0.0" : ""), :prediction_feature => data[:feat], :num_folds => 10 } #:num_folds => 2 } @@ -216,8 +217,17 @@ class ValidationTest < Test::Unit::TestCase cv_list = OpenTox::Crossvalidation.list( {:algorithm => algorithm} ) assert cv_list.include?(cv.uri) cv_list.each do |cv_uri| - alg = OpenTox::Crossvalidation.find(cv_uri).metadata[OT.algorithm] - assert alg==algorithm,"wrong algorithm for filtered crossvalidation, should be: '"+algorithm.to_s+"', is: '"+alg.to_s+"'" + begin + alg = OpenTox::Crossvalidation.find(cv_uri, @@subjectid).metadata[OT.algorithm] + assert alg==algorithm,"wrong algorithm for filtered crossvalidation, should be: '"+algorithm.to_s+"', is: '"+alg.to_s+"'" + rescue OpenTox::RestCallError => e + raise "error Report of RestCallError is no errorReport: "+e.errorCause.class.to_s+":\n"+e.errorCause.to_yaml unless e.errorCause.is_a?(OpenTox::ErrorReport) + report = e.errorCause + while report.errorCause + report = report.errorCause + end + assert_equal report.errorType,OpenTox::NotAuthorizedError.to_s + end end puts cv.uri unless @@delete -- cgit v1.2.3 From e9d9e60312f6dd2def1b70142a32db6021de1fbb Mon Sep 17 00:00:00 2001 From: mguetlein Date: Fri, 27 May 2011 10:12:10 +0200 Subject: remplace hamster.mini with normal hamster, empty prediction datasets currently not accepted by validation --- validation.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index fe62782..58229a7 100644 --- a/validation.rb +++ b/validation.rb @@ -37,12 +37,12 @@ class ValidationTest < Test::Unit::TestCase @@delete = true @@feature_types = ["bbrc", "last"] @@data = [] - files = { #File.new("data/hamster_carcinogenicity.csv") => :crossvalidation, - File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, - #File.new("data/EPAFHM.csv") => :crossvalidation, - File.new("data/EPAFHM.mini.csv") => :crossvalidation, - File.new("data/hamster_carcinogenicity.csv") => :validation, - File.new("data/EPAFHM.csv") => :validation, + files = { File.new("data/hamster_carcinogenicity.csv") => :crossvalidation, + #File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, + #File.new("data/EPAFHM.csv") => :crossvalidation, + File.new("data/EPAFHM.mini.csv") => :crossvalidation, + File.new("data/hamster_carcinogenicity.csv") => :validation, + File.new("data/EPAFHM.csv") => :validation, #File.new("data/StJudes-HepG2-testset_Class.csv") => :crossvalidation } files.each do |file,type| -- cgit v1.2.3 From c4a339bc2e22762359a3bad97c60407550159e25 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Mon, 30 May 2011 10:42:05 +0200 Subject: fix dataset delete error in validation test --- validation.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index 58229a7..02653fc 100644 --- a/validation.rb +++ b/validation.rb @@ -64,7 +64,8 @@ class ValidationTest < Test::Unit::TestCase def global_teardown puts "delete and logout" if @@delete - @@data.each{|data| OpenTox::Dataset.find(data[:data],@@subjectid).delete(@@subjectid) if data[:delete]} + @@data.each{|data| OpenTox::Dataset.find(data[:data],@@subjectid).delete(@@subjectid) if data[:delete] and + OpenTox::Dataset.exist?(data[:data]) } @@vs.each{|v| v.delete(@@subjectid)} if defined?@@vs @@cvs.each{|cv| cv.delete(@@subjectid)} if defined?@@cvs @@reports.each{|report| report.delete(@@subjectid)} if defined?@@reports -- cgit v1.2.3 From 1c9f80e8dd360b3383cd00059b9cc181d1cca2ec Mon Sep 17 00:00:00 2001 From: mguetlein Date: Tue, 31 May 2011 23:29:50 +0200 Subject: test update: valiation of lazar applied to ambit datasets --- validation.rb | 146 ++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 100 insertions(+), 46 deletions(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index 02653fc..9723a33 100644 --- a/validation.rb +++ b/validation.rb @@ -22,7 +22,34 @@ class Exception end class ValidationTest < Test::Unit::TestCase - + + @@delete = true + @@feature_types = ["bbrc", "last"] + @@qmrf_test = true + @@data = [] + @@data << { :type => :crossvalidation, + :data => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?max=100", + :feat => "http://apps.ideaconsult.net:8080/ambit2/feature/26221", + :info => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?max=100" } + @@data << { :type => :training_test_validation, + :train_data => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?page=0&pagesize=150", + :test_data => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?page=3&pagesize=50", + :feat => "http://apps.ideaconsult.net:8080/ambit2/feature/26221", + :info => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?page=0&pagesize=150" } + @@data << { :type => :training_test_validation, + :train_data => "http://apps.ideaconsult.net:8080/ambit2/dataset/435293?page=0&pagesize=300", + :test_data => "http://apps.ideaconsult.net:8080/ambit2/dataset/435293?page=30&pagesize=10", + :feat => "http://apps.ideaconsult.net:8080/ambit2/feature/533748", + :info => "http://apps.ideaconsult.net:8080/ambit2/dataset/435293?page=0&pagesize=300" } + @@files = { File.new("data/hamster_carcinogenicity.csv") => :crossvalidation, + #File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, + #File.new("data/EPAFHM.csv") => :crossvalidation, + File.new("data/EPAFHM.mini.csv") => :crossvalidation, + File.new("data/hamster_carcinogenicity.csv") => :split_validation, + File.new("data/EPAFHM.csv") => :split_validation, + #File.new("data/StJudes-HepG2-testset_Class.csv") => :crossvalidation + } + def global_setup puts "login and upload datasets" if AA_SERVER @@ -33,39 +60,22 @@ class ValidationTest < Test::Unit::TestCase puts "AA disabled" @@subjectid = nil end - - @@delete = true - @@feature_types = ["bbrc", "last"] - @@data = [] - files = { File.new("data/hamster_carcinogenicity.csv") => :crossvalidation, - #File.new("data/hamster_carcinogenicity.mini.csv") => :crossvalidation, - #File.new("data/EPAFHM.csv") => :crossvalidation, - File.new("data/EPAFHM.mini.csv") => :crossvalidation, - File.new("data/hamster_carcinogenicity.csv") => :validation, - File.new("data/EPAFHM.csv") => :validation, - #File.new("data/StJudes-HepG2-testset_Class.csv") => :crossvalidation - } - files.each do |file,type| + @@files.each do |file,type| @@data << { :type => type, :data => ValidationTestUtil.upload_dataset(file, @@subjectid), :feat => ValidationTestUtil.prediction_feature_for_file(file), :info => file.path, :delete => true} end -# @@data << { :type => :crossvalidation, -# :data => "http://apps.ideaconsult.net:8080/ambit2/dataset/9?max=50", -# :feat => "http://apps.ideaconsult.net:8080/ambit2/feature/21573", -# :info => "http://apps.ideaconsult.net:8080/ambit2/dataset/9?max=50" } -# @@data << { :type => :validation, -# :data => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?max=50", -# :feat => "http://apps.ideaconsult.net:8080/ambit2/feature/26221", -# :info => "http://apps.ideaconsult.net:8080/ambit2/dataset/272?max=50" } end def global_teardown puts "delete and logout" if @@delete - @@data.each{|data| OpenTox::Dataset.find(data[:data],@@subjectid).delete(@@subjectid) if data[:delete] and - OpenTox::Dataset.exist?(data[:data]) } + [:data, :train_data, :test_data].each do |d| + @@data.each do |data| + OpenTox::Dataset.find(data[d],@@subjectid).delete(@@subjectid) if data[d] and data[:delete] and OpenTox::Dataset.exist?(data[d]) + end + end @@vs.each{|v| v.delete(@@subjectid)} if defined?@@vs @@cvs.each{|cv| cv.delete(@@subjectid)} if defined?@@cvs @@reports.each{|report| report.delete(@@subjectid)} if defined?@@reports @@ -87,7 +97,7 @@ class ValidationTest < Test::Unit::TestCase @@vs = [] @@data.each do |data| - if data[:type]==:validation + if data[:type]==:split_validation puts "test_training_test_split "+data[:info].to_s p = { :dataset_uri => data[:data], @@ -124,6 +134,48 @@ class ValidationTest < Test::Unit::TestCase end end + + def test_training_test_validation + + @@vs = [] + @@data.each do |data| + if data[:type]==:training_test_validation + puts "test_training_test_validation "+data[:info].to_s + p = { + :training_dataset_uri => data[:train_data], + :test_dataset_uri => data[:test_data], + :algorithm_uri => File.join(CONFIG[:services]["opentox-algorithm"],"lazar"), + :algorithm_params => "feature_generation_uri="+File.join(CONFIG[:services]["opentox-algorithm"],"fminer/bbrc"), + :prediction_feature => data[:feat]} + t = OpenTox::SubTask.new(nil,0,1) + def t.progress(pct) + if !defined?@last_msg or @last_msg+10 model} ) + assert v_list.size==1 and v_list.include?(v.uri) + puts v.uri unless @@delete + @@vs << v + end + end + end + + def test_validation_report #@@cv = OpenTox::Crossvalidation.find("http://local-ot/validation/crossvalidation/48", @@subjectid) @@ -314,28 +366,30 @@ class ValidationTest < Test::Unit::TestCase end end - def test_qmrf_report + if @@qmrf_test + def test_qmrf_report #@@cv = OpenTox::Crossvalidation.find("http://local-ot/validation/crossvalidation/13", @@subjectid) - - @@qmrfReports = [] - @@cvs.each do |cv| - puts "test_qmrf_report" - assert defined?cv,"no crossvalidation defined" - model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => cv.metadata[OT.dataset], :subjectid => @@subjectid}).to_s - assert model_uri.uri? -# validations = cv.metadata[OT.validation] -# assert_kind_of Array,validations -# assert validations.size==cv.metadata[OT.numFolds].to_i,validations.size.to_s+"!="+cv.metadata[OT.numFolds].to_s -# val = OpenTox::Validation.find(validations[0], @@subjectid) -# model_uri = val.metadata[OT.model] - model = OpenTox::Model::Generic.find(model_uri, @@subjectid) - assert model!=nil - #assert_rest_call_error OpenTox::NotFoundError do - # OpenTox::QMRFReport.find_for_model(model_uri, @@subjectid) - #end - qmrfReport = OpenTox::QMRFReport.create(model_uri, @@subjectid) - puts qmrfReport.uri unless @@delete - @@qmrfReports << qmrfReport + + @@qmrfReports = [] + @@cvs.each do |cv| + puts "test_qmrf_report" + assert defined?cv,"no crossvalidation defined" + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => cv.metadata[OT.dataset], :subjectid => @@subjectid}).to_s + assert model_uri.uri? + # validations = cv.metadata[OT.validation] + # assert_kind_of Array,validations + # assert validations.size==cv.metadata[OT.numFolds].to_i,validations.size.to_s+"!="+cv.metadata[OT.numFolds].to_s + # val = OpenTox::Validation.find(validations[0], @@subjectid) + # model_uri = val.metadata[OT.model] + model = OpenTox::Model::Generic.find(model_uri, @@subjectid) + assert model!=nil + #assert_rest_call_error OpenTox::NotFoundError do + # OpenTox::QMRFReport.find_for_model(model_uri, @@subjectid) + #end + qmrfReport = OpenTox::QMRFReport.create(model_uri, @@subjectid) + puts qmrfReport.uri unless @@delete + @@qmrfReports << qmrfReport + end end end -- cgit v1.2.3 From 32c1c66a7366bf5d17b07192b872ea008b8c8789 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Mon, 6 Jun 2011 11:33:00 +0200 Subject: fix error in validation test --- validation.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index 9723a33..ff0725d 100644 --- a/validation.rb +++ b/validation.rb @@ -374,7 +374,13 @@ class ValidationTest < Test::Unit::TestCase @@cvs.each do |cv| puts "test_qmrf_report" assert defined?cv,"no crossvalidation defined" - model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => cv.metadata[OT.dataset], :subjectid => @@subjectid}).to_s + assert cv.metadata[OT.validation].is_a?(Array) + assert cv.metadata[OT.validation].first.uri? + validation = OpenTox::Validation.find(cv.metadata[OT.validation].first) + prediction_feature_uri = validation.metadata[OT.predictionFeature] + assert prediction_feature_uri.uri? + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => cv.metadata[OT.dataset], :prediction_feature => prediction_feature_uri, + :subjectid => @@subjectid}).to_s assert model_uri.uri? # validations = cv.metadata[OT.validation] # assert_kind_of Array,validations -- cgit v1.2.3 From 2bb7e2b08a035b7419e5b280b2d93e1e4468c35d Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 23 Jun 2011 13:16:33 +0000 Subject: lazar predictions fixed --- validation.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index ff0725d..cf2a3bd 100644 --- a/validation.rb +++ b/validation.rb @@ -24,7 +24,8 @@ end class ValidationTest < Test::Unit::TestCase @@delete = true - @@feature_types = ["bbrc", "last"] + #@@feature_types = ["bbrc", "last"] + @@feature_types = ["bbrc"] @@qmrf_test = true @@data = [] @@data << { :type => :crossvalidation, -- cgit v1.2.3 From c2aea82a956af21902ab9f1138b1bccffaa3ba36 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Fri, 15 Jul 2011 13:30:14 +0200 Subject: replacing summary with statistics in validation test --- validation.rb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'validation.rb') diff --git a/validation.rb b/validation.rb index cf2a3bd..fbfa76d 100644 --- a/validation.rb +++ b/validation.rb @@ -10,11 +10,6 @@ require 'validation_util.rb' #LOGGER.datetime_format = "%Y-%m-%d %H:%M:%S " #LOGGER.formatter = Logger::Formatter.new -module Sinatra - set :raise_errors, false - set :show_exceptions, false -end - class Exception def message errorCause ? errorCause.to_yaml : to_s @@ -260,11 +255,11 @@ class ValidationTest < Test::Unit::TestCase assert cv.uri.uri? if @@subjectid assert_rest_call_error OpenTox::NotAuthorizedError do - cv.summary(cv) + cv.statistics(cv) end end - summary = cv.summary(@@subjectid) - assert_kind_of Hash,summary + stats_val = cv.statistics(@@subjectid) + assert_kind_of OpenTox::Validation,stats_val algorithm = cv.metadata[OT.algorithm] assert algorithm.uri? -- cgit v1.2.3