From acfe33c4fd91efe5d5455892f20a3ffe20c3954c Mon Sep 17 00:00:00 2001 From: mr Date: Tue, 2 Aug 2011 16:32:01 +0200 Subject: add missing subjectid --- lib/algorithm.rb | 6 +++--- lib/model.rb | 5 +++-- 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] -- cgit v1.2.3