lazar 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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