summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2012-07-09 13:05:48 +0200
committermguetlein <martin.guetlein@gmail.com>2012-07-09 13:05:48 +0200
commit607c24c66ec2ef3257d9924a268004b0c1fb5d09 (patch)
treeb3fdfb5585edd21425c1d0a14ef0d21fc91bf5b0
parent0e83d3f4f2f73e5612bc5448b6eb1e07ba4141e8 (diff)
merge and filter available via restcall
-rw-r--r--application.rb27
1 files changed, 27 insertions, 0 deletions
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