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