summaryrefslogtreecommitdiff
path: root/model.rb
diff options
context:
space:
mode:
Diffstat (limited to 'model.rb')
-rw-r--r--model.rb154
1 files changed, 0 insertions, 154 deletions
diff --git a/model.rb b/model.rb
index 7b91bab..5332629 100644
--- a/model.rb
+++ b/model.rb
@@ -1,12 +1,7 @@
require 'ohm'
-#require 'redis/objects'
-#@@redis = Redis.new(:thread_safe=>true)#(:host => '127.0.0.1', :port => 6379)
class ToxCreateModel < Ohm::Model
- #include Redis::Objects
- #include DataMapper::Resource
- #attribute :id
attribute :name
attribute :warnings
attribute :error_messages
@@ -49,45 +44,6 @@ class ToxCreateModel < Ohm::Model
#after :save, :check_policy
-=begin
- attr_accessor :id, :name, :warnings, :error_messages, :type, :status, :created_at, :task_uri, :uri, :training_dataset, :feature_dataset, :validation_task_uri, :validation_uri, :validation_report_task_uri, :validation_report_uri, :validation_qmrf_task_uri, :validation_qmrf_uri, :nr_compounds, :nr_predictions, :true_positives, :false_positives, :true_negatives, :false_negatives, :correct_predictions, :weighted_area_under_roc, :sensitivity, :specificity, :r_square, :root_mean_squared_error, :mean_absolute_error, :web_uri
-
- def self.all
- end
-
- def self.get(id)
- end
-
- def self.create(params)
- @id = @@redis.incr "toxcreate"
- params.each { |k,v| @@redis.hset "toxcreate:#{@id}", k, v }
- self.get(@id)
- end
-
- def update(params)
- end
-
- def method_missing
- begin
- rescue
- raise "Unknown method"
- end
- end
-
- attr_accessor :subjectid
- @subjectid = nil
-
- after :save, :check_policy
-
-def status
- #begin
- RestClient.get(File.join(@task_uri, 'hasStatus')).body
- #rescue
- # "Service offline"
- #end
- end
-=end
-
def validation_status
begin
RestClient.get(File.join(@validation_task_uri, 'hasStatus')).body
@@ -112,115 +68,6 @@ def status
end
end
- def algorithm
- begin
- RestClient.get(File.join(@uri, 'algorithm')).body
- rescue
- ""
- end
- end
-
- def training_dataset
- begin
- RestClient.get(File.join(@uri, 'trainingDataset')).body
- rescue
- ""
- end
- end
-
- def feature_dataset
- begin
- RestClient.get(File.join(@uri, 'feature_dataset')).body
- rescue
- ""
- end
- end
-
-=begin
- def process
-
- LOGGER.debug self.to_yaml
-
- if @uri.nil? and status == "Completed"
- #update :uri => RestClient.get(File.join(@task_uri, 'resultURI')).body
- #lazar = YAML.load(RestClient.get(@uri, :accept => "application/x-yaml").body)
-
- elsif @validation_uri.nil? and validation_status == "Completed"
- begin
-
- #update :validation_uri => RestClient.get(File.join(@validation_task_uri, 'resultURI')).body
- #LOGGER.debug "Validation URI: #{@validation_uri}"
-
- #update :validation_report_task_uri => RestClient.post(File.join(CONFIG[:services]["opentox-validation"],"/report/crossvalidation"), :validation_uris => @validation_uri).body
- #LOGGER.debug "Validation Report Task URI: #{@validation_report_task_uri}"
-
- #update :validation_qmrf_task_uri => RestClient.post(File.join(CONFIG[:services]["opentox-validation"],"/reach_report/qmrf"), :model_uri => @uri).body
- #LOGGER.debug "QMRF Report Task URI: #{@validation_qmrf_task_uri}"
-
- uri = File.join(@validation_uri, 'statistics')
- yaml = RestClient.get(uri).body
- v = YAML.load(yaml)
-
- case type
- when "classification"
- tp=0; tn=0; fp=0; fn=0; n=0
- v[:classification_statistics][:confusion_matrix][:confusion_matrix_cell].each do |cell|
- if cell[:confusion_matrix_predicted] == "true" and cell[:confusion_matrix_actual] == "true"
- tp = cell[:confusion_matrix_value]
- n += tp
- elsif cell[:confusion_matrix_predicted] == "false" and cell[:confusion_matrix_actual] == "false"
- tn = cell[:confusion_matrix_value]
- n += tn
- elsif cell[:confusion_matrix_predicted] == "false" and cell[:confusion_matrix_actual] == "true"
- fn = cell[:confusion_matrix_value]
- n += fn
- elsif cell[:confusion_matrix_predicted] == "true" and cell[:confusion_matrix_actual] == "false"
- fp = cell[:confusion_matrix_value]
- n += fp
- end
- end
- update :nr_predictions => n
- update :true_positives => tp
- update :false_positives => fp
- update :true_negatives => tn
- update :false_negatives => fn
- update :correct_predictions => 100*(tp+tn).to_f/n
- update :weighted_area_under_roc => v[:classification_statistics][:weighted_area_under_roc].to_f
- update :sensitivity => tp.to_f/(tp+fn)
- update :specificity => tn.to_f/(tn+fp)
- when "regression"
- update :nr_predictions => v[:num_instances] - v[:num_unpredicted]
- update :r_square => v[:regression_statistics][:r_square]
- update :root_mean_squared_error => v[:regression_statistics][:root_mean_squared_error]
- update :mean_absolute_error => v[:regression_statistics][:mean_absolute_error]
- end
- rescue
- LOGGER.warn "Cannot create Validation Report Task #{@validation_report_task_uri} for Validation URI #{@validation_uri} from Task #{@validation_task_uri}"
- end
-
- else
-
- if @validation_report_uri.nil? and validation_report_status == "Completed"
- begin
- update :validation_report_uri => RestClient.get(File.join(@validation_report_task_uri, 'resultURI')).body
- rescue
- LOGGER.warn "Cannot create Validation Report for Task URI #{@validation_report_task_uri} "
- end
- end
-
- if @validation_qmrf_uri.nil? and validation_qmrf_status == "Completed"
- begin
- update :validation_qmrf_uri => RestClient.get(File.join(@validation_qmrf_task_uri, 'resultURI')).body
- rescue
- LOGGER.warn "Cannot create QMRF Report for Task URI #{@validation_qmrf_task_uri} "
- end
- end
-
- end
-
- end
-=end
-
private
def check_policy
OpenTox::Authorization.check_policy(web_uri, subjectid)
@@ -228,4 +75,3 @@ def status
end
-#DataMapper.auto_upgrade!