summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2016-04-28 12:19:48 +0200
committerChristoph Helma <helma@in-silico.ch>2016-04-28 12:19:48 +0200
commit79238bddb59607aa9f759caa9e3c8db176709703 (patch)
treee9c28634812a868215f742f333055d5f3030e0ac
parentacf19c81e345ceccde834653a0f0edce27827958 (diff)
compound validations fixed
-rw-r--r--lib/model.rb1
-rw-r--r--lib/nanoparticle.rb2
-rw-r--r--lib/regression.rb2
-rw-r--r--test/regression.rb9
-rw-r--r--test/setup.rb4
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