summaryrefslogtreecommitdiff
path: root/algorithm_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'algorithm_test.rb')
-rw-r--r--algorithm_test.rb134
1 files changed, 134 insertions, 0 deletions
diff --git a/algorithm_test.rb b/algorithm_test.rb
new file mode 100644
index 0000000..08c7d4c
--- /dev/null
+++ b/algorithm_test.rb
@@ -0,0 +1,134 @@
+require "rubygems"
+require "sinatra"
+before {
+ request.env['HTTP_HOST']="local-ot/algorithm"
+ request.env["REQUEST_URI"]=request.env["PATH_INFO"]
+}
+
+require "opentox-ruby"
+ENV['RACK_ENV'] = 'test'
+require 'application.rb'
+require 'test/unit'
+require 'rack/test'
+LOGGER = Logger.new(STDOUT)
+LOGGER.datetime_format = "%Y-%m-%d %H:%M:%S "
+
+module Sinatra
+
+ set :raise_errors, false
+ set :show_exceptions, false
+
+ module UrlForHelper
+ BASE = "http://local-ot/algorithm"
+ def url_for url_fragment, mode=:path_only
+ case mode
+ when :path_only
+ raise "not impl"
+ when :full
+ end
+ "#{BASE}#{url_fragment}"
+ end
+ end
+end
+
+class AlgorithmTest < Test::Unit::TestCase
+ include Rack::Test::Methods
+
+ def app
+ Sinatra::Application
+ end
+
+ def test_prediction
+
+ begin
+
+ #dataset_uri = "http://apps.ideaconsult.net:8080/ambit2/dataset/603204?pagesize=100&page=0"
+ #test_dataset_uri = "http://apps.ideaconsult.net:8080/ambit2/dataset/603204?pagesize=100&page=1"
+ #feature_dataset_uri = "http://apps.ideaconsult.net:8080/ambit2/dataset/603204?pagesize=200&page=0"
+ #prediction_feature = "http://apps.ideaconsult.net:8080/ambit2/feature/528321"
+
+ dataset_uri = "http://apps.ideaconsult.net:8080/ambit2/dataset/425254"
+ prediction_feature = "http://apps.ideaconsult.net:8080/ambit2/feature/528321"
+
+# dataset_uri = "http://local-ot/dataset/1488"
+# prediction_feature = "http://local-ot/dataset/1315/feature/Rodent%20carcinogenicity"
+ params = {:dataset_uri=>dataset_uri,
+ :prediction_feature=>prediction_feature,
+ :min_frequency=>7} #multi: 10=>4, 5=>>3000
+ post "/fminer/bbrc",params
+
+# params = {:dataset_uri=>dataset_uri,
+# :prediction_feature=>prediction_feature, :feature_dataset_uri=>feature_dataset_uri}
+# post "/lazar",params
+
+ uri = wait_for_task(last_response.body)
+ puts uri
+
+# model = uri
+# puts "model #{model}"
+# params = {:dataset_uri=>test_dataset_uri}
+# puts OpenTox::RestClientWrapper.post(model,params)
+
+ #puts "features: "+OpenTox::Dataset.find(uri).features.size.to_s
+
+
+# params = {:dataset_uri=>"http://local-ot/dataset/1724",
+# :feature_dataset_uri=>"http://local-ot/dataset/1725"}
+# #post "/fminer/match",params
+# #uri = wait_for_task(last_response.body)
+# #puts uri
+#
+# fminer = File.join(CONFIG[:services]["opentox-algorithm"],"fminer/bbrc")
+# OpenTox::RestClientWrapper.post(fminer,params)
+
+# params = {:dataset_uri=>"http://local-ot/dataset/1488",
+# :prediction_feature=>"http://local-ot/dataset/1315/feature/Rodent%20carcinogenicity",
+# :min_frequency=>50}
+# post "/lazar",params
+# uri = wait_for_task(last_response.body)
+# puts uri
+ puts "features: "+OpenTox::Dataset.find(uri).features.size.to_s
+
+ # fminer = File.join(CONFIG[:services]["opentox-algorithm"],"fminer/bbrc")
+ # OpenTox::RestClientWrapper.post(fminer,params)
+
+ rescue => ex
+ rep = OpenTox::ErrorReport.create(ex, "")
+ puts rep.to_yaml
+ end
+
+ #get "/lazar",nil,'HTTP_ACCEPT' => "application/rdf+xml"
+ #get "/fminer",nil,'HTTP_ACCEPT' => "application/rdf+xml"
+ #OpenTox::Algorithm.Generic.find("http://localhost/algorithm/lazar")
+
+ # puts last_response.body
+
+# webservice = "http://ot.algorithm.de/lazar"
+# headers = {:dataset_uri=>"http://ot.dataset.de/2",
+# :prediction_feature=>"http://localhost/toxmodel/feature%23Hamster%20Carcinogenicity%20(DSSTOX/CPDB)",
+# :feature_generation_uri=>"http://ot.algorithm.de/fminer"}
+#
+# #puts OpenTox::RestClientWrapper.post(webservice,headers)
+# post webservice,headers
+# #puts
+# uri = wait_for_task(last_response.body.to_s)
+# puts uri
+# puts OpenTox::RestClientWrapper.get(uri,:accept => 'application/rdf+xml')
+# #get uri
+
+ end
+
+ # see test_util.rb
+ def wait_for_task(uri)
+ if uri.task_uri?
+ task = OpenTox::Task.find(uri)
+ task.wait_for_completion
+ raise "task failed: "+uri.to_s if task.error?
+ uri = task.result_uri
+ end
+ return uri
+ end
+
+
+
+end \ No newline at end of file