From 79238bddb59607aa9f759caa9e3c8db176709703 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 28 Apr 2016 12:19:48 +0200 Subject: compound validations fixed --- lib/model.rb | 1 - lib/nanoparticle.rb | 2 +- lib/regression.rb | 2 +- test/regression.rb | 9 ++++----- test/setup.rb | 4 ++-- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/model.rb b/lib/model.rb index 80b4685..f61368e 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -50,7 +50,6 @@ module OpenTox end def predict_compound compound - #p compound neighbors = compound.send(neighbor_algorithm, neighbor_algorithm_parameters) # remove neighbors without prediction_feature # check for database activities (neighbors may include query compound) diff --git a/lib/nanoparticle.rb b/lib/nanoparticle.rb index b5de5b9..83b97a9 100644 --- a/lib/nanoparticle.rb +++ b/lib/nanoparticle.rb @@ -8,7 +8,7 @@ module OpenTox field :bundles, type: Array, default: [] def nanoparticle_neighbors params - Dataset.find(params[:training_dataset_id]).nanoparticles + Dataset.find(params[:training_dataset_id]).nanoparticles.collect{|np| {"_id" => np.id, "tanimoto" => 1}} end def add_feature feature, value diff --git a/lib/regression.rb b/lib/regression.rb index 3a59c14..694a2dc 100644 --- a/lib/regression.rb +++ b/lib/regression.rb @@ -85,7 +85,7 @@ module OpenTox activities = [] weights = [] - pc_ids = neighbors.collect{|n| n.physchem_descriptors.keys}.flatten.uniq + pc_ids = neighbors.collect{|n| Substance.find(n["_id"]).physchem_descriptors.keys}.flatten.uniq data_frame = [] data_frame[0] = [] diff --git a/test/regression.rb b/test/regression.rb index ad460b5..6d461ed 100644 --- a/test/regression.rb +++ b/test/regression.rb @@ -4,7 +4,7 @@ class LazarRegressionTest < MiniTest::Test def test_weighted_average training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv" - model = Model::LazarRegression.create training_dataset, {:neighbor_algorithm_parameters => {:min_sim => 0}, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average"} + model = Model::LazarRegression.create training_dataset.features.first, training_dataset, {:neighbor_algorithm_parameters => {:min_sim => 0}, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average"} compound = Compound.from_smiles "CC(C)(C)CN" prediction = model.predict compound assert_equal 7.2, prediction[:value].round(1) @@ -13,7 +13,7 @@ class LazarRegressionTest < MiniTest::Test def test_mpd_fingerprints training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv" - model = Model::LazarRegression.create training_dataset + model = Model::LazarRegression.create training_dataset.features.first, training_dataset model.neighbor_algorithm_parameters[:type] = "MP2D" compound = Compound.from_smiles "CCCSCCSCC" prediction = model.predict compound @@ -23,10 +23,9 @@ class LazarRegressionTest < MiniTest::Test def test_local_fingerprint_regression training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv" - model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_fingerprint_regression") + model = Model::LazarRegression.create(training_dataset.features.first, training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_fingerprint_regression") compound = Compound.from_smiles "NC(=O)OCCC" prediction = model.predict compound - p prediction refute_nil prediction[:value] refute_nil prediction[:prediction_interval] refute_empty prediction[:neighbors] @@ -34,7 +33,7 @@ class LazarRegressionTest < MiniTest::Test def test_local_physchem_regression training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv" - model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression") + model = Model::LazarRegression.create(training_dataset.features.first, training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression") compound = Compound.from_smiles "NC(=O)OCCC" prediction = model.predict compound refute_nil prediction[:value] diff --git a/test/setup.rb b/test/setup.rb index 6c97282..e7c32b4 100644 --- a/test/setup.rb +++ b/test/setup.rb @@ -5,5 +5,5 @@ require_relative '../lib/lazar.rb' include OpenTox TEST_DIR ||= File.expand_path(File.dirname(__FILE__)) DATA_DIR ||= File.join(TEST_DIR,"data") -#$mongo.database.drop -#$gridfs = $mongo.database.fs +$mongo.database.drop +$gridfs = $mongo.database.fs -- cgit v1.2.3