From 8b8d7bc91ee841461620269f5892da72a0b114f6 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Thu, 26 May 2011 10:57:32 +0200 Subject: use accept_values method instead of accessing metadata directly --- lib/ot_predictions.rb | 2 +- report/validation_access.rb | 2 +- validation/validation_service.rb | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ot_predictions.rb b/lib/ot_predictions.rb index df1efc3..d0530a3 100755 --- a/lib/ot_predictions.rb +++ b/lib/ot_predictions.rb @@ -81,7 +81,7 @@ module Lib raise "test dataset is empty "+test_dataset_uri.to_s unless compounds.size>0 if feature_type=="classification" - av = test_target_dataset.features[prediction_feature][OT.acceptValue] + av = test_target_dataset.accept_values(prediction_feature) raise "'"+OT.acceptValue.to_s+"' missing/invalid for feature '"+prediction_feature.to_s+"' in dataset '"+ test_target_dataset_uri.to_s+"', acceptValues are: '"+av.inspect+"'" if av==nil or av.length<2 if accept_values==nil diff --git a/report/validation_access.rb b/report/validation_access.rb index d421a0b..ef6a806 100755 --- a/report/validation_access.rb +++ b/report/validation_access.rb @@ -109,7 +109,7 @@ class Reports::ValidationDB test_target_dataset = validation.test_dataset_uri unless test_target_dataset d = Lib::DatasetCache.find( test_target_dataset, subjectid ) raise "cannot get test target dataset for accept values, dataset: "+test_target_dataset.to_s unless d - accept_values = d.features[validation.prediction_feature][OT.acceptValue] + accept_values = d.accept_values(validation.prediction_feature) raise "cannot get accept values from dataset "+test_target_dataset.to_s+" for feature "+ validation.prediction_feature+":\n"+d.features[validation.prediction_feature].to_yaml unless accept_values!=nil accept_values diff --git a/validation/validation_service.rb b/validation/validation_service.rb index e16e45d..6954a33 100755 --- a/validation/validation_service.rb +++ b/validation/validation_service.rb @@ -392,7 +392,9 @@ module Validation split_compounds = shuffled_compounds.chunk( self.num_folds.to_i ) else class_compounds = {} # "inactive" => compounds[], "active" => compounds[] .. - accept_values = orig_dataset.features[prediction_feature][OT.acceptValue] + accept_values = orig_dataset.accept_values(prediction_feature) + raise BadRequestError.new("cannot apply stratification (not implemented for regression), acceptValue missing for prediction-feature '"+ + prediction_feature.to_s+"' in dataset '"+dataset_uri.to_s+"'") unless accept_values and accept_values.size>0 accept_values.each do |value| class_compounds[value] = [] shuffled_compounds.each do |c| -- cgit v1.2.3