toxbank-investigation 0.0.1pre-x86-linux

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.
Files changed (67) hide show
  1. data/.gitignore +11 -0
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +101 -0
  4. data/LICENSE +674 -0
  5. data/README +14 -0
  6. data/Rakefile +31 -0
  7. data/application.rb +246 -0
  8. data/bin/toxbank-investigation-install +76 -0
  9. data/config/production.rb +9 -0
  10. data/config.ru +5 -0
  11. data/java/config/isa_configurator/cellcount_flowcytometry.xml +1 -0
  12. data/java/config/isa_configurator/cellsorting_flowcyt.xml +5 -0
  13. data/java/config/isa_configurator/clinical_chemistry.xml +1 -0
  14. data/java/config/isa_configurator/copynumvariation_micro.xml +1 -0
  15. data/java/config/isa_configurator/dnamethylation_micro.xml +1 -0
  16. data/java/config/isa_configurator/dnamethylation_seq.xml +1 -0
  17. data/java/config/isa_configurator/envgen_survey_seq.xml +1 -0
  18. data/java/config/isa_configurator/genome_seq.xml +1 -0
  19. data/java/config/isa_configurator/hematology.xml +1 -0
  20. data/java/config/isa_configurator/heterozygosity_micro.xml +1 -0
  21. data/java/config/isa_configurator/histology.xml +1 -0
  22. data/java/config/isa_configurator/histonemodification_seq.xml +1 -0
  23. data/java/config/isa_configurator/metaboliteprofiling_ms.xml +114 -0
  24. data/java/config/isa_configurator/metaboliteprofiling_nmr.xml +114 -0
  25. data/java/config/isa_configurator/metagenome_seq.xml +1 -0
  26. data/java/config/isa_configurator/nru_assay.xml +8 -0
  27. data/java/config/isa_configurator/ppi_detection_micro.xml +1 -0
  28. data/java/config/isa_configurator/protein_dna_binding_ident_micro.xml +1 -0
  29. data/java/config/isa_configurator/protein_dna_binding_ident_seq.xml +1 -0
  30. data/java/config/isa_configurator/protein_expression_ge.xml +101 -0
  31. data/java/config/isa_configurator/protein_expression_micro.xml +1 -0
  32. data/java/config/isa_configurator/protein_expression_ms.xml +1 -0
  33. data/java/config/isa_configurator/proteinident_ms.xml +1 -0
  34. data/java/config/isa_configurator/snpanalysis_micro.xml +1 -0
  35. data/java/config/isa_configurator/studySample.xml +1 -0
  36. data/java/config/isa_configurator/tfbsident_micro.xml +1 -0
  37. data/java/config/isa_configurator/tfbsident_seq.xml +1 -0
  38. data/java/config/isa_configurator/transcription_micro.xml +1 -0
  39. data/java/config/isa_configurator/transcription_rtpcr.xml +1 -0
  40. data/java/config/isa_configurator/transcription_seq.xml +6 -0
  41. data/test/Rakefile +48 -0
  42. data/test/all.rb +3 -0
  43. data/test/authorization.rb +112 -0
  44. data/test/basic_rest.rb +98 -0
  45. data/test/data/invalid/BII-invalid.n3 +19641 -0
  46. data/test/data/invalid/a_TB-ACCUTOX-plate1.txt +97 -0
  47. data/test/data/invalid/a_TB-ACCUTOX-plate2.txt +97 -0
  48. data/test/data/invalid/a_TB-ACCUTOX-plate3.txt +97 -0
  49. data/test/data/invalid/acetaminophen-plate1-data.txt +97 -0
  50. data/test/data/invalid/acetaminophen-plate2-data.txt +97 -0
  51. data/test/data/invalid/acetaminophen-plate3-data.txt +97 -0
  52. data/test/data/invalid/i_Investigation.txt +156 -0
  53. data/test/data/invalid/ic50.txt +20 -0
  54. data/test/data/invalid/isa_TB_ACCUTOX.xls +0 -0
  55. data/test/data/invalid/isa_TB_ACCUTOX.zip +0 -0
  56. data/test/data/invalid/s_TB-ACCUTOX-acetaminophen.txt +58 -0
  57. data/test/data/valid/BII-I-1.n3 +19648 -0
  58. data/test/data/valid/BII-I-1.rdf +19648 -0
  59. data/test/data/valid/BII-I-1.zip +0 -0
  60. data/test/data/valid/isa-tab-renamed.zip +0 -0
  61. data/test/data/valid/isa_TB_BII.xls +0 -0
  62. data/test/httpd.rb +69 -0
  63. data/test/querytest.rb +42 -0
  64. data/test/upload.rb +152 -0
  65. data/test/xls_upload.rb +60 -0
  66. data/toxbank-investigation.gemspec +29 -0
  67. 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
@@ -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: []