summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2011-05-27 17:36:11 +0200
committermguetlein <martin.guetlein@gmail.com>2011-05-27 17:36:11 +0200
commit092eca3470f13d6b1df4afc5ea98a0d398300a37 (patch)
tree36bde86497f14e4d9df03ac6c11bd8df784ff80b
parent2a2cc158359b29d290c511b5636ff00480b59475 (diff)
fix percentage completed for cv
-rwxr-xr-xvalidation/validation_application.rb8
-rwxr-xr-xvalidation/validation_service.rb5
2 files changed, 7 insertions, 6 deletions
diff --git a/validation/validation_application.rb b/validation/validation_application.rb
index 39a5c50..5ae6bda 100755
--- a/validation/validation_application.rb
+++ b/validation/validation_application.rb
@@ -42,9 +42,9 @@ post '/crossvalidation/?' do
cv_params[:stratified] = (params[:stratified].size>0 && params[:stratified]!="false" && params[:stratified]!="0") if params[:stratified]
cv = Validation::Crossvalidation.create cv_params
cv.subjectid = @subjectid
- cv.perform_cv( params[:prediction_feature], params[:algorithm_params], task )
+ cv.perform_cv( params[:prediction_feature], params[:algorithm_params], OpenTox::SubTask.create(task,0,95))
# computation of stats is cheap as dataset are already loaded into the memory
- Validation::Validation.from_cv_statistics( cv.id, @subjectid )
+ Validation::Validation.from_cv_statistics( cv.id, @subjectid, OpenTox::SubTask.create(task,95,100) )
cv.crossvalidation_uri
end
return_task(task)
@@ -84,9 +84,9 @@ post '/crossvalidation/loo/?' do
:loo => "true" }
cv = Validation::Crossvalidation.create cv_params
cv.subjectid = @subjectid
- cv.perform_cv( params[:prediction_feature], params[:algorithm_params], task )
+ cv.perform_cv( params[:prediction_feature], params[:algorithm_params], OpenTox::SubTask.create(task,0,95))
# computation of stats is cheap as dataset are already loaded into the memory
- Validation::Validation.from_cv_statistics( cv.id, @subjectid )
+ Validation::Validation.from_cv_statistics( cv.id, @subjectid, OpenTox::SubTask.create(task,95,100) )
cv.crossvalidation_uri
end
return_task(task)
diff --git a/validation/validation_service.rb b/validation/validation_service.rb
index 0651622..57e6f79 100755
--- a/validation/validation_service.rb
+++ b/validation/validation_service.rb
@@ -32,7 +32,7 @@ module Validation
class Validation
- def self.from_cv_statistics( cv_id, subjectid=nil )
+ def self.from_cv_statistics( cv_id, subjectid=nil, waiting_task=nil )
v = Validation.find( :crossvalidation_id => cv_id, :validation_type => "crossvalidation_statistics" ).first
unless v
crossvalidation = Crossvalidation.get(cv_id)
@@ -49,7 +49,7 @@ module Validation
predicted_variables = models.collect{|m| m.predicted_variable(subjectid)}
predicted_confidences = models.collect{|m| m.predicted_confidence(subjectid)}
prediction = Lib::OTPredictions.new( feature_type, test_dataset_uris, test_target_dataset_uris, prediction_feature,
- prediction_dataset_uris, predicted_variables, predicted_confidences, subjectid )
+ prediction_dataset_uris, predicted_variables, predicted_confidences, subjectid, OpenTox::SubTask.create(waiting_task, 0, 90) )
v = Validation.new
case feature_type
@@ -74,6 +74,7 @@ module Validation
v.real_runtime = vals.collect{ |vv| vv.real_runtime }.uniq.join(";")
v.save
end
+ waiting_task.progress(100) if waiting_task
v
end