summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2011-07-11 16:10:23 +0200
committermguetlein <martin.guetlein@gmail.com>2011-07-11 16:10:23 +0200
commit686011c826bcef8c26b8c5fd30eafc8c8630e701 (patch)
treed6cda6fa6ff4db6b0720bca0ba4fb92209d0f028
parent2a89950ff5fb56a7bf8df67410cdb74d15f9f5ce (diff)
setting task percentage completed for fminer and lazar model creation
-rw-r--r--fminer.rb13
-rw-r--r--lazar.rb6
2 files changed, 13 insertions, 6 deletions
diff --git a/fminer.rb b/fminer.rb
index ad3c7f9..45751fc 100644
--- a/fminer.rb
+++ b/fminer.rb
@@ -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
diff --git a/lazar.rb b/lazar.rb
index e81c1ba..e2dde9a 100644
--- a/lazar.rb
+++ b/lazar.rb
@@ -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