opentox-client 0.0.1pre
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.
- data/.gitignore +4 -0
- data/Gemfile +2 -0
- data/LICENSE +674 -0
- data/README.markdown +17 -0
- data/Rakefile +11 -0
- data/lib/algorithm.rb +15 -0
- data/lib/authorization.rb +392 -0
- data/lib/compound.rb +170 -0
- data/lib/dataset.rb +318 -0
- data/lib/error.rb +106 -0
- data/lib/model.rb +14 -0
- data/lib/opentox-client.rb +32 -0
- data/lib/opentox.rb +145 -0
- data/lib/otlogger.rb +45 -0
- data/lib/overwrite.rb +90 -0
- data/lib/policy.rb +261 -0
- data/lib/rest-client-wrapper.rb +47 -0
- data/lib/task.rb +123 -0
- data/lib/templates/default_guest_policy.xml +53 -0
- data/lib/templates/default_policy.xml +53 -0
- data/opentox-client.gemspec +27 -0
- data/test/compound.rb +52 -0
- data/test/data/CPDBAS_v5c_1547_29Apr2008part.sdf +13553 -0
- data/test/data/EPAFHM.csv +618 -0
- data/test/data/EPAFHM.mini.csv +21 -0
- data/test/data/ISSCAN-multi.csv +59 -0
- data/test/data/cpdb_100.csv +101 -0
- data/test/data/hamster_carcinogenicity.csv +86 -0
- data/test/data/hamster_carcinogenicity.mini.csv +11 -0
- data/test/data/hamster_carcinogenicity.sdf +2805 -0
- data/test/data/hamster_carcinogenicity.xls +0 -0
- data/test/data/hamster_carcinogenicity.yaml +352 -0
- data/test/data/hamster_carcinogenicity_with_errors.csv +88 -0
- data/test/data/kazius.csv +4069 -0
- data/test/data/multi_cell_call.csv +1067 -0
- data/test/data/multicolumn.csv +5 -0
- data/test/dataset.rb +53 -0
- data/test/error.rb +35 -0
- data/test/feature.rb +36 -0
- data/test/task.rb +85 -0
- metadata +144 -0
@@ -0,0 +1,5 @@
|
|
1
|
+
SMILES, Hamster Carcinogenicity, numeric feature, classification, mixed, string
|
2
|
+
c1ccccc1NN , 1, 1, true , true , "test"
|
3
|
+
C12C3=C(C=CC=C3)CC1=CC(=CC=2)NC(C)=O , 1, 2, false, 7.5 , "test"
|
4
|
+
O=C(N)\C(C2=CC=CO2)=C/C1=CC=C([N+]([O-])=O)O1, 1, 3, true , 5 , "test"
|
5
|
+
C1(N=CNN=1)N , 0, 4, false, false, "test"
|
data/test/dataset.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__),'..','lib')
|
3
|
+
require File.join File.dirname(__FILE__),'..','lib','opentox-client.rb'
|
4
|
+
|
5
|
+
class DatasetTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_all
|
8
|
+
datasets = OpenTox::Dataset.all "http://ot-dev.in-silico.ch/dataset"
|
9
|
+
assert_equal OpenTox::Dataset, datasets.first.class
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_create_empty
|
13
|
+
service_uri = "http://ot-dev.in-silico.ch/dataset"
|
14
|
+
d = OpenTox::Dataset.create service_uri
|
15
|
+
assert_equal OpenTox::Dataset, d.class
|
16
|
+
assert_match /#{service_uri}/, d.uri.to_s
|
17
|
+
d.delete
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_create_from_file
|
21
|
+
d = OpenTox::Dataset.from_file "http://ot-dev.in-silico.ch/dataset", File.join(File.dirname(__FILE__),"data","EPAFHM.mini.csv")
|
22
|
+
assert_equal OpenTox::Dataset, d.class
|
23
|
+
d.delete
|
24
|
+
assert_raise OpenTox::NotFoundError do
|
25
|
+
d.get
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
=begin
|
31
|
+
def test_metadata
|
32
|
+
d = OpenTox::Dataset.from_file "http://ot-dev.in-silico.ch/dataset", "data/EPAFHM.mini.csv"
|
33
|
+
assert_equal OpenTox::Dataset, d.class
|
34
|
+
# TODO fix metadata retrieval
|
35
|
+
metadata = d.metadata
|
36
|
+
assert_equal RDF::OT.Dataset, metadata[RDF.type]
|
37
|
+
assert_equal dataset.uri, metadata[RDF::XSD.anyURI]
|
38
|
+
d.delete
|
39
|
+
end
|
40
|
+
def test_save
|
41
|
+
d = OpenTox::Dataset.create "http://ot-dev.in-silico.ch/dataset"
|
42
|
+
d.metadata
|
43
|
+
d.metadata[RDF::DC.title] = "test"
|
44
|
+
d.save
|
45
|
+
# TODO: save does not work with datasets
|
46
|
+
#puts d.response.code.inspect
|
47
|
+
#assert_equal "test", d.metadata[RDF::DC.title] # should reload metadata
|
48
|
+
d.delete
|
49
|
+
end
|
50
|
+
=end
|
51
|
+
|
52
|
+
|
53
|
+
end
|
data/test/error.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__),'..','lib')
|
3
|
+
require File.join File.dirname(__FILE__),'..','lib','opentox-client.rb'
|
4
|
+
|
5
|
+
class ErrorTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_bad_request
|
8
|
+
object = OpenTox::Feature.new "http://this-is-a/fantasy/url"
|
9
|
+
assert_raise OpenTox::NotFoundError do
|
10
|
+
response = object.get
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_error_methods
|
15
|
+
assert_raise OpenTox::NotFoundError do
|
16
|
+
not_found_error "This is a test"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_exception
|
21
|
+
assert_raise Exception do
|
22
|
+
raise Exception.new "Basic Exception"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_backtick
|
27
|
+
assert_raise OpenTox::InternalServerError do
|
28
|
+
`this call will not work`
|
29
|
+
end
|
30
|
+
assert_raise OpenTox::InternalServerError do
|
31
|
+
`ls inexisting_directory`
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/test/feature.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__),'..','lib')
|
3
|
+
require File.join File.dirname(__FILE__),'..','lib','opentox-client.rb'
|
4
|
+
|
5
|
+
class FeatureTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@features = [
|
9
|
+
#@@classification_training_dataset.features.keys.first,
|
10
|
+
"http://apps.ideaconsult.net:8080/ambit2/feature/35796",
|
11
|
+
#File.join(OpenTox::Model::Lazar.all.last,"predicted","value")
|
12
|
+
|
13
|
+
]
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_feature
|
17
|
+
@features.each do |uri|
|
18
|
+
f = OpenTox::Feature.new(uri)
|
19
|
+
assert_equal [RDF::OT1.TUM_CDK_nAtom], f[RDF::OWL.sameAs]
|
20
|
+
assert_equal RDF::OT1.TUM_CDK_nAtom, f.metadata[RDF::OWL.sameAs].first
|
21
|
+
assert_equal [RDF::OT1.Feature,RDF::OT1.NumericFeature].sort, f[RDF.type].sort
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
=begin
|
26
|
+
def test_owl
|
27
|
+
#@features.each do |uri|
|
28
|
+
validate_owl @features.first, @@subjectid unless CONFIG[:services]["opentox-dataset"].match(/localhost/)
|
29
|
+
validate_owl @features.last, @@subjectid unless CONFIG[:services]["opentox-dataset"].match(/localhost/)
|
30
|
+
# Ambit does not validate
|
31
|
+
#end
|
32
|
+
end
|
33
|
+
=end
|
34
|
+
|
35
|
+
|
36
|
+
end
|
data/test/task.rb
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__),'..','lib')
|
3
|
+
require File.join File.dirname(__FILE__),'..','lib','opentox-client.rb'
|
4
|
+
#require "./validate-owl.rb"
|
5
|
+
|
6
|
+
TASK_SERVICE_URI = "http://ot-dev.in-silico.ch/task"
|
7
|
+
#TASK_SERVICE_URI = "http://ot-test.in-silico.ch/task"
|
8
|
+
#TASK_SERVICE_URI = "https://ambit.uni-plovdiv.bg:8443/ambit2/task" #not compatible
|
9
|
+
|
10
|
+
class TaskTest < Test::Unit::TestCase
|
11
|
+
|
12
|
+
|
13
|
+
=begin
|
14
|
+
=end
|
15
|
+
def test_all
|
16
|
+
all = OpenTox::Task.all(TASK_SERVICE_URI)
|
17
|
+
assert_equal Array, all.class
|
18
|
+
t = all.last
|
19
|
+
assert_equal OpenTox::Task, t.class
|
20
|
+
assert_equal RDF::OT1.Task, t[RDF.type].first
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_create_and_complete
|
24
|
+
task = OpenTox::Task.create TASK_SERVICE_URI, :description => "test" do
|
25
|
+
sleep 1
|
26
|
+
TASK_SERVICE_URI
|
27
|
+
end
|
28
|
+
assert task.running?
|
29
|
+
assert_equal "Running", task.hasStatus
|
30
|
+
task.wait
|
31
|
+
assert task.completed?
|
32
|
+
assert_equal "Completed", task.hasStatus
|
33
|
+
assert_equal TASK_SERVICE_URI, task.resultURI
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def test_create_and_cancel
|
38
|
+
task = OpenTox::Task.create TASK_SERVICE_URI do
|
39
|
+
sleep 2
|
40
|
+
TASK_SERVICE_URI
|
41
|
+
end
|
42
|
+
assert task.running?
|
43
|
+
task.cancel
|
44
|
+
assert task.cancelled?
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_create_and_fail
|
48
|
+
task = OpenTox::Task.create TASK_SERVICE_URI, :description => "test failure", :creator => "http://test.org/fake_creator" do
|
49
|
+
sleep 0.5
|
50
|
+
raise "A runtime error occured"
|
51
|
+
end
|
52
|
+
assert task.running?
|
53
|
+
assert_equal "Running", task.hasStatus
|
54
|
+
task.wait
|
55
|
+
assert task.error?
|
56
|
+
assert_equal "Error", task.hasStatus
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_create_and_fail_with_opentox_error
|
60
|
+
task = OpenTox::Task.create TASK_SERVICE_URI, :description => "test failure", :creator => "http://test.org/fake_creator" do
|
61
|
+
sleep 0.5
|
62
|
+
raise OpenTox::Error.new 500, "An OpenTox::Error occured"
|
63
|
+
end
|
64
|
+
assert task.running?
|
65
|
+
assert_equal "Running", task.hasStatus
|
66
|
+
task.wait
|
67
|
+
assert task.error?
|
68
|
+
assert_equal "Error", task.hasStatus
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_wrong_result_uri
|
72
|
+
task = OpenTox::Task.create TASK_SERVICE_URI, :description => "test wrong result uri", :creator => "http://test.org/fake_creator" do
|
73
|
+
sleep 0.5
|
74
|
+
"Asasadasd"
|
75
|
+
end
|
76
|
+
assert task.running?
|
77
|
+
assert_equal "Running", task.hasStatus
|
78
|
+
task.wait
|
79
|
+
assert task.error?
|
80
|
+
assert_equal "Error", task.hasStatus
|
81
|
+
end
|
82
|
+
=begin
|
83
|
+
=end
|
84
|
+
|
85
|
+
end
|
metadata
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: opentox-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1pre
|
5
|
+
prerelease: 5
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Christoph Helma, Martin Guetlein, Andreas Maunz, Micha Rautenberg, David Vorgrimmler
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-03-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: &82129140 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *82129140
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rest-client
|
27
|
+
requirement: &82128400 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *82128400
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rdf
|
38
|
+
requirement: &82127910 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *82127910
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rdf-raptor
|
49
|
+
requirement: &82127560 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *82127560
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: open4
|
60
|
+
requirement: &82127200 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *82127200
|
69
|
+
description: Ruby wrapper for the OpenTox REST API (http://www.opentox.org)
|
70
|
+
email:
|
71
|
+
- helma@in-silico.ch
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- Gemfile
|
78
|
+
- LICENSE
|
79
|
+
- README.markdown
|
80
|
+
- Rakefile
|
81
|
+
- lib/algorithm.rb
|
82
|
+
- lib/authorization.rb
|
83
|
+
- lib/compound.rb
|
84
|
+
- lib/dataset.rb
|
85
|
+
- lib/error.rb
|
86
|
+
- lib/model.rb
|
87
|
+
- lib/opentox-client.rb
|
88
|
+
- lib/opentox.rb
|
89
|
+
- lib/otlogger.rb
|
90
|
+
- lib/overwrite.rb
|
91
|
+
- lib/policy.rb
|
92
|
+
- lib/rest-client-wrapper.rb
|
93
|
+
- lib/task.rb
|
94
|
+
- lib/templates/default_guest_policy.xml
|
95
|
+
- lib/templates/default_policy.xml
|
96
|
+
- opentox-client.gemspec
|
97
|
+
- test/compound.rb
|
98
|
+
- test/data/CPDBAS_v5c_1547_29Apr2008part.sdf
|
99
|
+
- test/data/EPAFHM.csv
|
100
|
+
- test/data/EPAFHM.mini.csv
|
101
|
+
- test/data/ISSCAN-multi.csv
|
102
|
+
- test/data/cpdb_100.csv
|
103
|
+
- test/data/hamster_carcinogenicity.csv
|
104
|
+
- test/data/hamster_carcinogenicity.mini.csv
|
105
|
+
- test/data/hamster_carcinogenicity.sdf
|
106
|
+
- test/data/hamster_carcinogenicity.xls
|
107
|
+
- test/data/hamster_carcinogenicity.yaml
|
108
|
+
- test/data/hamster_carcinogenicity_with_errors.csv
|
109
|
+
- test/data/kazius.csv
|
110
|
+
- test/data/multi_cell_call.csv
|
111
|
+
- test/data/multicolumn.csv
|
112
|
+
- test/dataset.rb
|
113
|
+
- test/error.rb
|
114
|
+
- test/feature.rb
|
115
|
+
- test/task.rb
|
116
|
+
homepage: http://github.com/opentox/opentox-client
|
117
|
+
licenses:
|
118
|
+
- GPL-3
|
119
|
+
post_install_message:
|
120
|
+
rdoc_options: []
|
121
|
+
require_paths:
|
122
|
+
- lib
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
125
|
+
requirements:
|
126
|
+
- - ! '>='
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
hash: -394211199
|
132
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ! '>'
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 1.3.1
|
138
|
+
requirements: []
|
139
|
+
rubyforge_project: opentox-client
|
140
|
+
rubygems_version: 1.8.11
|
141
|
+
signing_key:
|
142
|
+
specification_version: 3
|
143
|
+
summary: Ruby wrapper for the OpenTox REST API
|
144
|
+
test_files: []
|