4842a1841cffaf6f4b0133c0bb399f85254a98d9
[lazar] / test / use_cases.rb
1 require_relative "setup.rb"
2
3 class UseCasesTest < MiniTest::Test
4
5   def test_PA
6     # TODO add assertions
7     skip "This test ist very time consuming, enable on demand."
8     kazius = Dataset.from_sdf_file "#{DATA_DIR}/cas_4337.sdf"
9     hansen = Dataset.from_csv_file "#{DATA_DIR}/hansen.csv"
10     efsa = Dataset.from_csv_file "#{DATA_DIR}/efsa.csv"
11     datasets = [kazius,hansen,efsa]
12     map = {"1" => "mutagen", "0" => "nonmutagen"}
13     #p "merging"
14     training_dataset = Dataset.merge datasets: datasets, features: datasets.collect{|d| d.bioactivity_features.first}, value_maps: [nil,map,map], keep_original_features: false, remove_duplicates: true
15     assert_equal 8281, training_dataset.compounds.size
16     #p training_dataset.features.size
17     #p training_dataset.id
18     #training_dataset = Dataset.find('5bd8ac8fca62695d767fca6b')
19     #training_dataset = Dataset.find('5bd8bbadca62695f69e7a33b')
20     #puts training_dataset.to_csv
21     #p "create model_validation"
22     model_validation = Model::Validation.from_dataset training_dataset: training_dataset, prediction_feature: training_dataset.merged_features.first, species: "Salmonella typhimurium", endpoint: "Mutagenicity"
23     #p model_validation.id
24     #model_validation = Model::Validation.find '5bd8df47ca6269604590ab38'
25     #p model_validation.crossvalidations.first.predictions.select{|cid,p| !p["warnings"].empty?}
26     #p "predict"
27     pa = Dataset.from_sdf_file "#{DATA_DIR}/PA.sdf"
28     prediction_dataset = model_validation.predict pa
29     #p prediction_dataset.id
30     #prediction_dataset = Dataset.find('5bd98b88ca6269609aab79f4')
31     #puts prediction_dataset.to_csv
32   end
33
34   def test_tox21
35     # TODO add assertions
36     skip "This test ist very time consuming, enable on demand."
37     training_dataset = Dataset.from_pubchem_aid 743122
38     #p training_dataset.id
39     #'5bd9a1dbca626969d97fb421'
40     #File.open("AID743122.csv","w+"){|f| f.puts training_dataset.to_csv}
41     #model = Model::Lazar.create training_dataset: training_dataset
42     #p model.id
43     #p Model::Lazar.find('5bd9a70bca626969d97fc9df')
44     model_validation = Model::Validation.from_dataset training_dataset: training_dataset, prediction_feature: training_dataset.bioactivity_features.first, species: "Human HG2L7.5c1 cell line", endpoint: "aryl hydrocarbon receptor (AhR) signaling pathway activation"
45     #model_validation = Model::Validation.find '5bd9b210ca62696be39ab74d'
46     #model_validation.crossvalidations.each do |cv|
47       #p cv
48     #end
49     #p model_validation.crossvalidations.first.predictions.select{|cid,p| !p["warnings"].empty?}
50   end
51
52   def test_public_models
53     skip
54 =begin
55     #classification
56     aids = [
57       1205, #Rodents (multiple species/sites)
58       1208, # rat carc
59       1199 # mouse
60       # Mutagenicity
61
62
63       1195 #MRDD
64       1188 #FHM
65       1208, # rat carc td50
66       1199 # mouse td50
67     
68     # daphnia
69     # Blood Brain Barrier Penetration
70     # Lowest observed adverse effect level (LOAEL)
71
72       # 1204  estrogen receptor
73       # 1259408, # GENE-TOX
74       # 1159563 HepG2 cytotoxicity assay
75       # 588209 hepatotoxicity
76       # 1259333 cytotoxicity
77       # 1159569 HepG2 cytotoxicity counterscreen Measured in Cell-Based System Using Plate Reader - 2153-03_Inhibitor_Dose_DryPowder_Activity
78       # 2122 HTS Counterscreen for Detection of Compound Cytotoxicity in MIN6 Cells
79       # 116724 Acute toxicity determined after intravenal administration in mice
80       # 1148549 Toxicity in po dosed mouse assessed as mortality after 7 days
81 =end
82
83   end
84 end