From 607c24c66ec2ef3257d9924a268004b0c1fb5d09 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Mon, 9 Jul 2012 13:05:48 +0200 Subject: merge and filter available via restcall --- application.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/application.rb b/application.rb index 0d9ce5d..5bbadf5 100644 --- a/application.rb +++ b/application.rb @@ -555,6 +555,32 @@ post '/?' do end end +post '/merge' do + LOGGER.info "merging datasets #{params.inspect}" + raise "dataset1 or dataset2 is missing" unless params["dataset1"] and params["dataset2"] + task = OpenTox::Task.create("Merging datasets", @uri) do + dataset1 = OpenTox::Dataset.find(params["dataset1"]) + dataset2 = OpenTox::Dataset.find(params["dataset2"]) + features1 = params.has_key?("features1") ? params["features1"].split(",") : nil + features2 = params.has_key?("features2") ? params["features2"].split(",") : nil + compounds1 = params.has_key?("compounds1") ? params["compounds1"].split(",") : nil + compounds2 = params.has_key?("compounds2") ? params["compounds2"].split(",") : nil + OpenTox::Dataset.merge(dataset1,dataset2,{},@subjectid,features1,features2,compounds1,compounds2).uri + end + return_task task +end + +post '/filter' do + LOGGER.info "filtering dataset #{params.inspect}" + raise "dataset_uri is missing" unless params["dataset_uri"] + task = OpenTox::Task.create("Filtering dataset", @uri) do + dataset = OpenTox::Dataset.find(params["dataset_uri"]) + dataset.filter( params.has_key?("features") ? params["features"].split(",") : nil ).uri + end + return_task task +end + + # Save a dataset, will overwrite all existing data # # Data can be submitted either @@ -578,6 +604,7 @@ post '/:id' do end + # Deletes datasets that have been created by a crossvalidatoin that does not exist anymore # (This can happen if a crossvalidation fails unexpectedly) delete '/cleanup' do -- cgit v1.2.3