diff options
author | gebele <gebele@in-silico.ch> | 2015-10-28 09:12:20 +0000 |
---|---|---|
committer | gebele <gebele@in-silico.ch> | 2015-10-28 09:12:20 +0000 |
commit | de68ec507750a9b0878188400f5d01bd32569d70 (patch) | |
tree | a9112e44eb6f52f159b98283e7ad0a490188cfea /lib | |
parent | 84e73eb2bf4f014f2f59d30c6b81cb0749d2faf4 (diff) |
always collect neighbors even if database hit
Diffstat (limited to 'lib')
-rw-r--r-- | lib/model.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/model.rb b/lib/model.rb index 98433d0..227d4d3 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -74,14 +74,8 @@ module OpenTox neighbors = [] compounds.each_with_index do |compound,c| t = Time.new - database_activities = training_dataset.values(compound,prediction_feature) - if use_database_values and database_activities and !database_activities.empty? - database_activities = database_activities.first if database_activities.size == 1 - predictions << {:compound => compound, :value => database_activities, :confidence => "measured", :warning => "Compound #{compound.smiles} occurs in training dataset with activity '#{database_activities}'."} - next - end - neighbors = compound.send(neighbor_algorithm, neighbor_algorithm_parameters) + neighbors = compound.send(neighbor_algorithm, neighbor_algorithm_parameters) # add activities # TODO: improve efficiency, takes 3 times longer than previous version neighbors.collect! do |n| @@ -90,6 +84,13 @@ module OpenTox acts.empty? ? nil : n << acts end neighbors.compact! # remove neighbors without training activities + + database_activities = training_dataset.values(compound,prediction_feature) + if use_database_values and database_activities and !database_activities.empty? + database_activities = database_activities.first if database_activities.size == 1 + predictions << {:compound => compound, :value => database_activities, :confidence => "measured", :warning => "Compound #{compound.smiles} occurs in training dataset with activity '#{database_activities}'."} + next + end predictions << Algorithm.run(prediction_algorithm, compound, {:neighbors => neighbors,:training_dataset_size => training_dataset.data_entries.size}) =begin # TODO scaled dataset for physchem |