summaryrefslogtreecommitdiff
path: root/lib/model.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2013-03-26 10:56:04 +0100
committerChristoph Helma <helma@in-silico.ch>2013-03-26 10:56:04 +0100
commita54db46684680d98311631804eca367cc949a715 (patch)
tree283b8c5f256e8605131cbfeae2217a77d0288ca7 /lib/model.rb
parent4ba2cc9849473f97baf75195bb36c5057f1c58d4 (diff)
code cleanup and refactoring.
Diffstat (limited to 'lib/model.rb')
-rw-r--r--lib/model.rb31
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