summaryrefslogtreecommitdiff
path: root/lib/algorithm.rb
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2010-08-11 08:48:02 +0200
committermguetlein <martin.guetlein@gmail.com>2010-08-11 08:48:02 +0200
commit26369d68b9edcf053789e2d024e0286fd517a29d (patch)
tree1da11b9beef0df56a291f836e6a6cf46bfacaa01 /lib/algorithm.rb
parent2806bfff8a01f75351f31c5bd676b25b2fb36017 (diff)
parent44d05cec5a612f50f8a61ccd762c8176a0b8fd68 (diff)
Merge remote branch 'helma/master' into test
Diffstat (limited to 'lib/algorithm.rb')
-rw-r--r--lib/algorithm.rb8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/algorithm.rb b/lib/algorithm.rb
index 30a41e0..9d87c7a 100644
--- a/lib/algorithm.rb
+++ b/lib/algorithm.rb
@@ -41,9 +41,7 @@ module OpenTox
LOGGER.debug params
LOGGER.debug File.basename(__FILE__) + ": creating model"
LOGGER.debug File.join(@@config[:services]["opentox-algorithm"], "lazar")
- #resource = RestClient::Resource.new(File.join(@@config[:services]["opentox-algorithm"], "lazar"), :user => @@users[:users].keys[0], :password => @@users[:users].values[0], :content_type => "application/x-yaml")
resource = RestClient::Resource.new(File.join(@@config[:services]["opentox-algorithm"], "lazar"), :user => @@users[:users].keys[0], :password => @@users[:users].values[0], :content_type => "application/x-yaml")
- #@uri = resource.post(:dataset_uri => params[:dataset_uri], :feature_uri => params[:feature_uri], :feature_generation_uri => File.join(@@config[:services]["opentox-algorithm"], "fminer")).chomp
@uri = resource.post(:dataset_uri => params[:dataset_uri], :prediction_feature => params[:prediction_feature], :feature_generation_uri => File.join(@@config[:services]["opentox-algorithm"], "fminer")).body.chomp
end
@@ -56,12 +54,12 @@ module OpenTox
class Similarity
def self.weighted_tanimoto(fp_a,fp_b,p)
common_features = fp_a & fp_b
- all_features = fp_a + fp_b
+ all_features = (fp_a + fp_b).uniq
common_p_sum = 0.0
if common_features.size > 0
- common_features.each{|f| common_p_sum += p[f]}
+ common_features.each{|f| common_p_sum += OpenTox::Utils.gauss(p[f])}
all_p_sum = 0.0
- all_features.each{|f| all_p_sum += p[f]}
+ all_features.each{|f| all_p_sum += OpenTox::Utils.gauss(p[f])}
common_p_sum/all_p_sum
else
0.0