summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-02-01 17:56:16 +0100
committermr <mr@mrautenberg.de>2011-02-01 17:56:16 +0100
commita9d8b84a2872ae354bba0ea50c1915e96d69d824 (patch)
tree62e5da59160d33a4588967afc8348eeb6d517b66
parent57ac5838f03a4107cb1ea3056c8249dd20f21ee4 (diff)
a&a for validation
-rw-r--r--application.rb33
-rw-r--r--config.ru2
2 files changed, 20 insertions, 15 deletions
diff --git a/application.rb b/application.rb
index abc180f..7b03948 100644
--- a/application.rb
+++ b/application.rb
@@ -28,13 +28,16 @@ helpers do
private
def delete_model(model, subjectid=nil)
- begin RestClient.put(File.join(model.task_uri, 'Cancelled'),subjectid) if model.task_uri rescue LOGGER.warn "Can not cancel task #{model.task_uri}" end
- delete_dependent(model.uri, subjectid) if model.uri
- delete_dependent(model.validation_uri, subjectid) if model.validation_uri
- delete_dependent(model.validation_report_uri, subjectid) if model.validation_report_uri
- delete_dependent(model.validation_qmrf_uri, subjectid) if model.validation_qmrf_uri
- delete_dependent(model.training_dataset, subjectid) if model.training_dataset
- delete_dependent(model.feature_dataset, subjectid) if model.feature_dataset
+ task = OpenTox::Task.create("Deleting model: #{model.uri}",url_for("/delete",:full)) do
+ begin RestClient.put(File.join(model.task_uri, 'Cancelled'),subjectid) if model.task_uri rescue LOGGER.warn "Can not cancel task #{model.task_uri}" end
+ delete_dependent(model.uri, subjectid) if model.uri
+ delete_dependent(model.validation_uri, subjectid) if model.validation_uri
+ delete_dependent(model.validation_report_uri, subjectid) if model.validation_report_uri
+ delete_dependent(model.validation_qmrf_uri, subjectid) if model.validation_qmrf_uri
+ delete_dependent(model.training_dataset, subjectid) if model.training_dataset
+ delete_dependent(model.feature_dataset, subjectid) if model.feature_dataset
+ ""
+ end
end
def delete_dependent(uri, subjectid=nil)
@@ -229,9 +232,10 @@ post '/models' do # create a new model
unless url_for("",:full).match(/localhost/)
@model.update :status => "Validating model"
+ LOGGER.debug "mr ::: #{lazar.metadata.inspect}"
begin
validation = OpenTox::Validation.create_crossvalidation(
- :algorithm_uri => OpenTox::Algorithm::Lazar.uri,
+ :algorithm_uri => lazar.metadata[OT.algorithm],
:dataset_uri => lazar.parameter("dataset_uri"),
:subjectid => subjectid,
:prediction_feature => lazar.parameter("prediction_feature"),
@@ -243,22 +247,22 @@ post '/models' do # create a new model
LOGGER.debug "Model validation failed with #{e.message}."
@model.warnings += "Model validation failed with #{e.message}."
end
-
# create summary
- validation.summary(@model.type).each{|k,v| eval "@model.#{k.to_s} = v"}
+ validation.summary(@model.type, subjectid).each do |k,v|
+ LOGGER.debug "mr ::: k: #{k.inspect} - v: #{v.inspect}"
+ eval "@model.#{k.to_s} = v"
+ end
@model.save
-
@model.update :status => "Creating validation report"
begin
- @model.update(:validation_report_uri => validation.create_report)
+ @model.update(:validation_report_uri => validation.create_report(subjectid))
rescue => e
LOGGER.debug "Validation report generation failed with #{e.message}."
@model.warnings += "Validation report generation failed with #{e.message}."
end
-
@model.update :status => "Creating QMRF report"
begin
- @model.update(:validation_qmrf_report_uri => validation.create_qmrf_report)
+ @model.update(:validation_qmrf_report_uri => validation.create_qmrf_report(subjectid))
rescue => e
LOGGER.debug "Validation QMRF report generation failed with #{e.message}."
@model.warnings += "Validation QMRF report generation failed with #{e.message}."
@@ -266,7 +270,6 @@ post '/models' do # create a new model
end
-
#@model.warnings += "<p>Incorrect Smiles structures (ignored):</p>" + parser.smiles_errors.join("<br/>") unless parser.smiles_errors.empty?
#@model.warnings += "<p>Irregular activities (ignored):</p>" + parser.activity_errors.join("<br/>") unless parser.activity_errors.empty?
#duplicate_warnings = ''
diff --git a/config.ru b/config.ru
index 1616a96..ec39d1b 100644
--- a/config.ru
+++ b/config.ru
@@ -3,3 +3,5 @@ require 'opentox-ruby'
require 'config/config_ru'
set :app_file, __FILE__ # to get the view path right
run Sinatra::Application
+set :raise_errors, false
+set :show_exceptions, false \ No newline at end of file