diff options
author | dv <dv@dv.de> | 2011-08-03 16:43:38 +0200 |
---|---|---|
committer | dv <dv@dv.de> | 2011-08-03 16:43:38 +0200 |
commit | 3282ef4f902e2d5d40b715d0642a1901f5e558e5 (patch) | |
tree | fbdc83dfa27ee00d2a82ccf699a55ed030f4142a | |
parent | 8831f981cc246f00d39689843698f6c70475bf26 (diff) | |
parent | 3fddd473ee16757ac5ae98b5ebcdca2834439ded (diff) |
Merge branch 'development' into reg_min_max
-rw-r--r-- | lib/algorithm.rb | 6 | ||||
-rw-r--r-- | lib/model.rb | 5 | ||||
-rw-r--r-- | lib/task.rb | 6 |
3 files changed, 11 insertions, 6 deletions
diff --git a/lib/algorithm.rb b/lib/algorithm.rb index 092205b..0ba6a83 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 d69a827..ff0ce0e 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+ @@ -182,6 +182,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, @@ -253,7 +254,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] diff --git a/lib/task.rb b/lib/task.rb index 146a756..00499fa 100644 --- a/lib/task.rb +++ b/lib/task.rb @@ -169,6 +169,10 @@ module OpenTox @metadata[OT.hasStatus] == 'Running' end + def queued? + @metadata[OT.hasStatus] == 'Queued' + end + def completed? @metadata[OT.hasStatus] == 'Completed' end @@ -286,7 +290,7 @@ module OpenTox raise "illegal task state, task is completed, resultURI is no URI: '"+@metadata[OT.resultURI].to_s+ "'" unless @metadata[OT.resultURI] and @metadata[OT.resultURI].to_s.uri? if completed? if @http_code == 202 - raise "#{@uri}: illegal task state, code is 202, but hasStatus is not Running: '"+@metadata[OT.hasStatus]+"'" unless running? + raise "#{@uri}: illegal task state, code is 202, but hasStatus is not Running or Queued: '"+@metadata[OT.hasStatus]+"'" unless running? or queued? elsif @http_code == 201 # ignore hasStatus # raise "#{@uri}: illegal task state, code is 201, but hasStatus is not Completed: '"+@metadata[OT.hasStatus]+"'" unless completed? |