summaryrefslogtreecommitdiff
path: root/validation.rb
blob: beb1c0205be664a1d60cf8403dd387a442e7998a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require 'rubygems'
require 'opentox-ruby'
require 'test/unit'

class Float
  def round_to(x)
    (self * 10**x).round.to_f / 10**x
  end
end

class ValidationTest < Test::Unit::TestCase

=begin
=end
  def test_crossvalidation
=begin
=end
    puts "creating model ..."
    model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@classification_training_dataset.uri, :subjectid => @@subjectid}).to_s
    lazar = OpenTox::Model::Lazar.find model_uri, @@subjectid
    puts @@classification_training_dataset.features.to_yaml
    params = {
      :algorithm_uri => File.join(CONFIG[:services]["opentox-algorithm"],"lazar"),
      :dataset_uri => lazar.parameter("dataset_uri"),
      #:dataset_uri => @@classification_training_dataset.uri,
      :subjectid => @@subjectid,
      #:prediction_feature => @@classification_training_dataset.features.keys.first,
      #:algorithm_params => "feature_generation_uri=#{File.join(CONFIG[:services]["opentox-algorithm"],"bbrc")}"
      :prediction_feature => lazar.parameter("prediction_feature"),
      :algorithm_params => "feature_generation_uri=#{lazar.parameter("feature_generation_uri")}"
    }
    puts params.to_yaml
    cv = OpenTox::Validation.create_crossvalidation(params)
    puts cv.uri
  #@@subjectid = OpenTox::Authorization.authenticate(TEST_USER,TEST_PW) 
    cv = OpenTox::Validation.new "http://opentox.informatik.uni-freiburg.de/validation/crossvalidation/6"
    puts cv.uri
    #puts cv.create_report(@@subjectid)
    #puts cv.create_qmrf_report(@@subjectid)
    #v = YAML.load OpenTox::RestClientWrapper.get(cv.uri,{:accept => "application/x-yaml", :subjectid => @@subjectid}).to_s
    v = YAML.load OpenTox::RestClientWrapper.get(File.join(cv.uri, 'statistics'),{:accept => "application/x-yaml", :subjectid => @@subjectid}).to_s
    puts v.to_yaml
    #puts cv.summary("classification",@@subjectid)
  end
end