diff options
author | Christoph Helma <helma@in-silico.ch> | 2013-03-26 10:56:04 +0100 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2013-03-26 10:56:04 +0100 |
commit | a54db46684680d98311631804eca367cc949a715 (patch) | |
tree | 283b8c5f256e8605131cbfeae2217a77d0288ca7 /lib/model.rb | |
parent | 4ba2cc9849473f97baf75195bb36c5057f1c58d4 (diff) |
code cleanup and refactoring.
Diffstat (limited to 'lib/model.rb')
-rw-r--r-- | lib/model.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/model.rb b/lib/model.rb index c104e64..144c8c3 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -11,5 +11,36 @@ module OpenTox wait_for_task uri if wait end + def feature_type # CH: subjectid is a object variable, no need to pass it as a parameter + unless @feature_type + get unless metadata[OT.dependentVariables.to_s] + bad_request_error "Cannot determine feature type, dependent variable missing in model #{@uri}" unless metadata[OT.dependentVariables.to_s] + @feature_type = OpenTox::Feature.new( metadata[OT.dependentVariables.to_s][0], @subjectid ).feature_type + end + @feature_type + end + + def predicted_variable + load_predicted_variables unless defined? @predicted_variable + @predicted_variable + end + + def predicted_confidence + load_predicted_variables unless defined? @predicted_confidence + @predicted_confidence + end + + private + def load_predicted_variables + metadata[OT.predictedVariables.to_s].each do |f| + feat = OpenTox::Feature.find( f, @subjectid ) + if feat.title =~ /confidence/ + @predicted_confidence = f + else + @predicted_variable = f unless @predicted_variable + end + end + end + end end |