From 5fdf86d55f47fa3bdca0bb8f5482a7fd33f60987 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Tue, 31 Jan 2012 11:27:31 +0100 Subject: feature match functionallity for fminer --- fminer.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/fminer.rb b/fminer.rb index 0739b62..36e242e 100644 --- a/fminer.rb +++ b/fminer.rb @@ -85,6 +85,31 @@ get "/fminer/last/?" do end end +# Creates same features for dataset that have been created +# with fminer in dataset +post '/fminer/:method/match?' do + raise OpenTox::BadRequestError.new "feature_dataset_uri not given" unless params[:feature_dataset_uri] + raise OpenTox::BadRequestError.new "dataset_uri not given" unless params[:dataset_uri] + task = OpenTox::Task.create("Matching features", url_for('/fminer/match',:full)) do |task| + f_dataset = OpenTox::Dataset.find params[:feature_dataset_uri],@subjectid + c_dataset = OpenTox::Dataset.find params[:dataset_uri],@subjectid + res_dataset = OpenTox::Dataset.create @subjectid + f_dataset.features.each do |f,m| + res_dataset.add_feature(f,m) + end + c_dataset.compounds.each do |c| + res_dataset.add_compound(c) + comp = OpenTox::Compound.new(c) + f_dataset.features.each do |f,m| + res_dataset.add(c,f,1) if comp.match?(m[OT.smarts]) + end + end + res_dataset.save + res_dataset.uri + end + return_task(task) +end + # Run bbrc algorithm on dataset # # @param [String] dataset_uri URI of the training dataset -- cgit v1.2.3