summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-08-02 16:32:01 +0200
committermr <mr@mrautenberg.de>2011-08-02 16:32:01 +0200
commitacfe33c4fd91efe5d5455892f20a3ffe20c3954c (patch)
tree11fa4d9b7cbac3e339f91ab1705f8ab67fc277ab
parent96da910e30e04af320c39bcfc64761c91e5770e1 (diff)
add missing subjectid
-rw-r--r--lib/algorithm.rb6
-rw-r--r--lib/model.rb5
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/algorithm.rb b/lib/algorithm.rb
index 3cf4ecf..9a5ff01 100644
--- a/lib/algorithm.rb
+++ b/lib/algorithm.rb
@@ -52,11 +52,11 @@ module OpenTox
include Algorithm
attr_accessor :prediction_feature, :training_dataset, :minfreq, :compounds, :db_class_sizes, :all_activities, :smi
- def check_params(params,per_mil)
+ def check_params(params,per_mil,subjectid=nil)
raise OpenTox::NotFoundError.new "Please submit a dataset_uri." unless params[:dataset_uri] and !params[:dataset_uri].nil?
raise OpenTox::NotFoundError.new "Please submit a prediction_feature." unless params[:prediction_feature] and !params[:prediction_feature].nil?
- @prediction_feature = OpenTox::Feature.find params[:prediction_feature], @subjectid
- @training_dataset = OpenTox::Dataset.find "#{params[:dataset_uri]}", @subjectid
+ @prediction_feature = OpenTox::Feature.find params[:prediction_feature], subjectid
+ @training_dataset = OpenTox::Dataset.find "#{params[:dataset_uri]}", subjectid
raise OpenTox::NotFoundError.new "No feature #{params[:prediction_feature]} in dataset #{params[:dataset_uri]}" unless @training_dataset.features and @training_dataset.features.include?(params[:prediction_feature])
unless params[:min_frequency].nil?
diff --git a/lib/model.rb b/lib/model.rb
index f1a8dc9..26c42a5 100644
--- a/lib/model.rb
+++ b/lib/model.rb
@@ -73,7 +73,7 @@ module OpenTox
if use_confidence
conf_index = -1
predictedVariables.size.times do |i|
- f = OpenTox::Feature.find(predictedVariables[i])
+ f = OpenTox::Feature.find(predictedVariables[i], subjectid)
conf_index = i if f.metadata[DC.title]=~/(?i)confidence/
end
raise "could not estimate predicted variable from model: '"+uri.to_s+
@@ -181,6 +181,7 @@ module OpenTox
# @param [optional,OpenTox::Task] waiting_task (can be a OpenTox::Subtask as well), progress is updated accordingly
# @return [OpenTox::Dataset] Dataset with predictions
def predict_dataset(dataset_uri, subjectid=nil, waiting_task=nil)
+
@prediction_dataset = Dataset.create(CONFIG[:services]["opentox-dataset"], subjectid)
@prediction_dataset.add_metadata({
OT.hasSource => @uri,
@@ -244,7 +245,7 @@ module OpenTox
@prediction_dataset.metadata[OT.dependentVariables] = @metadata[OT.dependentVariables] unless @prediction_dataset.metadata[OT.dependentVariables]
@prediction_dataset.metadata[OT.predictedVariables] = [value_feature_uri, confidence_feature_uri] unless @prediction_dataset.metadata[OT.predictedVariables]
- if OpenTox::Feature.find(metadata[OT.dependentVariables]).feature_type == "classification"
+ if OpenTox::Feature.find(metadata[OT.dependentVariables], subjectid).feature_type == "classification"
@prediction_dataset.add @compound.uri, value_feature_uri, @value_map[prediction[:prediction]]
else
@prediction_dataset.add @compound.uri, value_feature_uri, prediction[:prediction]