diff options
author | mguetlein <martin.guetlein@gmail.com> | 2011-05-27 10:12:24 +0200 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2011-05-27 10:12:24 +0200 |
commit | 17c4336d0ee044fc82d66c47ab286ad4ed2881a0 (patch) | |
tree | 15d1e65178ab37cf771ec35f41788bc154405be2 | |
parent | e9d9e60312f6dd2def1b70142a32db6021de1fbb (diff) | |
parent | 355f2f97e3323ba8b60109e6c9524ef1f692ea1a (diff) |
Merge branch 'development' of github.com:opentox/test into development
-rw-r--r-- | lazar.rb | 56 |
1 files changed, 51 insertions, 5 deletions
@@ -25,20 +25,38 @@ class LazarTest < Test::Unit::TestCase =end def test_create_regression_model model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@regression_training_dataset.uri, :subjectid => @@subjectid}).to_s - puts model_uri + #puts model_uri validate_owl model_uri,@@subjectid lazar = OpenTox::Model::Lazar.find model_uri, @@subjectid @models << lazar - assert_equal 185, lazar.features.size + assert_equal 219, lazar.features.size compound = OpenTox::Compound.from_smiles("c1ccccc1NN") prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid).to_s prediction = OpenTox::LazarPrediction.find(prediction_uri, @@subjectid) @predictions << prediction - assert_equal prediction.value(compound).round_to(3),0.2849.round_to(3) - assert_equal prediction.confidence(compound).round_to(3), 0.3223.round_to(3) + assert_equal prediction.value(compound).round_to(3),0.378.round_to(3) + assert_equal prediction.confidence(compound).round_to(3), 0.276.round_to(3) #assert_equal prediction.value(compound).round_to(4), 0.2847.round_to(4) #assert_equal prediction.confidence(compound).round_to(4), 0.3223.round_to(4) - assert_equal prediction.neighbors(compound).size, 73 + assert_equal prediction.neighbors(compound).size, 61 + end + + def test_create_regression_prop_model + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@regression_training_dataset.uri, :subjectid => @@subjectid, :local_svm_kernel => "propositionalized"}).to_s + #puts model_uri + validate_owl model_uri,@@subjectid + lazar = OpenTox::Model::Lazar.find model_uri, @@subjectid + @models << lazar + assert_equal 219, lazar.features.size + compound = OpenTox::Compound.from_smiles("c1ccccc1NN") + prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid).to_s + prediction = OpenTox::LazarPrediction.find(prediction_uri, @@subjectid) + @predictions << prediction + assert_equal prediction.value(compound).round_to(1),0.1.round_to(1) + assert_equal prediction.confidence(compound).round_to(3), 0.276.round_to(3) + #assert_equal prediction.value(compound).round_to(4), 0.2847.round_to(4) + #assert_equal prediction.confidence(compound).round_to(4), 0.3223.round_to(4) + assert_equal prediction.neighbors(compound).size, 61 end def test_classification_model @@ -104,6 +122,34 @@ class LazarTest < Test::Unit::TestCase compound = OpenTox::Compound.from_smiles "CC(=Nc1ccc2c(c1)Cc1ccccc21)O" assert_equal prediction.value(compound), nil assert_equal prediction.measured_activities(compound).first, true + end + + def test_classification_svm_prop_model + + + # create model + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@classification_training_dataset.uri, :subjectid => @@subjectid, :prediction_algorithm => "local_svm_classification", :local_svm_kernel => "propositionalized"}).to_s + lazar = OpenTox::Model::Lazar.find model_uri, @@subjectid + @models << lazar + assert_equal lazar.features.size, 52 + + # single prediction + compound = OpenTox::Compound.from_smiles("c1ccccc1NN") + prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid) + prediction = OpenTox::LazarPrediction.find(prediction_uri, @@subjectid) + @predictions << prediction + assert_equal prediction.value(compound), false + assert_equal prediction.confidence(compound).round_to(4), 0.4131.round_to(4) + assert_equal prediction.neighbors(compound).size, 14 + + # dataset prediction + test_dataset = OpenTox::Dataset.create_from_csv_file("data/multicolumn.csv", @@subjectid) + prediction = OpenTox::LazarPrediction.find lazar.run(:dataset_uri => test_dataset.uri, :subjectid => @@subjectid), @@subjectid + @predictions << prediction + assert_equal prediction.compounds.size, 4 + compound = OpenTox::Compound.from_smiles "CC(=Nc1ccc2c(c1)Cc1ccccc21)O" + assert_equal prediction.value(compound), nil + assert_equal prediction.measured_activities(compound).first, true end |