summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavor <vorgrimmlerdavid@gmx.de>2013-09-23 15:02:53 +0200
committerdavor <vorgrimmlerdavid@gmx.de>2013-09-23 15:02:53 +0200
commit517cc4a04beba76137c171030a40153f1ab34b66 (patch)
treed83673d2fbc1a40bc77a458d9397091230464582
parent115d9fa174ece1be1e2983b540676e308d192a11 (diff)
Added models.
-rw-r--r--test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Hamster.csv1
-rw-r--r--test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv5
-rw-r--r--test/lazar-models.rb139
3 files changed, 109 insertions, 36 deletions
diff --git a/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Hamster.csv b/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Hamster.csv
index 7578542..c0e8158 100644
--- a/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Hamster.csv
+++ b/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Hamster.csv
@@ -50,7 +50,6 @@ ClC(=CCl)Cl,inactive
O=C1OC2=C(C=CC=C2)C=C1,inactive
O=C2C1=C(OC)C=C(OC)C(Cl)=C1O[C@]32C(OC)=CC(C[C@@](C)3[H])=O,inactive
C1=C(C=CC(=C1)C(C2=CC=C(N)C(=C2)C)=C3C=CC(=N)C=C3)N.[H]Cl,inactive
-,inactive
[Cl-].[Cd+2].[Cl-],inactive
C1=C2C(=CC=C1NC3=CC=CC=C3)C=CC=C2,inactive
O=C1C(C2=CC=CC=C2)(C(=O)NC(=O)N1)CC,inactive
diff --git a/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv b/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv
index 13c9d4d..835b2b1 100644
--- a/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv
+++ b/test/data/CPDBAS_v5d_cleaned/DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv
@@ -38,7 +38,6 @@ S=C1NCCN1,active
NC1=NC(C2=CC=C([N+]([O-])=O)O2)=CS1,active
O=NN(C(=O)N)CCC,active
Nc1cc(Cl)c(N)cc1.OS(O)(=O)=O,active
-NC1=CC=CC(C)=C1.[H]Cl,active
NC1=CC=C3C(N=C2C=C(C=CC2=C3)N)=C1.NC4=CC=C6C(N=C5C=C(C=CC5=C6)N)=C4.Cl.Cl.O,active
NC1=CC2=C(C=CC=C2)C=C1,active
NC1=CC=CC2=C1C=CC=C2,active
@@ -160,7 +159,6 @@ O=N[O-].[Na+],active
O=NN(CCC)CCC,active
O=NN(CC=C1)CC1,active
C1(=C(C=CC=C1)N)N.[H]Cl.[H]Cl,active
-O=P(H)(OC)OC,active
[O-][N+](C2=CC=C(O2)C1=CSC(NN(C)C)=N1)=O,active
O=P(OC(CCl)CCl)(OC(CCl)CCl)OC(CCl)CCl,active
O=NN1CCCC1,active
@@ -318,7 +316,6 @@ CC=C,active
C1=C2C(=CC=C1NC3=CC=C(C=C3)NC4=CC=C5C(=C4)C=CC=C5)C=CC=C2,active
[Se]=S,active
O=P([O-])([O-])[O-].O=P([O-])([O-])[O-].O=P([O-])([O-])[O-].O=P([O-])([O-])[O-].Cl[O-].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+],active
-CC(=C)CCl,active
C1OC1C2CO2,active
C1=C2C=CC3=CC=CC=C3C2=CC4=CC=C5C(=C14)C=CC=C5,active
C\C1=C\N(C(=O)NC1=O)[C@H]2C[C@H](/N=[N+]=[N-])[C@@H](CO)O2,active
@@ -631,7 +628,6 @@ CC(=C)[C@@H]1CCC(=CC1)C,inactive
C=CCC1=CC=C(C=C1)OC,inactive
CNNCC1=CC=C(C=C1)C(=O)NC(C)C,inactive
O=C(CCC(=O)O)NN(C)C,inactive
-CC(=C)CCl,inactive
NC1=CC=CC=C1,inactive
CC(=C)C#N,inactive
CN1N(C2=CC=CC=C2)C(=O)C=C1C,inactive
@@ -734,7 +730,6 @@ NC1=NC(=NC(=N1)N)N,inactive
N1=CC=CC=C1,inactive
[Na+].O=C([O-])[C@@H](N)CCC(O)=O,inactive
C1=C(CO)OC=C1,inactive
-C1=C(C=CC=C1N)C.[H]Cl,inactive
O=C1C23C4C5C6(C(=O)C7=C(O)C(C)=CC(=C7C(C6=C(C2C5O)O)=O)O)C(C4O)C(=C3C(=O)C8=C1C(O)=C(C)C=C8O)O,inactive
C1(CCNC(NC(N)=N)=N)=CC=CC=C1.[H]Cl,inactive
O.[Na+].O.O.CCN(CC)C([S-])=S,inactive
diff --git a/test/lazar-models.rb b/test/lazar-models.rb
index df4e32a..c58964b 100644
--- a/test/lazar-models.rb
+++ b/test/lazar-models.rb
@@ -3,19 +3,22 @@ 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]
- }
- }
+ # test hamster
+# 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]
+# }
+# }
+
+ # Hamster
MODELS << {
:titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_Hamster",
:file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_Hamster.csv"),
@@ -27,34 +30,109 @@ class LazarModelTest < MiniTest::Test
: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]
+ }
}
- }
+
+# # Mutagenicity
+# MODELS << {
+# :titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_Mutagenicity",
+# :file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_Mutagenicity_no_duplicates.csv"),
+# :type => "classification",
+# :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+# :min_frequency => 8,
+# :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]
+# }
+# }
+#
+# # Mouse
+# MODELS << {
+# :titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_Mouse",
+# :file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_Mouse.csv"),
+# :type => "classification",
+# :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+# :min_frequency => 10,
+# :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]
+# }
+# }
+#
+# # Rat
+# MODELS << {
+# :titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_Rat",
+# :file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_Rat.csv"),
+# :type => "classification",
+# :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+# :min_frequency => 12,
+# :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]
+# }
+# }
+#
+#
+# # MultiCellCall
+# MODELS << {
+# :titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_MultiCellCall",
+# :file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_MultiCellCall_no_duplicates.csv"),
+# :type => "classification",
+# :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+# :min_frequency => 11,
+# :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]
+# }
+# }
+#
+#
+# # SingleCellCall
+# MODELS << {
+# :titel => "DSSTox_Carcinogenic_Potency_DBS_v5d_SingleCellCall",
+# :file => File.join(DATA_DIR,"CPDBAS_v5d_cleaned","DSSTox_Carcinogenic_Potency_DBS_SingleCellCall.csv"),
+# :type => "classification",
+# :feature_generation_uri => File.join($algorithm[:uri],"fminer","bbrc"),
+# :min_frequency => 15,
+# :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]
+# puts model[:file]
+# puts dataset.uri
+# puts
+ model_uri = OpenTox::Model::Lazar.create :dataset_uri => dataset.uri, :feature_generation_uri => model[:feature_generation_uri], :min_frequency => model[:min_frequency]
assert_equal model_uri.uri?, true
- #puts "model_uri for '#{model[:titel]}': #{model_uri}"
+# 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
+# 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
+# puts OpenTox::Feature.new(feature_dataset.features.first.uri).title
[ {
:compound => model[:test_values][:prediction1][0],
@@ -66,16 +144,16 @@ class LazarModelTest < MiniTest::Test
:confidence => model[:test_values][:prediction2][2]
} ].each do |example|
prediction_uri = this_model.predict :compound_uri => example[:compound]
- #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]}.first
assert_equal example[:prediction], prediction[:value]
- #puts prediction[:value]
+# puts prediction[:value]
assert_equal example[:confidence], prediction[:confidence]
- #puts prediction[:confidence]
- #puts prediction_dataset.uri
- #prediction_dataset.delete
+# puts prediction[:confidence]
+# puts prediction_dataset.uri
+ prediction_dataset.delete
end
# make a dataset prediction
@@ -85,6 +163,7 @@ class LazarModelTest < MiniTest::Test
prediction_uri = this_model.predict :dataset_uri => dataset.uri
prediction = OpenTox::Dataset.new prediction_uri
assert_equal prediction.uri.uri?, true
+# puts prediction.uri
# cleanup
[dataset,this_model,feature_dataset,compound_dataset].each{|o| o.delete}