lazar 0.0.7 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/README.md +2 -1
  4. data/VERSION +1 -1
  5. data/ext/lazar/extconf.rb +15 -76
  6. data/ext/lazar/rinstall.R +9 -0
  7. data/lazar.gemspec +7 -7
  8. data/lib/classification.rb +5 -78
  9. data/lib/compound.rb +201 -44
  10. data/lib/crossvalidation.rb +224 -121
  11. data/lib/dataset.rb +83 -93
  12. data/lib/error.rb +1 -1
  13. data/lib/experiment.rb +99 -0
  14. data/lib/feature.rb +2 -54
  15. data/lib/lazar.rb +47 -34
  16. data/lib/leave-one-out-validation.rb +205 -0
  17. data/lib/model.rb +131 -76
  18. data/lib/opentox.rb +2 -2
  19. data/lib/overwrite.rb +37 -0
  20. data/lib/physchem.rb +133 -0
  21. data/lib/regression.rb +117 -189
  22. data/lib/rest-client-wrapper.rb +4 -5
  23. data/lib/unique_descriptors.rb +6 -7
  24. data/lib/validation.rb +63 -69
  25. data/test/all.rb +2 -2
  26. data/test/classification.rb +41 -0
  27. data/test/compound.rb +116 -7
  28. data/test/data/LOAEL_log_mg_corrected_smiles.csv +567 -567
  29. data/test/data/LOAEL_log_mmol_corrected_smiles.csv +566 -566
  30. data/test/data/LOAEL_mmol_corrected_smiles.csv +568 -0
  31. data/test/data/batch_prediction.csv +25 -0
  32. data/test/data/batch_prediction_inchi_small.csv +4 -0
  33. data/test/data/batch_prediction_smiles_small.csv +4 -0
  34. data/test/data/hamster_carcinogenicity.json +3 -0
  35. data/test/data/loael.csv +568 -0
  36. data/test/dataset-long.rb +5 -8
  37. data/test/dataset.rb +31 -11
  38. data/test/default_environment.rb +11 -0
  39. data/test/descriptor.rb +26 -41
  40. data/test/error.rb +1 -3
  41. data/test/experiment.rb +301 -0
  42. data/test/feature.rb +22 -10
  43. data/test/lazar-long.rb +43 -23
  44. data/test/lazar-physchem-short.rb +19 -16
  45. data/test/prediction_models.rb +20 -0
  46. data/test/regression.rb +43 -0
  47. data/test/setup.rb +3 -1
  48. data/test/test_environment.rb +10 -0
  49. data/test/validation.rb +92 -26
  50. metadata +64 -38
  51. data/lib/SMARTS_InteLigand.txt +0 -983
  52. data/lib/bbrc.rb +0 -165
  53. data/lib/descriptor.rb +0 -247
  54. data/lib/neighbor.rb +0 -25
  55. data/lib/similarity.rb +0 -58
  56. data/mongoid.yml +0 -8
  57. data/test/descriptor-long.rb +0 -26
  58. data/test/fminer-long.rb +0 -38
  59. data/test/fminer.rb +0 -52
  60. data/test/lazar-fminer.rb +0 -50
  61. data/test/lazar-regression.rb +0 -27
data/test/lazar-long.rb CHANGED
@@ -3,37 +3,40 @@ require_relative "setup.rb"
3
3
  class LazarExtendedTest < MiniTest::Test
4
4
 
5
5
  def test_lazar_bbrc_ham_minfreq
6
+ skip
6
7
  dataset = OpenTox::Dataset.from_csv_file File.join(DATA_DIR,"hamster_carcinogenicity.csv")
7
- model = OpenTox::Model::Lazar.create dataset, OpenTox::Algorithm::Fminer.bbrc(dataset, :min_frequency => 5)
8
- feature_dataset = OpenTox::Dataset.find model.feature_dataset_id
8
+ model = Model::LazarFminerClassification.create(dataset, :min_frequency => 5)
9
+ feature_dataset = Dataset.find model.neighbor_algorithm_parameters[:feature_dataset_id]
9
10
  assert_equal dataset.compounds.size, feature_dataset.compounds.size
10
- assert_equal 41, feature_dataset.features.size
11
- assert_equal 'N-C=N', feature_dataset.features.first.smarts
11
+ assert_equal model.feature_calculation_parameters, {"min_frequency"=>5}
12
+ #TODO check frequencies, features and confidence
13
+ #assert_equal 41, feature_dataset.features.size
14
+ #assert_equal 'N-C=N', feature_dataset.features.first.smarts
12
15
  compound = OpenTox::Compound.from_inchi("InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H")
13
16
  prediction = model.predict compound
14
17
  assert_equal "false", prediction[:value]
15
- assert_equal 0.12380952380952381, prediction[:confidence]
18
+ #assert_equal 0.12380952380952381, prediction[:confidence]
16
19
  dataset.delete
17
20
  model.delete
18
21
  feature_dataset.delete
19
22
  end
20
23
 
21
24
  def test_lazar_bbrc_large_ds
22
- # TODO fminer crashes with these settings
23
- skip "it seems that fminer aborts without further notice"
25
+ skip
24
26
  dataset = OpenTox::Dataset.from_csv_file File.join(DATA_DIR,"multi_cell_call_no_dup.csv")
25
- feature_dataset = OpenTox::Algorithm::Fminer.bbrc dataset#, :min_frequency => 15)
26
- model = OpenTox::Model::Lazar.create dataset, feature_dataset
27
+ model = Model::LazarFminerClassification.create dataset
28
+ feature_dataset = Dataset.find model.neighbor_algorithm_parameters[:feature_dataset_id]
27
29
  model.save
28
30
  p model.id
29
- feature_dataset = OpenTox::CalculatedDataset.find model.feature_dataset_id
30
31
  assert_equal dataset.compounds.size, feature_dataset.compounds.size
31
- assert_equal 52, feature_dataset.features.size
32
- assert_equal '[#17&A]-[#6&A]', feature_dataset.features.first.title
32
+ #assert_equal 52, feature_dataset.features.size
33
+ #assert_equal '[#17&A]-[#6&A]', feature_dataset.features.first.name
33
34
  compound = OpenTox::Compound.from_inchi("InChI=1S/C10H9NO2S/c1-8-2-4-9(5-3-8)13-6-10(12)11-7-14/h2-5H,6H2,1H3")
34
- prediction_dataset = model.predict compound
35
- prediction = prediction_dataset.data_entries.first
36
- assert_in_delta 0.025, prediction[:confidence], 0.001
35
+ prediction = model.predict compound
36
+ assert_equal "1", prediction[:value]
37
+ #p prediction
38
+ #prediction = prediction_dataset.data_entries.first
39
+ #assert_in_delta 0.025, prediction[:confidence], 0.001
37
40
  #assert_equal 0.025885845574483608, prediction[:confidence]
38
41
  # with compound change in training_dataset see:
39
42
  # https://github.com/opentox/opentox-test/commit/0e78c9c59d087adbd4cc58bab60fb29cbe0c1da0
@@ -41,32 +44,49 @@ class LazarExtendedTest < MiniTest::Test
41
44
  dataset.delete
42
45
  model.delete
43
46
  feature_dataset.delete
44
- prediction_dataset.delete
45
47
  end
46
48
 
47
- def test_lazar_kazius
49
+ def test_lazar_fminer_kazius
50
+ skip
48
51
  t = Time.now
49
52
  dataset = Dataset.from_csv_file File.join(DATA_DIR,"kazius.csv")
50
53
  p "Dataset upload: #{Time.now-t}"
51
54
  t = Time.now
52
- feature_dataset = Algorithm::Fminer.bbrc(dataset, :min_frequency => 100)
55
+ model = Model::LazarFminerClassification.create(dataset, :min_frequency => 100)
53
56
  p "Feature mining: #{Time.now-t}"
54
57
  t = Time.now
58
+ feature_dataset = Dataset.find model.neighbor_algorithm_parameters[:feature_dataset_id]
55
59
  assert_equal feature_dataset.compounds.size, dataset.compounds.size
56
- model = Model::Lazar.create dataset, feature_dataset
57
- =begin
58
- =end
59
60
  #model = Model::Lazar.find('55bcf5bf7a7838381200017e')
60
61
  #p model.id
61
62
  #prediction_times = []
62
63
  2.times do
63
64
  compound = Compound.from_smiles("Clc1ccccc1NN")
64
65
  prediction = model.predict compound
65
- assert_equal "1", prediction[:value]
66
- assert_in_delta 0.019858401199860445, prediction[:confidence], 0.001
66
+ p prediction
67
+ #assert_equal "1", prediction[:value]
68
+ #assert_in_delta 0.019858401199860445, prediction[:confidence], 0.001
67
69
  end
68
70
  #dataset.delete
69
71
  #feature_dataset.delete
70
72
  end
71
73
 
74
+ def test_lazar_kazius
75
+ t = Time.now
76
+ dataset = Dataset.from_csv_file File.join(DATA_DIR,"kazius.csv")
77
+ p "Dataset upload: #{Time.now-t}"
78
+ t = Time.now
79
+ model = Model::LazarClassification.create(dataset)
80
+ p "Feature mining: #{Time.now-t}"
81
+ t = Time.now
82
+ 2.times do
83
+ compound = Compound.from_smiles("Clc1ccccc1NN")
84
+ prediction = model.predict compound
85
+ #p prediction
86
+ assert_equal "1", prediction[:value]
87
+ #assert_in_delta 0.019858401199860445, prediction[:confidence], 0.001
88
+ end
89
+ dataset.delete
90
+ end
91
+
72
92
  end
@@ -2,27 +2,30 @@ require_relative "setup.rb"
2
2
 
3
3
  class LazarPhyschemDescriptorTest < MiniTest::Test
4
4
  def test_epafhm
5
- skip "Physchem Regression not yet implemented."
6
- # check available descriptors
7
- @descriptors = OpenTox::Algorithm::Descriptor::DESCRIPTORS.keys
8
- assert_equal 111,@descriptors.size,"wrong number of physchem descriptors"
9
- @descriptor_values = OpenTox::Algorithm::Descriptor::DESCRIPTOR_VALUES
10
5
 
11
- # select descriptors for test
12
- @num_features_offset = 0
13
- @descriptors.keep_if{|x| x=~/^Openbabel\./}
14
- @descriptors.delete("Openbabel.L5") # TODO Openbabel.L5 does not work, investigate!!!
15
- puts "Descriptors: #{@descriptors}"
6
+ skip
7
+ @descriptors = OpenTox::Algorithm::Descriptor::OBDESCRIPTORS.keys
8
+ refute_empty @descriptors
16
9
 
17
10
  # UPLOAD DATA
18
11
  training_dataset = OpenTox::Dataset.from_csv_file File.join(DATA_DIR,"EPAFHM.medi.csv")
19
- puts "Dataset: "+training_dataset.id
20
- # feature_dataset = Algorithm::Descriptor.physchem training_dataset, @descriptors
21
- model = Model::LazarRegression.create training_dataset#, feature_dataset
22
- #p model
12
+ feature_dataset = Algorithm::Descriptor.physchem training_dataset, @descriptors
13
+ scaled_feature_dataset = feature_dataset.scale
14
+ model = Model::LazarRegression.create training_dataset
15
+ model.neighbor_algorithm = "physchem_neighbors"
16
+ model.neighbor_algorithm_parameters = {
17
+ :feature_calculation_algorithm => "OpenTox::Algorithm::Descriptor.physchem",
18
+ :descriptors => @descriptors,
19
+ :feature_dataset_id => scaled_feature_dataset.id,
20
+ :min_sim => 0.3
21
+ }
22
+ model.save
23
23
  compound = Compound.from_smiles "CC(C)(C)CN"
24
24
  prediction = model.predict compound
25
- p prediction
26
-
25
+ refute_nil prediction[:value]
26
+ refute_nil prediction[:confidence]
27
+ prediction[:neighbors].each do |line|
28
+ assert_operator line[1], :>, 0.3
29
+ end
27
30
  end
28
31
  end
@@ -0,0 +1,20 @@
1
+ require_relative "setup.rb"
2
+
3
+ class PredictionModelTest < MiniTest::Test
4
+
5
+ def test_prediction_model
6
+ pm = Model::Prediction.from_csv_file "#{DATA_DIR}/hamster_carcinogenicity.csv"
7
+ [:endpoint,:species,:source].each do |p|
8
+ refute_empty pm[p]
9
+ end
10
+ assert pm.classification?
11
+ refute pm.regression?
12
+ pm.crossvalidations.each do |cv|
13
+ p cv
14
+ assert cv.accuracy > 0.74, "Crossvalidation accuracy (#{cv.accuracy}) should be larger than 0.75. This may happen due to an unfavorable training/test set split."
15
+ end
16
+ prediction = pm.predict Compound.from_smiles("CCCC(NN)C")
17
+ assert_equal "true", prediction[:value]
18
+ pm.delete
19
+ end
20
+ end
@@ -0,0 +1,43 @@
1
+ require_relative "setup.rb"
2
+
3
+ class LazarRegressionTest < MiniTest::Test
4
+
5
+ def test_weighted_average
6
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
7
+ model = Model::LazarRegression.create training_dataset, {:neighbor_algorithm_parameters => {:min_sim => 0}, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average"}
8
+ compound = Compound.from_smiles "CC(C)(C)CN"
9
+ prediction = model.predict compound
10
+ assert_equal 7.2, prediction[:value].round(1)
11
+ assert_equal 88, prediction[:neighbors].size
12
+ end
13
+
14
+ def test_mpd_fingerprints
15
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
16
+ model = Model::LazarRegression.create training_dataset
17
+ model.neighbor_algorithm_parameters[:type] = "MP2D"
18
+ compound = Compound.from_smiles "CCCSCCSCC"
19
+ prediction = model.predict compound
20
+ assert_equal 0.04, prediction[:value].round(2)
21
+ assert_equal 3, prediction[:neighbors].size
22
+ end
23
+
24
+ def test_local_fingerprint_regression
25
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
26
+ model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_fingerprint_regression")
27
+ compound = Compound.from_smiles "NC(=O)OCCC"
28
+ prediction = model.predict compound
29
+ p prediction
30
+ refute_nil prediction[:value]
31
+ refute_nil prediction[:prediction_interval]
32
+ refute_empty prediction[:neighbors]
33
+ end
34
+
35
+ def test_local_physchem_regression
36
+ training_dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
37
+ model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression")
38
+ compound = Compound.from_smiles "NC(=O)OCCC"
39
+ prediction = model.predict compound
40
+ refute_nil prediction[:value]
41
+ end
42
+
43
+ end
data/test/setup.rb CHANGED
@@ -1,6 +1,8 @@
1
+ ENV["LAZAR_ENV"] = "development"
1
2
  require 'minitest/autorun'
2
3
  require_relative '../lib/lazar.rb'
3
4
  include OpenTox
4
5
  TEST_DIR ||= File.expand_path(File.dirname(__FILE__))
5
6
  DATA_DIR ||= File.join(TEST_DIR,"data")
6
- #$mongo.database.drop
7
+ $mongo.database.drop
8
+ $gridfs = $mongo.database.fs
@@ -0,0 +1,10 @@
1
+ require_relative "setup.rb"
2
+
3
+ class EnvironmentTest < MiniTest::Test
4
+ def test_lazar_environment
5
+ assert_equal "development", ENV["LAZAR_ENV"]
6
+ assert_equal "development", ENV["MONGOID_ENV"]
7
+ assert_equal "development", ENV["RACK_ENV"]
8
+ assert_equal "development", Mongoid.clients["default"]["database"]
9
+ end
10
+ end
data/test/validation.rb CHANGED
@@ -2,41 +2,107 @@ require_relative "setup.rb"
2
2
 
3
3
  class ValidationTest < MiniTest::Test
4
4
 
5
- def test_fminer_crossvalidation
5
+ # defaults
6
+
7
+ def test_default_classification_crossvalidation
6
8
  dataset = Dataset.from_csv_file "#{DATA_DIR}/hamster_carcinogenicity.csv"
7
- model = Model::LazarFminerClassification.create dataset
9
+ model = Model::LazarClassification.create dataset
8
10
  cv = ClassificationCrossValidation.create model
9
- p cv.accuracy
10
- p cv.weighted_accuracy
11
- refute_empty cv.validation_ids
12
- assert cv.accuracy > 0.8
13
- assert cv.weighted_accuracy > cv.accuracy, "Weighted accuracy (#{cv.weighted_accuracy}) larger than unweighted accuracy(#{cv.accuracy}) "
11
+ assert cv.accuracy > 0.7, "Accuracy (#{cv.accuracy}) should be larger than 0.7"
14
12
  end
15
13
 
16
- def test_classification_crossvalidation
14
+ def test_default_regression_crossvalidation
15
+ dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
16
+ model = Model::LazarRegression.create dataset
17
+ cv = RegressionCrossValidation.create model
18
+ assert cv.rmse < 1.5, "RMSE > 1.5"
19
+ assert cv.mae < 1
20
+ end
21
+
22
+ # parameters
23
+
24
+ def test_classification_crossvalidation_parameters
17
25
  dataset = Dataset.from_csv_file "#{DATA_DIR}/hamster_carcinogenicity.csv"
18
- model = Model::LazarClassification.create dataset#, features
26
+ params = {
27
+ :training_dataset_id => dataset.id,
28
+ :neighbor_algorithm_parameters => {
29
+ :min_sim => 0.3,
30
+ :type => "FP3"
31
+ }
32
+ }
33
+ model = Model::LazarClassification.create dataset, params
34
+ model.save
19
35
  cv = ClassificationCrossValidation.create model
20
- p cv.accuracy
21
- p cv.weighted_accuracy
22
- assert cv.accuracy > 0.7
23
- assert cv.weighted_accuracy > cv.accuracy, "Weighted accuracy should be larger than unweighted accuracy."
24
- end
36
+ params = model.neighbor_algorithm_parameters
37
+ params.delete :training_dataset_id
38
+ params = Hash[params.map{ |k, v| [k.to_s, v] }] # convert symbols to string
25
39
 
26
- def test_regression_crossvalidation
40
+ cv.validations.each do |validation|
41
+ validation_params = validation.model.neighbor_algorithm_parameters
42
+ validation_params.delete "training_dataset_id"
43
+ assert_equal params, validation_params
44
+ end
45
+ end
46
+
47
+ def test_regression_crossvalidation_params
27
48
  dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.medi.csv"
28
- #dataset = Dataset.from_csv_file "#{DATA_DIR}/EPAFHM.csv"
29
- model = Model::LazarRegression.create dataset
49
+ params = {
50
+ :prediction_algorithm => "OpenTox::Algorithm::Regression.local_weighted_average",
51
+ :neighbor_algorithm => "fingerprint_neighbors",
52
+ :neighbor_algorithm_parameters => {
53
+ :type => "MACCS",
54
+ :min_sim => 0.7,
55
+ }
56
+ }
57
+ model = Model::LazarRegression.create dataset, params
30
58
  cv = RegressionCrossValidation.create model
31
- p cv.rmse
32
- p cv.weighted_rmse
33
- p cv.mae
34
- p cv.weighted_mae
35
- #`inkview #{cv.plot}`
36
- assert cv.rmse < 30, "RMSE > 30"
37
- assert cv.weighted_rmse < cv.rmse, "Weighted RMSE (#{cv.weighted_rmse}) larger than unweighted RMSE(#{cv.rmse}) "
38
- assert cv.mae < 12
39
- assert cv.weighted_mae < cv.mae
59
+ cv.validation_ids.each do |vid|
60
+ model = Model::Lazar.find(Validation.find(vid).model_id)
61
+ assert_equal params[:neighbor_algorithm_parameters][:type], model[:neighbor_algorithm_parameters][:type]
62
+ assert_equal params[:neighbor_algorithm_parameters][:min_sim], model[:neighbor_algorithm_parameters][:min_sim]
63
+ refute_equal params[:neighbor_algorithm_parameters][:training_dataset_id], model[:neighbor_algorithm_parameters][:training_dataset_id]
64
+ end
65
+
66
+ refute_nil cv.rmse
67
+ refute_nil cv.mae
68
+ end
69
+
70
+ def test_physchem_regression_crossvalidation
71
+
72
+ training_dataset = OpenTox::Dataset.from_csv_file File.join(DATA_DIR,"EPAFHM.medi.csv")
73
+ model = Model::LazarRegression.create(training_dataset, :prediction_algorithm => "OpenTox::Algorithm::Regression.local_physchem_regression")
74
+ cv = RegressionCrossValidation.create model
75
+ refute_nil cv.rmse
76
+ refute_nil cv.mae
77
+ end
78
+
79
+ # LOO
80
+
81
+ def test_classification_loo_validation
82
+ dataset = Dataset.from_csv_file "#{DATA_DIR}/hamster_carcinogenicity.csv"
83
+ model = Model::LazarClassification.create dataset
84
+ loo = ClassificationLeaveOneOutValidation.create model
85
+ assert_equal 14, loo.nr_unpredicted
86
+ refute_empty loo.confusion_matrix
87
+ assert loo.accuracy > 0.77
88
+ end
89
+
90
+ def test_regression_loo_validation
91
+ dataset = OpenTox::Dataset.from_csv_file File.join(DATA_DIR,"EPAFHM.medi.csv")
92
+ model = Model::LazarRegression.create dataset
93
+ loo = RegressionLeaveOneOutValidation.create model
94
+ assert loo.r_squared > 0.34
95
+ end
96
+
97
+ # repeated CV
98
+
99
+ def test_repeated_crossvalidation
100
+ dataset = Dataset.from_csv_file "#{DATA_DIR}/hamster_carcinogenicity.csv"
101
+ model = Model::LazarClassification.create dataset
102
+ repeated_cv = RepeatedCrossValidation.create model
103
+ repeated_cv.crossvalidations.each do |cv|
104
+ assert_operator cv.accuracy, :>, 0.7, "model accuracy < 0.7, this may happen by chance due to an unfavorable training/test set split"
105
+ end
40
106
  end
41
107
 
42
108
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lazar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christoph Helma, Martin Guetlein, Andreas Maunz, Micha Rautenberg, David Vorgrimmler,
@@ -9,78 +9,92 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-20 00:00:00.000000000 Z
12
+ date: 2016-03-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">="
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0'
20
+ version: '1.11'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ">="
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '0'
27
+ version: '1.11'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rest-client
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '1.8'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '1.8'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: nokogiri
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ">="
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: '1.6'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ">="
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0'
55
+ version: '1.6'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rserve-client
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: '0.3'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ">="
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: '0.3'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: mongoid
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 5.0beta
76
+ version: '5.0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '5.0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: openbabel> 2.3.2.2
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
77
91
  type: :runtime
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
95
  - - "~>"
82
96
  - !ruby/object:Gem::Version
83
- version: 5.0beta
97
+ version: '0'
84
98
  description: Libraries for lazy structure-activity relationships and read-across.
85
99
  email:
86
100
  - helma@in-silico.ch
@@ -98,6 +112,7 @@ files:
98
112
  - VERSION
99
113
  - ext/lazar/Makefile
100
114
  - ext/lazar/extconf.rb
115
+ - ext/lazar/rinstall.R
101
116
  - java/CdkDescriptorInfo.class
102
117
  - java/CdkDescriptorInfo.java
103
118
  - java/CdkDescriptors.class
@@ -112,28 +127,26 @@ files:
112
127
  - java/joelib2.jar
113
128
  - java/log4j.jar
114
129
  - lazar.gemspec
115
- - lib/SMARTS_InteLigand.txt
116
130
  - lib/algorithm.rb
117
- - lib/bbrc.rb
118
131
  - lib/classification.rb
119
132
  - lib/compound.rb
120
133
  - lib/crossvalidation.rb
121
134
  - lib/dataset.rb
122
- - lib/descriptor.rb
123
135
  - lib/error.rb
136
+ - lib/experiment.rb
124
137
  - lib/feature.rb
125
138
  - lib/lazar.rb
139
+ - lib/leave-one-out-validation.rb
126
140
  - lib/model.rb
127
- - lib/neighbor.rb
128
141
  - lib/opentox.rb
129
142
  - lib/overwrite.rb
143
+ - lib/physchem.rb
130
144
  - lib/regression.rb
131
145
  - lib/rest-client-wrapper.rb
132
- - lib/similarity.rb
133
146
  - lib/unique_descriptors.rb
134
147
  - lib/validation.rb
135
- - mongoid.yml
136
148
  - test/all.rb
149
+ - test/classification.rb
137
150
  - test/compound.rb
138
151
  - test/data/CPDBAS_v5c_1547_29Apr2008part.sdf
139
152
  - test/data/CPDBAS_v5d_cleaned/CPDBAS_v5d_20Nov2008_mouse_TD50.csv
@@ -154,10 +167,15 @@ files:
154
167
  - test/data/ISSCAN-multi.csv
155
168
  - test/data/LOAEL_log_mg_corrected_smiles.csv
156
169
  - test/data/LOAEL_log_mmol_corrected_smiles.csv
170
+ - test/data/LOAEL_mmol_corrected_smiles.csv
157
171
  - test/data/acetaldehyde.sdf
172
+ - test/data/batch_prediction.csv
173
+ - test/data/batch_prediction_inchi_small.csv
174
+ - test/data/batch_prediction_smiles_small.csv
158
175
  - test/data/boiling_points.ext.sdf
159
176
  - test/data/cpdb_100.csv
160
177
  - test/data/hamster_carcinogenicity.csv
178
+ - test/data/hamster_carcinogenicity.json
161
179
  - test/data/hamster_carcinogenicity.mini.bool_float.csv
162
180
  - test/data/hamster_carcinogenicity.mini.bool_int.csv
163
181
  - test/data/hamster_carcinogenicity.mini.bool_string.csv
@@ -168,6 +186,7 @@ files:
168
186
  - test/data/hamster_carcinogenicity.yaml
169
187
  - test/data/hamster_carcinogenicity_with_errors.csv
170
188
  - test/data/kazius.csv
189
+ - test/data/loael.csv
171
190
  - test/data/multi_cell_call.csv
172
191
  - test/data/multi_cell_call_no_dup.csv
173
192
  - test/data/multicolumn.csv
@@ -175,21 +194,21 @@ files:
175
194
  - test/data/wrong_dataset.csv
176
195
  - test/dataset-long.rb
177
196
  - test/dataset.rb
178
- - test/descriptor-long.rb
197
+ - test/default_environment.rb
179
198
  - test/descriptor.rb
180
199
  - test/error.rb
200
+ - test/experiment.rb
181
201
  - test/feature.rb
182
- - test/fminer-long.rb
183
- - test/fminer.rb
184
- - test/lazar-fminer.rb
185
202
  - test/lazar-long.rb
186
203
  - test/lazar-physchem-short.rb
187
- - test/lazar-regression.rb
204
+ - test/prediction_models.rb
205
+ - test/regression.rb
188
206
  - test/setup.rb
207
+ - test/test_environment.rb
189
208
  - test/validation.rb
190
209
  homepage: http://github.com/opentox/lazar
191
210
  licenses:
192
- - GPL-3
211
+ - GPL-3.0
193
212
  metadata: {}
194
213
  post_install_message:
195
214
  rdoc_options: []
@@ -207,12 +226,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
226
  version: '0'
208
227
  requirements: []
209
228
  rubyforge_project: lazar
210
- rubygems_version: 2.4.5
229
+ rubygems_version: 2.5.1
211
230
  signing_key:
212
231
  specification_version: 4
213
232
  summary: Lazar framework
214
233
  test_files:
215
234
  - test/all.rb
235
+ - test/classification.rb
216
236
  - test/compound.rb
217
237
  - test/data/CPDBAS_v5c_1547_29Apr2008part.sdf
218
238
  - test/data/CPDBAS_v5d_cleaned/CPDBAS_v5d_20Nov2008_mouse_TD50.csv
@@ -233,10 +253,15 @@ test_files:
233
253
  - test/data/ISSCAN-multi.csv
234
254
  - test/data/LOAEL_log_mg_corrected_smiles.csv
235
255
  - test/data/LOAEL_log_mmol_corrected_smiles.csv
256
+ - test/data/LOAEL_mmol_corrected_smiles.csv
236
257
  - test/data/acetaldehyde.sdf
258
+ - test/data/batch_prediction.csv
259
+ - test/data/batch_prediction_inchi_small.csv
260
+ - test/data/batch_prediction_smiles_small.csv
237
261
  - test/data/boiling_points.ext.sdf
238
262
  - test/data/cpdb_100.csv
239
263
  - test/data/hamster_carcinogenicity.csv
264
+ - test/data/hamster_carcinogenicity.json
240
265
  - test/data/hamster_carcinogenicity.mini.bool_float.csv
241
266
  - test/data/hamster_carcinogenicity.mini.bool_int.csv
242
267
  - test/data/hamster_carcinogenicity.mini.bool_string.csv
@@ -247,6 +272,7 @@ test_files:
247
272
  - test/data/hamster_carcinogenicity.yaml
248
273
  - test/data/hamster_carcinogenicity_with_errors.csv
249
274
  - test/data/kazius.csv
275
+ - test/data/loael.csv
250
276
  - test/data/multi_cell_call.csv
251
277
  - test/data/multi_cell_call_no_dup.csv
252
278
  - test/data/multicolumn.csv
@@ -254,15 +280,15 @@ test_files:
254
280
  - test/data/wrong_dataset.csv
255
281
  - test/dataset-long.rb
256
282
  - test/dataset.rb
257
- - test/descriptor-long.rb
283
+ - test/default_environment.rb
258
284
  - test/descriptor.rb
259
285
  - test/error.rb
286
+ - test/experiment.rb
260
287
  - test/feature.rb
261
- - test/fminer-long.rb
262
- - test/fminer.rb
263
- - test/lazar-fminer.rb
264
288
  - test/lazar-long.rb
265
289
  - test/lazar-physchem-short.rb
266
- - test/lazar-regression.rb
290
+ - test/prediction_models.rb
291
+ - test/regression.rb
267
292
  - test/setup.rb
293
+ - test/test_environment.rb
268
294
  - test/validation.rb