blob: 0fa3be62a9a5a554c9529c18f2523207f95b50b9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
module OpenTox
# key: /models
# set: dataset uris
module Model
class Lazar < OpenTox
# Create a new prediction model from a dataset
def initialize(params)
super(params[:uri])
end
def self.find(name)
RestClient.get File.join(@@config[:services]["opentox-lazar"], 'model', URI.encode(params[:name]))
end
def self.find_all
RestClient.get File.join(@@config[:services]["opentox-lazar"], 'models')#.split("\n")
end
# Predict a compound
def predict(compound)
LazarPrediction.new(:uri => RestClient.post(@uri, :compound_uri => compound.uri))
end
end
end
module Prediction
module Classification
class Lazar < OpenTox
def initialize(params)
super(params[:uri])
end
def classification
YAML.load(RestClient.get @uri)[:classification]
end
def confidence
YAML.load(RestClient.get @uri)[:confidence]
end
def neighbors
RestClient.get @uri + '/neighbors'
end
def features
RestClient.get @uri + '/features'
end
end
end
end
end
|