diff options
author | mguetlein <martin.guetlein@gmail.com> | 2011-07-11 16:10:23 +0200 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2011-07-11 16:10:23 +0200 |
commit | 686011c826bcef8c26b8c5fd30eafc8c8630e701 (patch) | |
tree | d6cda6fa6ff4db6b0720bca0ba4fb92209d0f028 | |
parent | 2a89950ff5fb56a7bf8df67410cdb74d15f9f5ce (diff) |
setting task percentage completed for fminer and lazar model creation
-rw-r--r-- | fminer.rb | 13 | ||||
-rw-r--r-- | lazar.rb | 6 |
2 files changed, 13 insertions, 6 deletions
@@ -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] @@ -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 @@ -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 prediction_algorithm override by user for classification AND regression lazar.prediction_algorithm = "Neighbors.#{params[:prediction_algorithm]}" unless params[:prediction_algorithm].nil? @@ -163,6 +164,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 |