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.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/README.md +2 -1
- data/VERSION +1 -1
- data/ext/lazar/extconf.rb +15 -76
- data/ext/lazar/rinstall.R +9 -0
- data/lazar.gemspec +7 -7
- data/lib/classification.rb +5 -78
- data/lib/compound.rb +201 -44
- data/lib/crossvalidation.rb +224 -121
- data/lib/dataset.rb +83 -93
- data/lib/error.rb +1 -1
- data/lib/experiment.rb +99 -0
- data/lib/feature.rb +2 -54
- data/lib/lazar.rb +47 -34
- data/lib/leave-one-out-validation.rb +205 -0
- data/lib/model.rb +131 -76
- data/lib/opentox.rb +2 -2
- data/lib/overwrite.rb +37 -0
- data/lib/physchem.rb +133 -0
- data/lib/regression.rb +117 -189
- data/lib/rest-client-wrapper.rb +4 -5
- data/lib/unique_descriptors.rb +6 -7
- data/lib/validation.rb +63 -69
- data/test/all.rb +2 -2
- data/test/classification.rb +41 -0
- data/test/compound.rb +116 -7
- data/test/data/LOAEL_log_mg_corrected_smiles.csv +567 -567
- data/test/data/LOAEL_log_mmol_corrected_smiles.csv +566 -566
- data/test/data/LOAEL_mmol_corrected_smiles.csv +568 -0
- data/test/data/batch_prediction.csv +25 -0
- data/test/data/batch_prediction_inchi_small.csv +4 -0
- data/test/data/batch_prediction_smiles_small.csv +4 -0
- data/test/data/hamster_carcinogenicity.json +3 -0
- data/test/data/loael.csv +568 -0
- data/test/dataset-long.rb +5 -8
- data/test/dataset.rb +31 -11
- data/test/default_environment.rb +11 -0
- data/test/descriptor.rb +26 -41
- data/test/error.rb +1 -3
- data/test/experiment.rb +301 -0
- data/test/feature.rb +22 -10
- data/test/lazar-long.rb +43 -23
- data/test/lazar-physchem-short.rb +19 -16
- data/test/prediction_models.rb +20 -0
- data/test/regression.rb +43 -0
- data/test/setup.rb +3 -1
- data/test/test_environment.rb +10 -0
- data/test/validation.rb +92 -26
- metadata +64 -38
- data/lib/SMARTS_InteLigand.txt +0 -983
- data/lib/bbrc.rb +0 -165
- data/lib/descriptor.rb +0 -247
- data/lib/neighbor.rb +0 -25
- data/lib/similarity.rb +0 -58
- data/mongoid.yml +0 -8
- data/test/descriptor-long.rb +0 -26
- data/test/fminer-long.rb +0 -38
- data/test/fminer.rb +0 -52
- data/test/lazar-fminer.rb +0 -50
- 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 =
|
8
|
-
feature_dataset =
|
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
|
11
|
-
|
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
|
-
|
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
|
-
|
26
|
-
|
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.
|
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
|
-
|
35
|
-
|
36
|
-
|
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
|
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
|
-
|
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
|
-
|
66
|
-
|
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
|
-
|
12
|
-
@
|
13
|
-
@descriptors
|
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
|
-
|
20
|
-
|
21
|
-
model = Model::LazarRegression.create training_dataset
|
22
|
-
|
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
|
-
|
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
|
data/test/regression.rb
ADDED
@@ -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
|
-
|
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
|
-
|
5
|
+
# defaults
|
6
|
+
|
7
|
+
def test_default_classification_crossvalidation
|
6
8
|
dataset = Dataset.from_csv_file "#{DATA_DIR}/hamster_carcinogenicity.csv"
|
7
|
-
model = Model::
|
9
|
+
model = Model::LazarClassification.create dataset
|
8
10
|
cv = ClassificationCrossValidation.create model
|
9
|
-
|
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
|
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
|
-
|
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
|
-
|
21
|
-
|
22
|
-
|
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
|
-
|
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
|
-
|
29
|
-
|
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
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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.
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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.
|
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:
|
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/
|
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/
|
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.
|
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/
|
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/
|
290
|
+
- test/prediction_models.rb
|
291
|
+
- test/regression.rb
|
267
292
|
- test/setup.rb
|
293
|
+
- test/test_environment.rb
|
268
294
|
- test/validation.rb
|