toxbank-investigation 0.0.1pre-x86-linux
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +11 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +101 -0
- data/LICENSE +674 -0
- data/README +14 -0
- data/Rakefile +31 -0
- data/application.rb +246 -0
- data/bin/toxbank-investigation-install +76 -0
- data/config/production.rb +9 -0
- data/config.ru +5 -0
- data/java/config/isa_configurator/cellcount_flowcytometry.xml +1 -0
- data/java/config/isa_configurator/cellsorting_flowcyt.xml +5 -0
- data/java/config/isa_configurator/clinical_chemistry.xml +1 -0
- data/java/config/isa_configurator/copynumvariation_micro.xml +1 -0
- data/java/config/isa_configurator/dnamethylation_micro.xml +1 -0
- data/java/config/isa_configurator/dnamethylation_seq.xml +1 -0
- data/java/config/isa_configurator/envgen_survey_seq.xml +1 -0
- data/java/config/isa_configurator/genome_seq.xml +1 -0
- data/java/config/isa_configurator/hematology.xml +1 -0
- data/java/config/isa_configurator/heterozygosity_micro.xml +1 -0
- data/java/config/isa_configurator/histology.xml +1 -0
- data/java/config/isa_configurator/histonemodification_seq.xml +1 -0
- data/java/config/isa_configurator/metaboliteprofiling_ms.xml +114 -0
- data/java/config/isa_configurator/metaboliteprofiling_nmr.xml +114 -0
- data/java/config/isa_configurator/metagenome_seq.xml +1 -0
- data/java/config/isa_configurator/nru_assay.xml +8 -0
- data/java/config/isa_configurator/ppi_detection_micro.xml +1 -0
- data/java/config/isa_configurator/protein_dna_binding_ident_micro.xml +1 -0
- data/java/config/isa_configurator/protein_dna_binding_ident_seq.xml +1 -0
- data/java/config/isa_configurator/protein_expression_ge.xml +101 -0
- data/java/config/isa_configurator/protein_expression_micro.xml +1 -0
- data/java/config/isa_configurator/protein_expression_ms.xml +1 -0
- data/java/config/isa_configurator/proteinident_ms.xml +1 -0
- data/java/config/isa_configurator/snpanalysis_micro.xml +1 -0
- data/java/config/isa_configurator/studySample.xml +1 -0
- data/java/config/isa_configurator/tfbsident_micro.xml +1 -0
- data/java/config/isa_configurator/tfbsident_seq.xml +1 -0
- data/java/config/isa_configurator/transcription_micro.xml +1 -0
- data/java/config/isa_configurator/transcription_rtpcr.xml +1 -0
- data/java/config/isa_configurator/transcription_seq.xml +6 -0
- data/test/Rakefile +48 -0
- data/test/all.rb +3 -0
- data/test/authorization.rb +112 -0
- data/test/basic_rest.rb +98 -0
- data/test/data/invalid/BII-invalid.n3 +19641 -0
- data/test/data/invalid/a_TB-ACCUTOX-plate1.txt +97 -0
- data/test/data/invalid/a_TB-ACCUTOX-plate2.txt +97 -0
- data/test/data/invalid/a_TB-ACCUTOX-plate3.txt +97 -0
- data/test/data/invalid/acetaminophen-plate1-data.txt +97 -0
- data/test/data/invalid/acetaminophen-plate2-data.txt +97 -0
- data/test/data/invalid/acetaminophen-plate3-data.txt +97 -0
- data/test/data/invalid/i_Investigation.txt +156 -0
- data/test/data/invalid/ic50.txt +20 -0
- data/test/data/invalid/isa_TB_ACCUTOX.xls +0 -0
- data/test/data/invalid/isa_TB_ACCUTOX.zip +0 -0
- data/test/data/invalid/s_TB-ACCUTOX-acetaminophen.txt +58 -0
- data/test/data/valid/BII-I-1.n3 +19648 -0
- data/test/data/valid/BII-I-1.rdf +19648 -0
- data/test/data/valid/BII-I-1.zip +0 -0
- data/test/data/valid/isa-tab-renamed.zip +0 -0
- data/test/data/valid/isa_TB_BII.xls +0 -0
- data/test/httpd.rb +69 -0
- data/test/querytest.rb +42 -0
- data/test/upload.rb +152 -0
- data/test/xls_upload.rb +60 -0
- data/toxbank-investigation.gemspec +29 -0
- metadata +133 -0
Binary file
|
Binary file
|
Binary file
|
data/test/httpd.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'test/unit'
|
4
|
+
require 'uri'
|
5
|
+
require 'net/http'
|
6
|
+
require File.join('~/.toxbank/userpass.rb')
|
7
|
+
|
8
|
+
|
9
|
+
class UploadTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
def setup
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_01_basic_response
|
18
|
+
response = `curl -i --user USER:PASS 'http://4store.in-silico.ch/status/'`.chomp
|
19
|
+
assert_match /401/, response
|
20
|
+
response = `curl -i --user #{USER}:#{PASS} 'http://4store.in-silico.ch/status/'`.chomp
|
21
|
+
assert_match /200/, response
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_02_add_data
|
25
|
+
# upload invalid data
|
26
|
+
response = `curl -0 -i -u guest:toxbank -T data/invalid/BII-invalid.n3 'http://4store.in-silico.ch/data/BII-I-1.n3'`.chomp
|
27
|
+
assert_match /400/, response
|
28
|
+
# upload valid data
|
29
|
+
response = `curl -0 -i -u #{USER}:#{PASS} -T data/valid/BII-I-1.n3 'http://4store.in-silico.ch/data/BII-I-1.n3'`.chomp
|
30
|
+
assert_match /201/, response
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_03_query_all
|
34
|
+
response = `curl -i -u #{USER}:#{PASS} 'http://4store.in-silico.ch/sparql/'`.chomp
|
35
|
+
assert_match /500/, response
|
36
|
+
response = `curl -i -u #{USER}:#{PASS} -d "query=SELECT * WHERE {?s ?p ?o} LIMIT 10" 'http://4store.in-silico.ch/sparql/'`.chomp
|
37
|
+
assert_match /200/, response
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_04_delete_data
|
41
|
+
response = `curl -i -u #{USER}:#{PASS} -X DELETE 'http://4store.in-silico.ch/data/BII-I-1.n3'`.chomp
|
42
|
+
assert_match /200/, response
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_05_simultaneous_uploads
|
46
|
+
threads = []
|
47
|
+
5.times do |t|
|
48
|
+
threads << Thread.new(t) do |up|
|
49
|
+
#puts "Start Time >> " << (Time.now).to_s
|
50
|
+
response = `curl -0 -i -u #{USER}:#{PASS} -T data/valid/BII-I-1.n3 'http://4store.in-silico.ch/data/test#{t}.n3'`.chomp
|
51
|
+
assert_match /201/, response
|
52
|
+
end
|
53
|
+
end
|
54
|
+
threads.each {|aThread| aThread.join}
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_06_delete_simultaneous
|
58
|
+
threads = []
|
59
|
+
5.times do |t|
|
60
|
+
threads << Thread.new(t) do |up|
|
61
|
+
#puts "Start Time >> " << (Time.now).to_s
|
62
|
+
response = `curl -i -u #{USER}:#{PASS} -X DELETE 'http://4store.in-silico.ch/data/test#{t}.n3'`.chomp
|
63
|
+
assert_match /200/, response
|
64
|
+
end
|
65
|
+
end
|
66
|
+
threads.each {|aThread| aThread.join}
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
data/test/querytest.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'test/unit'
|
4
|
+
require 'uri'
|
5
|
+
|
6
|
+
#HOST="http://localhost/"
|
7
|
+
|
8
|
+
class QueryTest < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
info = `4s-size ToxBank`
|
12
|
+
response = `curl -X POST -i -F file="@data/valid/BII-I-1.zip;type=application/zip" -H "subjectid:#{@@subjectid}" #{HOST}`.chomp
|
13
|
+
assert_match /200/, response
|
14
|
+
end
|
15
|
+
|
16
|
+
def teardown
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
def test_01_get_list_of_investigations
|
21
|
+
|
22
|
+
response = `curl "http://localhost/?subjectid=#{CGI.escape(@@subjectid)}"`.chomp
|
23
|
+
uri = response.split("\n").last
|
24
|
+
|
25
|
+
# query for all in all investigations
|
26
|
+
res = `curl -i -H "Accept:application/sparql-results+json" -H "subjectid:#{@@subjectid}" #{HOST}?query_all=`
|
27
|
+
assert_match /200/, res
|
28
|
+
assert_match /head/, res
|
29
|
+
assert_match /results/, res
|
30
|
+
assert_match /bindings/, res
|
31
|
+
|
32
|
+
# delete Model in 4store
|
33
|
+
del = `4s-delete-model ToxBank #{uri}`
|
34
|
+
# delete Investigation
|
35
|
+
response = `curl -i -X DELETE -H "subjectid:#{@@subjectid}" #{uri}`
|
36
|
+
puts assert_match /200/, response
|
37
|
+
response = `curl -i -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`
|
38
|
+
puts assert_match /404/, response
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
data/test/upload.rb
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'bundler'
|
3
|
+
Bundler.require
|
4
|
+
require 'opentox-client'
|
5
|
+
|
6
|
+
#TODO: check 4store emtries/errors
|
7
|
+
|
8
|
+
require File.join(ENV["HOME"],".opentox","config","toxbank-investigation","production.rb")
|
9
|
+
HOST = "http://localhost:8080"
|
10
|
+
class UploadTest < Test::Unit::TestCase
|
11
|
+
|
12
|
+
def setup
|
13
|
+
@tmpdir = File.join(File.dirname(__FILE__),"tmp")
|
14
|
+
@tmpdir = "./tmp"
|
15
|
+
FileUtils.mkdir_p @tmpdir
|
16
|
+
@isatab_files = [
|
17
|
+
"i_Investigation.txt",
|
18
|
+
"s_TB-ACCUTOX-acetaminophen.txt",
|
19
|
+
"a_TB-ACCUTOX-plate1.txt",
|
20
|
+
"a_TB-ACCUTOX-plate2.txt",
|
21
|
+
"a_TB-ACCUTOX-plate3.txt",
|
22
|
+
"acetaminophen-plate1-data.txt",
|
23
|
+
"acetaminophen-plate2-data.txt",
|
24
|
+
"acetaminophen-plate3-data.txt",
|
25
|
+
"ic50.txt",
|
26
|
+
]
|
27
|
+
resource = RestClient::Resource.new("#{AA}/auth/authenticate")
|
28
|
+
@@subjectid = resource.post(:username=>AA_USER, :password => AA_PASS).sub("token.id=","").sub("\n","")
|
29
|
+
end
|
30
|
+
|
31
|
+
def teardown
|
32
|
+
FileUtils.remove_entry_secure @tmpdir
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_get_all
|
36
|
+
response = `curl -i #{HOST}`
|
37
|
+
assert_match /200/, response
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_get_inexisting
|
41
|
+
response = `curl -H "Accept:text/uri-list" -i -H "subjectid:#{@@subjectid}" #{HOST}/foo`.chomp
|
42
|
+
assert_match /404/, response
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_valid_zip_upload
|
46
|
+
|
47
|
+
# upload
|
48
|
+
["BII-I-1.zip","isa-tab-renamed.zip"].each do |f|
|
49
|
+
file = File.join File.dirname(__FILE__), "data/valid", f
|
50
|
+
response = `curl -X POST -i -F file="@#{file};type=application/zip" -H "subjectid:#{@@subjectid}" #{HOST}`.chomp
|
51
|
+
assert_match /202/, response
|
52
|
+
uri = response.split("\n")[-1]
|
53
|
+
t = OpenTox::Task.new(uri)
|
54
|
+
assert_match t.hasStatus, "Running"
|
55
|
+
t.wait
|
56
|
+
assert_match t.hasStatus, "Completed"
|
57
|
+
uri = t.resultURI
|
58
|
+
zip = File.join @tmpdir,"tmp.zip"
|
59
|
+
#puts "curl -H 'Accept:application/zip' -H 'subjectid:#{@@subjectid}' #{uri} > #{zip}"
|
60
|
+
`curl -H "Accept:application/zip" -H "subjectid:#{@@subjectid}" #{uri} > #{zip}`
|
61
|
+
`unzip -o #{zip} -d #{@tmpdir}`
|
62
|
+
files = `unzip -l data/valid/#{f}|grep txt|cut -c 31- | sed 's#^.*/##'`.split("\n")
|
63
|
+
files.each{|f| assert_equal true, File.exists?(File.join(File.expand_path(@tmpdir),f)) }
|
64
|
+
|
65
|
+
# get isatab files
|
66
|
+
`curl -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`.split("\n").each do |u|
|
67
|
+
unless u.match(/n3$/)
|
68
|
+
response = `curl -i -H Accept:text/tab-separated-values -H "subjectid:#{@@subjectid}" #{u}`
|
69
|
+
assert_match /HTTP\/1.1 200 OK/, response.to_s.encode!('UTF-8', 'UTF-8', :invalid => :replace)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# delete
|
74
|
+
response = `curl -i -X DELETE -H "subjectid:#{@@subjectid}" #{uri}`
|
75
|
+
assert_match /200/, response
|
76
|
+
response = `curl -i -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`
|
77
|
+
assert_match /404/, response
|
78
|
+
=begin
|
79
|
+
=end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_invalid_zip_upload
|
84
|
+
file = File.join File.dirname(__FILE__), "data/invalid/isa_TB_ACCUTOX.zip"
|
85
|
+
response = `curl -X POST -i -F file="@#{file};type=application/zip" -H "subjectid:#{@@subjectid}" #{HOST}`.chomp
|
86
|
+
assert_match /202/, response
|
87
|
+
uri = response.split("\n")[-1]
|
88
|
+
t = OpenTox::Task.new(uri)
|
89
|
+
t.wait
|
90
|
+
assert_match t.hasStatus, "Error"
|
91
|
+
end
|
92
|
+
|
93
|
+
=begin
|
94
|
+
def test_rest_client_wrapper
|
95
|
+
["BII-I-1.zip","isa-tab-renamed.zip"].each do |f|
|
96
|
+
file = File.join File.dirname(__FILE__), "data/valid", f
|
97
|
+
investigation_uri = OpenTox::RestClientWrapper.post HOST, {:file => File.read(file),:name => file}, {:content_type => "application/zip", :subjectid => @@subjectid}
|
98
|
+
puts investigation_uri
|
99
|
+
zip = File.join @tmpdir,"tmp.zip"
|
100
|
+
#puts "curl -H 'Accept:application/zip' -H 'subjectid:#{@@subjectid}' #{uri} > #{zip}"
|
101
|
+
`curl -H "Accept:application/zip" -H "subjectid:#{@@subjectid}" #{uri} > #{zip}`
|
102
|
+
`unzip -o #{zip} -d #{@tmpdir}`
|
103
|
+
files = `unzip -l data/valid/#{f}|grep txt|cut -c 31- | sed 's#^.*/##'`.split("\n")
|
104
|
+
files.each{|f| assert_equal true, File.exists?(File.join(File.expand_path(@tmpdir),f)) }
|
105
|
+
|
106
|
+
# get isatab files
|
107
|
+
`curl -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`.split("\n").each do |u|
|
108
|
+
unless u.match(/n3$/)
|
109
|
+
response = `curl -i -H Accept:text/tab-separated-values -H "subjectid:#{@@subjectid}" #{u}`
|
110
|
+
assert_match /HTTP\/1.1 200 OK/, response.to_s.encode!('UTF-8', 'UTF-8', :invalid => :replace)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
# delete
|
115
|
+
response = `curl -i -X DELETE -H "subjectid:#{@@subjectid}" #{uri}`
|
116
|
+
assert_match /200/, response
|
117
|
+
response = `curl -i -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`
|
118
|
+
assert_match /404/, response
|
119
|
+
end
|
120
|
+
end
|
121
|
+
=end
|
122
|
+
|
123
|
+
=begin
|
124
|
+
def test_ruby_api
|
125
|
+
["BII-I-1.zip","isa-tab-renamed.zip"].each do |f|
|
126
|
+
file = File.join File.dirname(__FILE__), "data/valid", f
|
127
|
+
investigation = OpenTox::Investigation.create HOST, :file => file, :headers => {:content_type => "application/zip", :subjectid => @@subjectid}
|
128
|
+
zip = File.join @tmpdir,"tmp.zip"
|
129
|
+
#puts "curl -H 'Accept:application/zip' -H 'subjectid:#{@@subjectid}' #{uri} > #{zip}"
|
130
|
+
`curl -H "Accept:application/zip" -H "subjectid:#{@@subjectid}" #{uri} > #{zip}`
|
131
|
+
`unzip -o #{zip} -d #{@tmpdir}`
|
132
|
+
files = `unzip -l data/valid/#{f}|grep txt|cut -c 31- | sed 's#^.*/##'`.split("\n")
|
133
|
+
files.each{|f| assert_equal true, File.exists?(File.join(File.expand_path(@tmpdir),f)) }
|
134
|
+
|
135
|
+
# get isatab files
|
136
|
+
`curl -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`.split("\n").each do |u|
|
137
|
+
unless u.match(/n3$/)
|
138
|
+
response = `curl -i -H Accept:text/tab-separated-values -H "subjectid:#{@@subjectid}" #{u}`
|
139
|
+
assert_match /HTTP\/1.1 200 OK/, response.to_s.encode!('UTF-8', 'UTF-8', :invalid => :replace)
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
# delete
|
144
|
+
response = `curl -i -X DELETE -H "subjectid:#{@@subjectid}" #{uri}`
|
145
|
+
assert_match /200/, response
|
146
|
+
response = `curl -i -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`
|
147
|
+
assert_match /404/, response
|
148
|
+
end
|
149
|
+
end
|
150
|
+
=end
|
151
|
+
|
152
|
+
end
|
data/test/xls_upload.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'test/unit'
|
4
|
+
require 'uri'
|
5
|
+
|
6
|
+
|
7
|
+
class UploadTest < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@tmpdir = "./tmp"
|
11
|
+
FileUtils.mkdir_p @tmpdir
|
12
|
+
@isatab_files = [
|
13
|
+
"i_Investigation.txt",
|
14
|
+
"s_BII-S-1.txt",
|
15
|
+
"s_BII-S-2.txt",
|
16
|
+
"a_metabolome.txt",
|
17
|
+
"a_microarray.txt",
|
18
|
+
"a_proteome.txt",
|
19
|
+
"a_transcriptome.txt",
|
20
|
+
]
|
21
|
+
#@test_files = {"data/isa_TB_ACCUTOX.zip" => 400}
|
22
|
+
end
|
23
|
+
|
24
|
+
def teardown
|
25
|
+
FileUtils.remove_entry_secure @tmpdir
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_01_invalid_xls_upload
|
29
|
+
# upload
|
30
|
+
response = `curl -X POST -i -F file="@data/invalid/isa_TB_ACCUTOX.xls;type=application/vnd.ms-excel" -H "subjectid:#{@@subjectid}" #{HOST}`.chomp
|
31
|
+
assert_match /400/, response
|
32
|
+
uri = response.split("\n").last
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_02_valid_xls_upload
|
36
|
+
# upload
|
37
|
+
response = `curl -X POST -i -F file="@data/valid/isa_TB_BII.xls;type=application/vnd.ms-excel" -H "subjectid:#{@@subjectid}" #{HOST}`.chomp
|
38
|
+
assert_match /200/, response
|
39
|
+
uri = response.split("\n").last
|
40
|
+
|
41
|
+
# get zip file
|
42
|
+
`curl -H "Accept:application/zip" -H "subjectid:#{@@subjectid}" #{uri} > #{@tmpdir}/tmp.zip`
|
43
|
+
`unzip -o #{@tmpdir}/tmp.zip -d #{@tmpdir}`
|
44
|
+
@isatab_files.each{|f| assert_equal true, File.exists?(File.join(File.expand_path(@tmpdir),f)) }
|
45
|
+
|
46
|
+
# get isatab files
|
47
|
+
`curl -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`.split("\n").each do |u|
|
48
|
+
puts u
|
49
|
+
response = `curl -i -H Accept:text/tab-separated-values -H "subjectid:#{@@subjectid}" #{u}`
|
50
|
+
assert_match /200/, response
|
51
|
+
end
|
52
|
+
|
53
|
+
# delete
|
54
|
+
response = `curl -i -X DELETE -H "subjectid:#{@@subjectid}" #{uri}`
|
55
|
+
assert_match /200/, response
|
56
|
+
response = `curl -i -H "Accept:text/uri-list" -H "subjectid:#{@@subjectid}" #{uri}`
|
57
|
+
assert_match /404/, response
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "toxbank-investigation"
|
6
|
+
s.version = "0.0.1pre"
|
7
|
+
s.authors = ["Christoph Helma","Denis Gebele","Micha Rautenberg"]
|
8
|
+
s.email = ["helma@in-silico.ch","gebele@in-silico.ch","rautenenberg@in-silico.ch"]
|
9
|
+
s.homepage = "http://github.com/ToxBank/toxbank-investigation"
|
10
|
+
s.summary = %q{Toxbank investigation service}
|
11
|
+
s.description = %q{Toxbank investigation service}
|
12
|
+
s.license = 'GPL-3'
|
13
|
+
s.platform = Gem::Platform::CURRENT
|
14
|
+
|
15
|
+
s.rubyforge_project = "toxbank-investigation"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
#s.require_paths = ["lib"]
|
21
|
+
s.required_ruby_version = '>= 1.9.2'
|
22
|
+
|
23
|
+
# specify any dependencies here; for example:
|
24
|
+
s.add_runtime_dependency "opentox-server"
|
25
|
+
|
26
|
+
# external requirements
|
27
|
+
["git", "zip", "java", "curl", "wget"].each{|r| s.requirements << r}
|
28
|
+
s.post_install_message = "Run toxbank-investigation-install to set up your service"
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: toxbank-investigation
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1pre
|
5
|
+
prerelease: 5
|
6
|
+
platform: x86-linux
|
7
|
+
authors:
|
8
|
+
- Christoph Helma
|
9
|
+
- Denis Gebele
|
10
|
+
- Micha Rautenberg
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
date: 2012-03-09 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: opentox-server
|
18
|
+
requirement: &78809930 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '0'
|
24
|
+
type: :runtime
|
25
|
+
prerelease: false
|
26
|
+
version_requirements: *78809930
|
27
|
+
description: Toxbank investigation service
|
28
|
+
email:
|
29
|
+
- helma@in-silico.ch
|
30
|
+
- gebele@in-silico.ch
|
31
|
+
- rautenenberg@in-silico.ch
|
32
|
+
executables:
|
33
|
+
- toxbank-investigation-install
|
34
|
+
extensions: []
|
35
|
+
extra_rdoc_files: []
|
36
|
+
files:
|
37
|
+
- .gitignore
|
38
|
+
- Gemfile
|
39
|
+
- Gemfile.lock
|
40
|
+
- LICENSE
|
41
|
+
- README
|
42
|
+
- Rakefile
|
43
|
+
- application.rb
|
44
|
+
- bin/toxbank-investigation-install
|
45
|
+
- config.ru
|
46
|
+
- config/production.rb
|
47
|
+
- java/config/isa_configurator/cellcount_flowcytometry.xml
|
48
|
+
- java/config/isa_configurator/cellsorting_flowcyt.xml
|
49
|
+
- java/config/isa_configurator/clinical_chemistry.xml
|
50
|
+
- java/config/isa_configurator/copynumvariation_micro.xml
|
51
|
+
- java/config/isa_configurator/dnamethylation_micro.xml
|
52
|
+
- java/config/isa_configurator/dnamethylation_seq.xml
|
53
|
+
- java/config/isa_configurator/envgen_survey_seq.xml
|
54
|
+
- java/config/isa_configurator/genome_seq.xml
|
55
|
+
- java/config/isa_configurator/hematology.xml
|
56
|
+
- java/config/isa_configurator/heterozygosity_micro.xml
|
57
|
+
- java/config/isa_configurator/histology.xml
|
58
|
+
- java/config/isa_configurator/histonemodification_seq.xml
|
59
|
+
- java/config/isa_configurator/metaboliteprofiling_ms.xml
|
60
|
+
- java/config/isa_configurator/metaboliteprofiling_nmr.xml
|
61
|
+
- java/config/isa_configurator/metagenome_seq.xml
|
62
|
+
- java/config/isa_configurator/nru_assay.xml
|
63
|
+
- java/config/isa_configurator/ppi_detection_micro.xml
|
64
|
+
- java/config/isa_configurator/protein_dna_binding_ident_micro.xml
|
65
|
+
- java/config/isa_configurator/protein_dna_binding_ident_seq.xml
|
66
|
+
- java/config/isa_configurator/protein_expression_ge.xml
|
67
|
+
- java/config/isa_configurator/protein_expression_micro.xml
|
68
|
+
- java/config/isa_configurator/protein_expression_ms.xml
|
69
|
+
- java/config/isa_configurator/proteinident_ms.xml
|
70
|
+
- java/config/isa_configurator/snpanalysis_micro.xml
|
71
|
+
- java/config/isa_configurator/studySample.xml
|
72
|
+
- java/config/isa_configurator/tfbsident_micro.xml
|
73
|
+
- java/config/isa_configurator/tfbsident_seq.xml
|
74
|
+
- java/config/isa_configurator/transcription_micro.xml
|
75
|
+
- java/config/isa_configurator/transcription_rtpcr.xml
|
76
|
+
- java/config/isa_configurator/transcription_seq.xml
|
77
|
+
- test/Rakefile
|
78
|
+
- test/all.rb
|
79
|
+
- test/authorization.rb
|
80
|
+
- test/basic_rest.rb
|
81
|
+
- test/data/invalid/BII-invalid.n3
|
82
|
+
- test/data/invalid/a_TB-ACCUTOX-plate1.txt
|
83
|
+
- test/data/invalid/a_TB-ACCUTOX-plate2.txt
|
84
|
+
- test/data/invalid/a_TB-ACCUTOX-plate3.txt
|
85
|
+
- test/data/invalid/acetaminophen-plate1-data.txt
|
86
|
+
- test/data/invalid/acetaminophen-plate2-data.txt
|
87
|
+
- test/data/invalid/acetaminophen-plate3-data.txt
|
88
|
+
- test/data/invalid/i_Investigation.txt
|
89
|
+
- test/data/invalid/ic50.txt
|
90
|
+
- test/data/invalid/isa_TB_ACCUTOX.xls
|
91
|
+
- test/data/invalid/isa_TB_ACCUTOX.zip
|
92
|
+
- test/data/invalid/s_TB-ACCUTOX-acetaminophen.txt
|
93
|
+
- test/data/valid/BII-I-1.n3
|
94
|
+
- test/data/valid/BII-I-1.rdf
|
95
|
+
- test/data/valid/BII-I-1.zip
|
96
|
+
- test/data/valid/isa-tab-renamed.zip
|
97
|
+
- test/data/valid/isa_TB_BII.xls
|
98
|
+
- test/httpd.rb
|
99
|
+
- test/querytest.rb
|
100
|
+
- test/upload.rb
|
101
|
+
- test/xls_upload.rb
|
102
|
+
- toxbank-investigation.gemspec
|
103
|
+
homepage: http://github.com/ToxBank/toxbank-investigation
|
104
|
+
licenses:
|
105
|
+
- GPL-3
|
106
|
+
post_install_message: Run toxbank-investigation-install to set up your service
|
107
|
+
rdoc_options: []
|
108
|
+
require_paths:
|
109
|
+
- lib
|
110
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ! '>='
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: 1.9.2
|
116
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
118
|
+
requirements:
|
119
|
+
- - ! '>'
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 1.3.1
|
122
|
+
requirements:
|
123
|
+
- git
|
124
|
+
- zip
|
125
|
+
- java
|
126
|
+
- curl
|
127
|
+
- wget
|
128
|
+
rubyforge_project: toxbank-investigation
|
129
|
+
rubygems_version: 1.8.11
|
130
|
+
signing_key:
|
131
|
+
specification_version: 3
|
132
|
+
summary: Toxbank investigation service
|
133
|
+
test_files: []
|