summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavor <vorgrimmlerdavid@gmx.de>2013-09-20 18:28:20 +0200
committerdavor <vorgrimmlerdavid@gmx.de>2013-09-20 18:28:20 +0200
commit115d9fa174ece1be1e2983b540676e308d192a11 (patch)
tree38d083c727ee55ba740809393b823077c11a827b
parent25311ea8e12ba377fce34bc570bd757fe2b76c20 (diff)
Added test for current models.
-rw-r--r--test/lazar-fminer.rb9
-rw-r--r--test/lazar-models.rb93
2 files changed, 97 insertions, 5 deletions
diff --git a/test/lazar-fminer.rb b/test/lazar-fminer.rb
index ef17985..4f146c6 100644
--- a/test/lazar-fminer.rb
+++ b/test/lazar-fminer.rb
@@ -3,7 +3,7 @@ require_relative "setup.rb"
class LazarFminerTest < MiniTest::Test
def test_lazar_fminer
- dataset = OpenTox::Dataset.new
+ dataset = OpenTox::Dataset.new
dataset.upload File.join(DATA_DIR,"hamster_carcinogenicity.csv")
assert_equal dataset.uri.uri?, true
model_uri = OpenTox::Model::Lazar.create :dataset_uri => dataset.uri, :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc")
@@ -11,7 +11,7 @@ class LazarFminerTest < MiniTest::Test
model = OpenTox::Model::Lazar.new model_uri
assert_equal model.uri.uri?, true
feature_dataset_uri = model[RDF::OT.featureDataset]
- feature_dataset = OpenTox::Dataset.new feature_dataset_uri
+ feature_dataset = OpenTox::Dataset.new feature_dataset_uri
assert_equal dataset.compounds.size, feature_dataset.compounds.size
assert_equal 54, feature_dataset.features.size
assert_equal '[#6&A]-[#6&A]-[#6&A]=[#6&A]', OpenTox::Feature.new(feature_dataset.features.first.uri).title
@@ -21,13 +21,12 @@ class LazarFminerTest < MiniTest::Test
:prediction => "false",
:confidence => 0.25281385281385277
},{
- # lazar Parameter, min_frequency = 8
:compound => OpenTox::Compound.from_smiles("c1ccccc1NN"),
:prediction => "false",
:confidence => 0.3639589577089577
} ].each do |example|
prediction_uri = model.predict :compound_uri => example[:compound].uri
- puts prediction_uri
+ #puts prediction_uri
prediction_dataset = OpenTox::Dataset.new prediction_uri
assert_equal prediction_dataset.uri.uri?, true
prediction = prediction_dataset.predictions.select{|p| p[:compound].uri == example[:compound].uri}.first
@@ -37,7 +36,7 @@ class LazarFminerTest < MiniTest::Test
end
# make a dataset prediction
- compound_dataset = OpenTox::Dataset.new
+ compound_dataset = OpenTox::Dataset.new
compound_dataset.upload File.join(DATA_DIR,"EPAFHM.mini.csv")
assert_equal compound_dataset.uri.uri?, true
prediction_uri = model.predict :dataset_uri => dataset.uri
diff --git a/test/lazar-models.rb b/test/lazar-models.rb
new file mode 100644
index 0000000..df4e32a
--- /dev/null
+++ b/test/lazar-models.rb
@@ -0,0 +1,93 @@
+require_relative "setup.rb"
+
+class LazarModelTest < MiniTest::Test
+
+ MODELS = []
+ MODELS << {
+ :titel => "hamster_carcinogenicity",
+ :file => File.join(DATA_DIR,"hamster_carcinogenicity.csv"),
+ :type => "classification",
+ :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+ :min_frequency => 2,
+ :test_values => {
+ :feature_size => 54,
+ :first_feature => "[#6&A]-[#6&A]-[#6&A]=[#6&A]",
+ :prediction1 => [OpenTox::Compound.from_inchi("InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H").uri,"false",0.25281385281385277],
+ :prediction2 => [OpenTox::Compound.from_smiles("c1ccccc1NN").uri,"false",0.3639589577089577]
+ }
+ }
+ MODELS << {
+ :titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_Hamster",
+ :file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_Hamster.csv"),
+ :type => "classification",
+ :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+ :min_frequency => 2,
+ :test_values => {
+ :feature_size => 58,
+ :first_feature => '[#6&A]-[#6&A]-[#6&A]=[#6&A]',
+ :prediction1 => [OpenTox::Compound.from_inchi("InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H").uri,"inactive",0.23658008658008656],
+ :prediction2 => [OpenTox::Compound.from_smiles("c1ccccc1NN").uri,"inactive",0.34980297480297484]
+ }
+ }
+
+
+ #DSSTox_Carcinogenic_Potency_DBS_Mouse.csv
+ #DSSTox_Carcinogenic_Potency_DBS_MultiCellCall.csv
+ #DSSTox_Carcinogenic_Potency_DBS_MultiCellCall_no_duplicates.csv
+ #DSSTox_Carcinogenic_Potency_DBS_Mutagenicity.csv
+ #DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv
+ #DSSTox_Carcinogenic_Potency_DBS_Rat.csv
+ #DSSTox_Carcinogenic_Potency_DBS_SingleCellCall.csv
+ def test_lazar_models
+ MODELS.each do |model|
+ dataset = OpenTox::Dataset.new
+ dataset.upload model[:file]
+ assert_equal dataset.uri.uri?, true
+ model_uri = OpenTox::Model::Lazar.create :dataset_uri => dataset.uri, :feature_generation_uri => model[:feature_generation_uri]
+ assert_equal model_uri.uri?, true
+ #puts "model_uri for '#{model[:titel]}': #{model_uri}"
+ this_model = OpenTox::Model::Lazar.new model_uri
+ assert_equal this_model.uri.uri?, true
+ feature_dataset_uri = this_model[RDF::OT.featureDataset]
+ feature_dataset = OpenTox::Dataset.new feature_dataset_uri
+ assert_equal dataset.compounds.size, feature_dataset.compounds.size
+ assert_equal model[:test_values][:feature_size], feature_dataset.features.size
+ #puts feature_dataset.features.size
+ assert_equal model[:test_values][:first_feature], OpenTox::Feature.new(feature_dataset.features.first.uri).title
+ #puts OpenTox::Feature.new(feature_dataset.features.first.uri).title
+
+ [ {
+ :compound => model[:test_values][:prediction1][0],
+ :prediction => model[:test_values][:prediction1][1],
+ :confidence => model[:test_values][:prediction1][2]
+ },{
+ :compound => model[:test_values][:prediction2][0],
+ :prediction => model[:test_values][:prediction2][1],
+ :confidence => model[:test_values][:prediction2][2]
+ } ].each do |example|
+ prediction_uri = this_model.predict :compound_uri => example[:compound]
+ #puts prediction_uri
+ prediction_dataset = OpenTox::Dataset.new prediction_uri
+ assert_equal prediction_dataset.uri.uri?, true
+ prediction = prediction_dataset.predictions.select{|p| p[:compound].uri == example[:compound]}.first
+ assert_equal example[:prediction], prediction[:value]
+ #puts prediction[:value]
+ assert_equal example[:confidence], prediction[:confidence]
+ #puts prediction[:confidence]
+ #puts prediction_dataset.uri
+ #prediction_dataset.delete
+ end
+
+ # make a dataset prediction
+ compound_dataset = OpenTox::Dataset.new
+ compound_dataset.upload File.join(DATA_DIR,"EPAFHM.mini.csv")
+ assert_equal compound_dataset.uri.uri?, true
+ prediction_uri = this_model.predict :dataset_uri => dataset.uri
+ prediction = OpenTox::Dataset.new prediction_uri
+ assert_equal prediction.uri.uri?, true
+
+ # cleanup
+ [dataset,this_model,feature_dataset,compound_dataset].each{|o| o.delete}
+ end
+ end
+end