diff options
author | mguetlein <martin.guetlein@gmail.com> | 2012-01-31 11:27:31 +0100 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2012-01-31 11:27:31 +0100 |
commit | 5fdf86d55f47fa3bdca0bb8f5482a7fd33f60987 (patch) | |
tree | e4d5e15a3f83d2f2da94e79df86f945efd5f236a | |
parent | 0553eddba202ae481a1cdc3b7cc59002c4777ad4 (diff) |
feature match functionallity for fminer
-rw-r--r-- | fminer.rb | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -85,6 +85,31 @@ get "/fminer/last/?" do end end +# Creates same features for dataset <dataset_uri> that have been created +# with fminer in dataset <feature_dataset_uri> +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 |