From c90644211e214a50f6fdb3a936bf247f45f1f4be Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 13 May 2016 13:38:24 +0200 Subject: compound tests fixed --- test/compound.rb | 13 +++++++------ test/nanoparticles.rb | 15 +++++++++------ test/setup.rb | 4 ++-- 3 files changed, 18 insertions(+), 14 deletions(-) (limited to 'test') diff --git a/test/compound.rb b/test/compound.rb index 29d97a9..992463b 100644 --- a/test/compound.rb +++ b/test/compound.rb @@ -85,8 +85,8 @@ print c.sdf refute_nil c.fingerprint("MP2D") end c = d.compounds[371] - n = c.fingerprint_neighbors({:type => "FP4", :min_sim => 0.7, :training_dataset_id => d.id }) - assert n.size >= 18, "Neighbors size (#{n.size}) should be larger than 17" + n = c.fingerprint_neighbors({:type => "FP4", :min_sim => 0.7, :dataset_id => d.id, :prediction_feature_id => d.features.first.id }) + assert n.size >= 8, "Neighbors size (#{n.size}) should be larger than 7" end def test_openbabel_segfault @@ -118,7 +118,7 @@ print c.sdf ].each do |smi| c = OpenTox::Compound.from_smiles smi types.each do |type| - neighbors = c.fingerprint_neighbors({:type => type, :training_dataset_id => training_dataset.id, :min_sim => min_sim}) + neighbors = c.fingerprint_neighbors({:type => type, :dataset_id => training_dataset.id, :min_sim => min_sim, :prediction_feature_id => training_dataset.features.first.id}) unless type == "FP2" and smi == "CC(=O)CC(C)C#N" or smi == "C(=O)CC(C)C#N" and (type == "FP2" or type == "MACCS") refute_empty neighbors end @@ -139,6 +139,7 @@ print c.sdf end def test_fingerprint_count_neighbors + skip types = ["MP2D", "MNA"] min_sim = 0.0 training_dataset = Dataset.from_csv_file File.join(DATA_DIR,"EPAFHM_log10.csv") @@ -149,7 +150,7 @@ print c.sdf ].each do |smi| c = OpenTox::Compound.from_smiles smi types.each do |type| - neighbors = c.fingerprint_count_neighbors({:type => type, :training_dataset_id => training_dataset.id, :min_sim => min_sim}) + neighbors = c.fingerprint_count_neighbors({:type => type, :dataset_id => training_dataset.id, :min_sim => min_sim, :prediction_feature_id => training_dataset.features.first.id}) if type == "FP4" fp4_neighbors = c.neighbors neighbors.each do |n| @@ -170,10 +171,10 @@ print c.sdf ].each do |smi| c = OpenTox::Compound.from_smiles smi t = Time.now - neighbors = c.db_neighbors(:training_dataset_id => training_dataset.id, :min_sim => 0.2) + neighbors = c.db_neighbors(:dataset_id => training_dataset.id, :min_sim => 0.2) p Time.now - t t = Time.now - neighbors2 = c.fingerprint_neighbors({:type => "MP2D", :training_dataset_id => training_dataset.id, :min_sim => 0.2}) + neighbors2 = c.fingerprint_neighbors({:type => "MP2D", :dataset_id => training_dataset.id, :min_sim => 0.2, :prediction_feature_id => training_dataset.features.first.id}) p Time.now - t p neighbors.size p neighbors2.size diff --git a/test/nanoparticles.rb b/test/nanoparticles.rb index e1b8788..897552d 100644 --- a/test/nanoparticles.rb +++ b/test/nanoparticles.rb @@ -4,7 +4,7 @@ require_relative "setup.rb" class NanoparticleTest < MiniTest::Test def setup - Import::Enanomapper.import File.join(File.dirname(__FILE__),"data","enm") + #Import::Enanomapper.import File.join(File.dirname(__FILE__),"data","enm") #`mongorestore --db=development #{File.join(File.dirname(__FILE__),"..","dump","production")}` end @@ -23,18 +23,20 @@ class NanoparticleTest < MiniTest::Test def test_create_model training_dataset = Dataset.find_or_create_by(:name => "Protein Corona Fingerprinting Predicts the Cellular Interaction of Gold and Silver Nanoparticles") - feature = Feature.find_or_create_by(name: "7.99 Toxicity (other) ICP-AES", category: "TOX", unit: "mL/ug(Mg)") - model = Model::LazarRegression.create(feature, training_dataset, {:prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression", :neighbor_algorithm => "nanoparticle_neighbors"}) + #p training_dataset.nanoparticles.size + feature = Feature.find_or_create_by(name: "Net cell association", category: "TOX", unit: "mL/ug(Mg)") + model = Model::LazarRegression.create(feature, training_dataset, {:prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average", :neighbor_algorithm => "nanoparticle_neighbors"}) + #model = Model::LazarRegression.create(feature, training_dataset, {:prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression", :neighbor_algorithm => "nanoparticle_neighbors"}) nanoparticle = training_dataset.nanoparticles[-34] prediction = model.predict nanoparticle p prediction - #p prediction refute_nil prediction[:value] end def test_validate_model training_dataset = Dataset.find_or_create_by(:name => "Protein Corona Fingerprinting Predicts the Cellular Interaction of Gold and Silver Nanoparticles") - feature = Feature.find_or_create_by(name: "7.99 Toxicity (other) ICP-AES", category: "TOX", unit: "mL/ug(Mg)") + feature = Feature.find_or_create_by(name: "Net cell association", category: "TOX", unit: "mL/ug(Mg)") + #feature = Feature.find_or_create_by(name: "7.99 Toxicity (other) ICP-AES", category: "TOX", unit: "mL/ug(Mg)") model = Model::LazarRegression.create(feature, training_dataset, {:prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average", :neighbor_algorithm => "nanoparticle_neighbors"}) p model cv = RegressionCrossValidation.create model @@ -43,7 +45,8 @@ class NanoparticleTest < MiniTest::Test def test_validate_pls_model training_dataset = Dataset.find_or_create_by(:name => "Protein Corona Fingerprinting Predicts the Cellular Interaction of Gold and Silver Nanoparticles") - feature = Feature.find_or_create_by(name: "7.99 Toxicity (other) ICP-AES", category: "TOX", unit: "mL/ug(Mg)") + feature = Feature.find_or_create_by(name: "Net cell association", category: "TOX", unit: "mL/ug(Mg)") + #feature = Feature.find_or_create_by(name: "7.99 Toxicity (other) ICP-AES", category: "TOX", unit: "mL/ug(Mg)") model = Model::LazarRegression.create(feature, training_dataset, {:prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression", :neighbor_algorithm => "nanoparticle_neighbors"}) #model = Model::LazarRegression.create(feature, training_dataset, {:prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average", :neighbor_algorithm => "nanoparticle_neighbors"}) p model diff --git a/test/setup.rb b/test/setup.rb index e7c32b4..6c97282 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