diff options
author | Andreas Maunz <andreas@maunz.de> | 2011-07-14 10:50:38 +0200 |
---|---|---|
committer | Andreas Maunz <andreas@maunz.de> | 2011-07-14 10:50:38 +0200 |
commit | 0da3b10c755384b81a45142631b8ac65acfecfaf (patch) | |
tree | fcb27bdec068e2ea233b9b8a3888b89d66558d3d | |
parent | e2137202d522e9a167b1418228dbe24dd0f181b7 (diff) | |
parent | 9f9e3e699c46dc26cf0048088dcc85ccb9b68412 (diff) |
Merge branch 'development' into loglog
-rw-r--r-- | .gitmodules | 2 | ||||
-rw-r--r-- | fminer.rb | 19 | ||||
-rw-r--r-- | lazar.rb | 6 |
3 files changed, 17 insertions, 10 deletions
diff --git a/.gitmodules b/.gitmodules index 75218e9..61a4b92 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "libfminer"] path = libfminer - url = http://github.com/amaunz/fminer2.git + url = git://github.com/amaunz/fminer2.git [submodule "last-utils"] path = last-utils url = git://github.com/amaunz/last-utils.git @@ -99,7 +99,7 @@ post '/fminer/bbrc/?' do fminer=OpenTox::Algorithm::Fminer.new fminer.check_params(params,5) - task = OpenTox::Task.create("Mining BBRC features", url_for('/fminer',:full)) do + task = OpenTox::Task.create("Mining BBRC features", url_for('/fminer',:full)) do |task| @@bbrc.Reset if fminer.prediction_feature.feature_type == "regression" @@bbrc.SetRegression(true) # AM: DO NOT MOVE DOWN! Must happen before the other Set... operations! @@ -140,12 +140,14 @@ post '/fminer/bbrc/?' do g_median=OpenTox::Algorithm.median(g_array) raise "No compounds in dataset #{fminer.training_dataset.uri}" if fminer.compounds.size==0 - + task.progress 10 + step_width = 80 / @@bbrc.GetNoRootNodes().to_f features = Set.new + # run @@bbrc (0 .. @@bbrc.GetNoRootNodes()-1).each do |j| - results = @@bbrc.MineRoot(j) + task.progress 10+step_width*(j+1) results.each do |result| f = YAML.load(result)[0] smarts = f[0] @@ -153,8 +155,8 @@ post '/fminer/bbrc/?' do if (!@@bbrc.GetRegression) id_arrs = f[2..-1].flatten - max = OpenTox::Algorithm.effect(f[2..-1].reverse, fminer.db_class_sizes) - effect = @value_map[(f[2..-1].size-max)].to_s + max = OpenTox::Algorithm.effect(f[2..-1], fminer.db_class_sizes) + effect = f[2..-1].size-max else #regression part id_arrs = f[2] # DV: effect calculation @@ -223,7 +225,7 @@ post '/fminer/last/?' do fminer=OpenTox::Algorithm::Fminer.new fminer.check_params(params,80) - task = OpenTox::Task.create("Mining LAST features", url_for('/fminer',:full)) do + task = OpenTox::Task.create("Mining LAST features", url_for('/fminer',:full)) do |task| @@last.Reset if fminer.prediction_feature.feature_type == "regression" @@last.SetRegression(true) # AM: DO NOT MOVE DOWN! Must happen before the other Set... operations! @@ -265,9 +267,12 @@ post '/fminer/last/?' do # run @@last features = Set.new xml = "" + task.progress 10 + step_width = 80 / @@last.GetNoRootNodes().to_f (0 .. @@last.GetNoRootNodes()-1).each do |j| results = @@last.MineRoot(j) + task.progress 10+step_width*(j+1) results.each do |result| xml << result end @@ -290,7 +295,7 @@ post '/fminer/last/?' do @value_map.each { |y,act| g[y-1]=Array.new } feat_hash.each { |x,y| g[y-1].push(x) } max = OpenTox::Algorithm.effect(g, fminer.db_class_sizes) - effect = @value_map[(g.size-max)].to_s + effect = g.size-max end feature_uri = File.join feature_dataset.uri,"feature","last", features.size.to_s unless features.include? smarts @@ -72,7 +72,7 @@ post '/lazar/?' do elsif prediction_feature.feature_type == "regression" lazar.prediction_algorithm = "Neighbors.local_svm_regression" end - + task.progress 10 if params[:feature_dataset_uri] feature_dataset_uri = params[:feature_dataset_uri] @@ -95,7 +95,7 @@ post '/lazar/?' do if prediction_feature.feature_type == "regression" && feature_generation_uri.match(/fminer/) params[:feature_type] = "paths" end - feature_dataset_uri = OpenTox::Algorithm::Generic.new(feature_generation_uri).run(params).to_s + feature_dataset_uri = OpenTox::Algorithm::Generic.new(feature_generation_uri).run(params, OpenTox::SubTask.new(task,10,70)).to_s training_features = OpenTox::Dataset.new(feature_dataset_uri) end @@ -140,6 +140,7 @@ post '/lazar/?' do end end end + task.progress 80 # AM: allow settings override by user lazar.prediction_algorithm = "Neighbors.#{params[:prediction_algorithm]}" unless params[:prediction_algorithm].nil? @@ -180,6 +181,7 @@ post '/lazar/?' do end end end + task.progress 90 lazar.metadata[DC.title] = "lazar model for #{URI.decode(File.basename(prediction_feature.uri))}" lazar.metadata[OT.dependentVariables] = prediction_feature.uri |