From 6ab86c253ba0eb79b9e6a20effa2d18626accf2b Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 13 Aug 2015 11:56:40 +0200 Subject: OpenBabel can (canonical smiles) instead of inchi as internal identifier to avoid OpenBabel InChi bug. --- test/lazar-fminer.rb | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 test/lazar-fminer.rb (limited to 'test/lazar-fminer.rb') diff --git a/test/lazar-fminer.rb b/test/lazar-fminer.rb new file mode 100644 index 0000000..fbfa3d2 --- /dev/null +++ b/test/lazar-fminer.rb @@ -0,0 +1,51 @@ +require_relative "setup.rb" + +class LazarFminerTest < MiniTest::Test + + def test_lazar_fminer + training_dataset = Dataset.from_csv_file File.join(DATA_DIR,"hamster_carcinogenicity.csv") + model = Model::LazarFminerClassification.create training_dataset#, feature_dataset + feature_dataset = Dataset.find model.neighbor_algorithm_parameters[:feature_dataset_id] + assert_equal training_dataset.compounds.size, feature_dataset.compounds.size + p feature_dataset.features.size + #assert_equal 54, feature_dataset.features.size + feature_dataset.data_entries.each do |e| + assert_equal e.size, feature_dataset.features.size + end + #assert_equal 'C-C-C=C', feature_dataset.features.first.smarts + + [ { + :compound => OpenTox::Compound.from_inchi("InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H"), + :prediction => "false", + :confidence => 0.25281385281385277, + :nr_neighbors => 11 + },{ + :compound => OpenTox::Compound.from_smiles("c1ccccc1NN"), + :prediction => "false", + :confidence => 0.3639589577089577, + :nr_neighbors => 14 + }, { + :compound => Compound.from_smiles('OCCCCCCCC\C=C/CCCCCCCC'), + :prediction => "false", + :confidence => 0.5555555555555556, + :nr_neighbors => 1 + }].each do |example| + prediction = model.predict example[:compound] + + p prediction + #assert_equal example[:prediction], prediction[:value] + #assert_equal example[:confidence], prediction[:confidence] + #assert_equal example[:nr_neighbors], prediction[:neighbors].size + end + + # make a dataset prediction + compound_dataset = OpenTox::Dataset.from_csv_file File.join(DATA_DIR,"EPAFHM.mini.csv") + prediction = model.predict compound_dataset + assert_equal compound_dataset.compounds, prediction.compounds + + assert_match /No neighbors/, prediction.data_entries[7][2] + assert_equal "measured", prediction.data_entries[14][1] + # cleanup + [training_dataset,model,feature_dataset,compound_dataset].each{|o| o.delete} + end +end -- cgit v1.2.3 From d0850e2983a219da214a67190fe881c7650f532f Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 13 Aug 2015 18:57:11 +0200 Subject: majority of tests working --- test/lazar-fminer.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'test/lazar-fminer.rb') diff --git a/test/lazar-fminer.rb b/test/lazar-fminer.rb index fbfa3d2..41e1071 100644 --- a/test/lazar-fminer.rb +++ b/test/lazar-fminer.rb @@ -7,7 +7,7 @@ class LazarFminerTest < MiniTest::Test model = Model::LazarFminerClassification.create training_dataset#, feature_dataset feature_dataset = Dataset.find model.neighbor_algorithm_parameters[:feature_dataset_id] assert_equal training_dataset.compounds.size, feature_dataset.compounds.size - p feature_dataset.features.size + #TODO check fminer features, see fminer.rb #assert_equal 54, feature_dataset.features.size feature_dataset.data_entries.each do |e| assert_equal e.size, feature_dataset.features.size @@ -32,8 +32,7 @@ class LazarFminerTest < MiniTest::Test }].each do |example| prediction = model.predict example[:compound] - p prediction - #assert_equal example[:prediction], prediction[:value] + assert_equal example[:prediction], prediction[:value] #assert_equal example[:confidence], prediction[:confidence] #assert_equal example[:nr_neighbors], prediction[:neighbors].size end @@ -43,7 +42,7 @@ class LazarFminerTest < MiniTest::Test prediction = model.predict compound_dataset assert_equal compound_dataset.compounds, prediction.compounds - assert_match /No neighbors/, prediction.data_entries[7][2] + assert_equal "Cound not find similar compounds.", prediction.data_entries[7][2] assert_equal "measured", prediction.data_entries[14][1] # cleanup [training_dataset,model,feature_dataset,compound_dataset].each{|o| o.delete} -- cgit v1.2.3