summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Maunz <andreas@maunz.de>2011-07-14 10:50:38 +0200
committerAndreas Maunz <andreas@maunz.de>2011-07-14 10:50:38 +0200
commit0da3b10c755384b81a45142631b8ac65acfecfaf (patch)
treefcb27bdec068e2ea233b9b8a3888b89d66558d3d
parente2137202d522e9a167b1418228dbe24dd0f181b7 (diff)
parent9f9e3e699c46dc26cf0048088dcc85ccb9b68412 (diff)
Merge branch 'development' into loglog
-rw-r--r--.gitmodules2
-rw-r--r--fminer.rb19
-rw-r--r--lazar.rb6
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
diff --git a/fminer.rb b/fminer.rb
index ad3c7f9..8a2c63e 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]
@@ -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
diff --git a/lazar.rb b/lazar.rb
index 1f2fec8..b78b12a 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 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