summaryrefslogtreecommitdiff
path: root/cv/data/utils/create_selected_feature_ds.rb
blob: cfc5e28f88e1b727278b91af64fbe901d94d13bc (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
require 'rubygems'
require 'opentox-ruby'
require 'yaml'

@subjectid = nil

@dataset = []

def create_f_ds(t_ds_uri, f_ds_uri, del)

  regression_training_dataset = OpenTox::Dataset.find(t_ds_uri, @subjectid)
  prediction_feature = regression_training_dataset.features.keys.first
  regression_feature_dataset = OpenTox::Dataset.find(f_ds_uri, @subjectid)

  params = {} 
  params[:dataset_uri] = regression_training_dataset.uri
  params[:prediction_feature_uri] = prediction_feature
  params[:feature_dataset_uri] = regression_feature_dataset.uri
  params[:del_missing] = del
  puts params.to_yaml
  feature_selection_algo_uri = File.join(CONFIG[:services]["opentox-algorithm"],"feature_selection/rfe")
  puts feature_selection_algo_uri
  puts "--- Feature dataset is: ---"

  result = OpenTox::RestClientWrapper.post( feature_selection_algo_uri, params)
  puts result
  puts
  result
end




ds = YAML::load_file("../datasets_jl1_allnum.yaml")
#ds.keys.each { |dataset|
["LOAEL"].each { |dataset|
  puts "----------------- next dataset -----------------"
  @dataset << "\"#{dataset}\": {" 
  ds[dataset].keys.each { |pc|
    if !((pc == "dataset") || (pc == "test") || (pc == "training") || (pc == "hybrid"))
      puts pc
      #[false, true].each { |del_missing| 
      [false].each { |del_missing| #false is default 
        begin
          result = create_f_ds(ds[dataset]["dataset"], ds[dataset][pc], del_missing) 
          @dataset << "  \"#{pc}\": \"#{result}\"," 
        rescue
        end
      }
    else
      @dataset << "  \"#{pc}\": \"#{ds[dataset][pc]}\"," 

    end
    puts "-----------------" unless pc == "dataset"
  }
  @dataset << "}," 
}

puts @dataset