From e3da22ccc8aa7c7f808b5ebf3d3a1539d59eade0 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Fri, 2 Mar 2012 17:09:09 +0100 Subject: fix: do not always delete feature datasets in loo-cv --- validation/validation_application.rb | 2 +- validation/validation_service.rb | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/validation/validation_application.rb b/validation/validation_application.rb index b07e814..b29b7ff 100755 --- a/validation/validation_application.rb +++ b/validation/validation_application.rb @@ -97,7 +97,7 @@ post '/crossvalidation/loo/?' do 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, OpenTox::SubTask.create(task,95,100) ) - cv.clean_loo_files + cv.clean_loo_files( !(params[:algorithm_params] && params[:algorithm_params] =~ /feature_dataset_uri/) ) cv.crossvalidation_uri end return_task(task) diff --git a/validation/validation_service.rb b/validation/validation_service.rb index 527e5ca..c6a0299 100755 --- a/validation/validation_service.rb +++ b/validation/validation_service.rb @@ -305,17 +305,19 @@ module Validation perform_cv_validations( algorithm_params, OpenTox::SubTask.create(task, 33, 100) ) end - def clean_loo_files + def clean_loo_files( delete_feature_datasets ) Validation.find( :crossvalidation_id => self.id, :validation_type => "crossvalidation" ).each do |v| LOGGER.debug "loo-cleanup> delete training dataset "+v.training_dataset_uri OpenTox::RestClientWrapper.delete v.training_dataset_uri,subjectid - begin - model = OpenTox::Model::Generic.find(v.model_uri) - if model.metadata[OT.featureDataset] - LOGGER.debug "loo-cleanup> delete feature dataset "+model.metadata[OT.featureDataset] - OpenTox::RestClientWrapper.delete model.metadata[OT.featureDataset],subjectid + if (delete_feature_datasets) + begin + model = OpenTox::Model::Generic.find(v.model_uri) + if model.metadata[OT.featureDataset] + LOGGER.debug "loo-cleanup> delete feature dataset "+model.metadata[OT.featureDataset] + OpenTox::RestClientWrapper.delete model.metadata[OT.featureDataset],subjectid + end + rescue end - rescue end end end -- cgit v1.2.3