lazar 0.0.7 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|