biointerchange 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. data/README.md +49 -4
  2. data/VERSION +1 -1
  3. data/examples/chromosome_BF.gff +1701 -0
  4. data/examples/estd176_Banerjee_et_al_2011.2012-11-29.NCBI36.gvf +4326 -0
  5. data/examples/pubannotation.10096561.json +1 -0
  6. data/examples/{pubannotation.json → pubannotation.10096561.json.old} +0 -0
  7. data/examples/pubannotation.2626671.json +1 -0
  8. data/lib/biointerchange/core.rb +58 -16
  9. data/lib/biointerchange/genomics/gff3_feature.rb +1 -0
  10. data/lib/biointerchange/genomics/gff3_feature_set.rb +31 -1
  11. data/lib/biointerchange/genomics/gff3_pragmas.rb +35 -0
  12. data/lib/biointerchange/genomics/gff3_rdf_ntriples.rb +60 -23
  13. data/lib/biointerchange/genomics/gff3_reader.rb +74 -40
  14. data/lib/biointerchange/genomics/gvf_feature.rb +24 -0
  15. data/lib/biointerchange/genomics/gvf_feature_set.rb +14 -0
  16. data/lib/biointerchange/genomics/gvf_pragmas.rb +6 -0
  17. data/lib/biointerchange/genomics/gvf_reader.rb +37 -0
  18. data/lib/biointerchange/gff3o.rb +1 -1
  19. data/lib/biointerchange/gvf1o.rb +145 -17
  20. data/lib/biointerchange/textmining/content.rb +1 -0
  21. data/lib/biointerchange/textmining/content_connection.rb +74 -0
  22. data/lib/biointerchange/textmining/document.rb +3 -1
  23. data/lib/biointerchange/textmining/pubannos_json_reader.rb +87 -9
  24. data/lib/biointerchange/textmining/text_mining_rdf_ntriples.rb +58 -2
  25. data/spec/gff3_rdfwriter_spec.rb +9 -1
  26. data/spec/gvf_rdfwriter_spec.rb +81 -0
  27. data/spec/text_mining_pubannos_json_reader_spec.rb +82 -10
  28. data/spec/text_mining_rdfwriter_spec.rb +11 -0
  29. data/web/api.html +30 -23
  30. metadata +156 -138
@@ -71,16 +71,43 @@
71
71
  <h2>Application Programming Interface</h2>
72
72
  <p>BioInterchange offers Application Programming Interfaces (APIs) for multiple programming languages, but only Ruby is supporting the full range of functinality that BioInterchange provides. For Python and Java, a subset of the Ruby API is available: vocabulary wrappers for convenient access to ontologies used in BioInterchange.</p>
73
73
  <h3>Ruby API</h3>
74
+ <p>The Ruby API &mdash; including vocabulary wrapper classes &mdash; are available via <a href="http://rubygems.org/gems/biointerchange">RubyGems</a>:</p>
75
+ <pre>
76
+ sudo gem install biointerchange
77
+ </pre>
74
78
  <h4>The BioInterchange Framework</h4>
75
79
  <em>TODO... sorry.</em>
76
80
  <h4>Vocabulary Wrappers</h4>
81
+ <p>Usage example (see also <a href="https://github.com/BioInterchange/BioInterchange/blob/master/examples/vocabulary.rb">vocabulary.rb</a>):</p>
82
+ <pre>
83
+ require 'rubygems'
84
+ require 'biointerchange'
77
85
 
86
+ include BioInterchange
87
+
88
+ # Get the URI of an ontology term by label:
89
+ GFF3O.seqid()
90
+
91
+ # Ambiguous labels will return an array of URIs:
92
+ # "start" can refer to a sub-property of "feature_properties" or "target_properties"
93
+ GFF3O.start()
94
+ # "feature_properties" can be either a datatype or object property
95
+ GFF3O.feature_properties()
96
+
97
+ # Use build-in method "is_datatype_property" to resolve ambiguity:
98
+ # (Note: there is exactly one item in the result set, so the selection of the first item is acceptable.)
99
+ feature_properties = GFF3O.feature_properties().select { |uri| GFF3O.is_datatype_property(uri) }[0]
100
+
101
+ # Use build-in method "with_parent" to pick properties based on their context:
102
+ GFF3O.with_parent(GFF3O.start(), feature_properties)
103
+ </pre>
78
104
  <h3>Python API</h3>
105
+ <p>Vocabulary wrappers in Python are available as an egg, that can be installed via <a href="http://pypi.python.org/pypi/setuptools">easy_install</a>:</p>
79
106
  <pre>
80
107
  sudo easy_install rdflib
81
108
  sudo easy_install http://www.biointerchange.org/eggs/biointerchange-0.1.2-py2.7.egg
82
109
  </pre>
83
- Usage example (see also <a href="https://github.com/BioInterchange/BioInterchange/blob/master/supplemental/python/example.py">example.py</a>):
110
+ <p>Usage example (see also <a href="https://github.com/BioInterchange/BioInterchange/blob/master/supplemental/python/example.py">example.py</a>):</p>
84
111
  <pre>
85
112
  import biointerchange
86
113
  from biointerchange import *
@@ -102,6 +129,7 @@ feature_properties = filter(lambda uri: GFF3O.is_datatype_property(uri), GFF3O.f
102
129
  GFF3O.with_parent(GFF3O.start(), feature_properties)
103
130
  </pre>
104
131
  <h3>Java API</h3>
132
+ <p>Vocabulary wrappers in Java are available as a Maven artifact. Add the following repository and dependency setting to your Project Object Model (POM) file:</p>
105
133
  <pre>
106
134
  &lt;repositories&gt;
107
135
  &lt;repository&gt;
@@ -119,7 +147,7 @@ GFF3O.with_parent(GFF3O.start(), feature_properties)
119
147
  &lt;/dependency&gt;
120
148
  &lt;/dependencies&gt;
121
149
  </pre>
122
- Usage example (see also <a href="https://github.com/BioInterchange/BioInterchange/blob/master/supplemental/java/biointerchange/src/main/java/org/biointerchange/App.java">App.java</a>):
150
+ <p>Usage example (see also <a href="https://github.com/BioInterchange/BioInterchange/blob/master/supplemental/java/biointerchange/src/main/java/org/biointerchange/App.java">App.java</a>):</p>
123
151
  <pre>
124
152
  package org.biointerchange;
125
153
 
@@ -180,27 +208,6 @@ public class App
180
208
  }
181
209
  }
182
210
  </pre>
183
- <h3>BioInterchange Ontologies</h3>
184
- Ontologies specifically designed and implemented for BioInterchange are available via their <a href="http://biointerchange.github.com/Ontologies">GitHub project pages</a>.
185
- <h4>Generic Feature Format Version 3 Ontology</h4>
186
- <p>The Generic Feature Format Version 3 Ontology (GFF3O) has been closely modelled on the <a href="http://www.sequenceontology.org/resources/gff3.html">Generic Feature Format Version 3</a> (GFF3) specification.</p>
187
- <p><i>A more detailed description has yet to be written...</i></p>
188
- <ul>
189
- <li><a href="http://biointerchange.github.com/Ontologies">Generic Feature Format Version 3 Ontology</a> (GFF3O)</li>
190
- </ul>
191
- <h4>Genome Variation Format Version 1 Ontology</h4>
192
- <p>The Genome Variation Format Version 1 Ontology (GVF1O) has been closely modelled on the <a href="http://www.sequenceontology.org/resources/gvf.html">Genomic Variation Format</a> (GVF) specification.</p>
193
- <p><i>A more detailed description has yet to be written...</i></p>
194
- <ul>
195
- <li><a href="http://biointerchange.github.com/Ontologies">Genome Variation Format Version 1 Ontology</a> (GVF1O)</li>
196
- </ul>
197
- <h3>External Ontologies</h3>
198
- <ul>
199
- <li><a href="http://xmlns.com/foaf/spec">Friend of a Friend</a> (FOAF)</li>
200
- <li><a href="http://code.google.com/p/semanticscience/wiki/SIO">Semanticscience Integrated Ontology</a> (SIO)</li>
201
- </ul>
202
- </div>
203
- </div>
204
211
 
205
212
  <hr>
206
213
 
metadata CHANGED
@@ -1,14 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: biointerchange
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- - 2
9
- version: 0.1.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Joachim Baran
13
9
  - Kevin B. Cohen
14
10
  - Geraint Duck
@@ -17,146 +13,162 @@ authors:
17
13
  autorequire:
18
14
  bindir: bin
19
15
  cert_chain: []
20
-
21
- date: 2012-11-27 00:00:00 -05:00
22
- default_executable: biointerchange
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
16
+ date: 2013-01-05 00:00:00.000000000 Z
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
25
19
  name: rdf
26
- prerelease: false
27
- requirement: &id001 !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- segments:
32
- - 0
33
- - 3
34
- - 4
35
- - 1
20
+ requirement: !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirements:
23
+ - - ! '>='
24
+ - !ruby/object:Gem::Version
36
25
  version: 0.3.4.1
37
26
  type: :runtime
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: json
41
27
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- segments:
47
- - 1
48
- - 6
49
- - 4
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.4.1
34
+ - !ruby/object:Gem::Dependency
35
+ name: json
36
+ requirement: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
50
41
  version: 1.6.4
51
42
  type: :runtime
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: getopt
55
43
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- segments:
61
- - 1
62
- - 4
63
- - 1
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: 1.6.4
50
+ - !ruby/object:Gem::Dependency
51
+ name: getopt
52
+ requirement: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
64
57
  version: 1.4.1
65
58
  type: :runtime
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: addressable
69
59
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- segments:
75
- - 2
76
- - 3
77
- - 2
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: 1.4.1
66
+ - !ruby/object:Gem::Dependency
67
+ name: addressable
68
+ requirement: !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
78
73
  version: 2.3.2
79
74
  type: :runtime
80
- version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: rspec
83
75
  prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
85
- requirements:
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: 2.3.2
82
+ - !ruby/object:Gem::Dependency
83
+ name: rspec
84
+ requirement: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
86
87
  - - ~>
87
- - !ruby/object:Gem::Version
88
- segments:
89
- - 2
90
- - 8
91
- - 0
88
+ - !ruby/object:Gem::Version
92
89
  version: 2.8.0
93
90
  type: :development
94
- version_requirements: *id005
95
- - !ruby/object:Gem::Dependency
96
- name: bundler
97
91
  prerelease: false
98
- requirement: &id006 !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- segments:
103
- - 1
104
- - 1
105
- - 5
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ~>
96
+ - !ruby/object:Gem::Version
97
+ version: 2.8.0
98
+ - !ruby/object:Gem::Dependency
99
+ name: bundler
100
+ requirement: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
106
105
  version: 1.1.5
107
106
  type: :development
108
- version_requirements: *id006
109
- - !ruby/object:Gem::Dependency
110
- name: jeweler
111
107
  prerelease: false
112
- requirement: &id007 !ruby/object:Gem::Requirement
113
- requirements:
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: 1.1.5
114
+ - !ruby/object:Gem::Dependency
115
+ name: jeweler
116
+ requirement: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
114
119
  - - ~>
115
- - !ruby/object:Gem::Version
116
- segments:
117
- - 1
118
- - 8
119
- - 4
120
+ - !ruby/object:Gem::Version
120
121
  version: 1.8.4
121
122
  type: :development
122
- version_requirements: *id007
123
- - !ruby/object:Gem::Dependency
124
- name: bio
125
123
  prerelease: false
126
- requirement: &id008 !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- segments:
131
- - 1
132
- - 4
133
- - 2
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ~>
128
+ - !ruby/object:Gem::Version
129
+ version: 1.8.4
130
+ - !ruby/object:Gem::Dependency
131
+ name: bio
132
+ requirement: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
134
137
  version: 1.4.2
135
138
  type: :development
136
- version_requirements: *id008
137
- - !ruby/object:Gem::Dependency
138
- name: rdoc
139
139
  prerelease: false
140
- requirement: &id009 !ruby/object:Gem::Requirement
141
- requirements:
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: 1.4.2
146
+ - !ruby/object:Gem::Dependency
147
+ name: rdoc
148
+ requirement: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
142
151
  - - ~>
143
- - !ruby/object:Gem::Version
144
- segments:
145
- - 3
146
- - 12
147
- version: "3.12"
152
+ - !ruby/object:Gem::Version
153
+ version: '3.12'
148
154
  type: :development
149
- version_requirements: *id009
150
- description: BioInterchange is a Ruby gem, command-line tool, web-service for turning heterogeneous data formats such as JSON, XML, GFF3, etc., into RDF."
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ~>
160
+ - !ruby/object:Gem::Version
161
+ version: '3.12'
162
+ description: BioInterchange is a Ruby gem, command-line tool, web-service for turning
163
+ heterogeneous data formats such as JSON, XML, GFF3, etc., into RDF."
151
164
  email: joachim.baran@gmail.com
152
- executables:
165
+ executables:
153
166
  - biointerchange
154
167
  extensions: []
155
-
156
- extra_rdoc_files:
168
+ extra_rdoc_files:
157
169
  - LICENSE.txt
158
170
  - README.md
159
- files:
171
+ files:
160
172
  - .document
161
173
  - .rspec
162
174
  - .travis.yml
@@ -167,8 +179,12 @@ files:
167
179
  - VERSION
168
180
  - bin/biointerchange
169
181
  - examples/BovineGenomeChrX.gff3.gz
182
+ - examples/chromosome_BF.gff
183
+ - examples/estd176_Banerjee_et_al_2011.2012-11-29.NCBI36.gvf
170
184
  - examples/gb-2007-8-3-R40.xml
171
- - examples/pubannotation.json
185
+ - examples/pubannotation.10096561.json
186
+ - examples/pubannotation.10096561.json.old
187
+ - examples/pubannotation.2626671.json
172
188
  - examples/vocabulary.rb
173
189
  - generators/javaify.rb
174
190
  - generators/pythonify.rb
@@ -178,8 +194,13 @@ files:
178
194
  - lib/biointerchange/exceptions.rb
179
195
  - lib/biointerchange/genomics/gff3_feature.rb
180
196
  - lib/biointerchange/genomics/gff3_feature_set.rb
197
+ - lib/biointerchange/genomics/gff3_pragmas.rb
181
198
  - lib/biointerchange/genomics/gff3_rdf_ntriples.rb
182
199
  - lib/biointerchange/genomics/gff3_reader.rb
200
+ - lib/biointerchange/genomics/gvf_feature.rb
201
+ - lib/biointerchange/genomics/gvf_feature_set.rb
202
+ - lib/biointerchange/genomics/gvf_pragmas.rb
203
+ - lib/biointerchange/genomics/gvf_reader.rb
183
204
  - lib/biointerchange/gff3o.rb
184
205
  - lib/biointerchange/gvf1o.rb
185
206
  - lib/biointerchange/reader.rb
@@ -187,6 +208,7 @@ files:
187
208
  - lib/biointerchange/sio.rb
188
209
  - lib/biointerchange/sofa.rb
189
210
  - lib/biointerchange/textmining/content.rb
211
+ - lib/biointerchange/textmining/content_connection.rb
190
212
  - lib/biointerchange/textmining/document.rb
191
213
  - lib/biointerchange/textmining/pdfx_xml_reader.rb
192
214
  - lib/biointerchange/textmining/process.rb
@@ -196,6 +218,7 @@ files:
196
218
  - lib/biointerchange/writer.rb
197
219
  - spec/exceptions_spec.rb
198
220
  - spec/gff3_rdfwriter_spec.rb
221
+ - spec/gvf_rdfwriter_spec.rb
199
222
  - spec/text_mining_pdfx_xml_reader_spec.rb
200
223
  - spec/text_mining_pubannos_json_reader_spec.rb
201
224
  - spec/text_mining_rdfwriter_spec.rb
@@ -233,35 +256,30 @@ files:
233
256
  - web/ontologies.html
234
257
  - web/service/rdfizer.fcgi
235
258
  - web/webservices.html
236
- has_rdoc: true
237
259
  homepage: http://www.biointerchange.org
238
- licenses:
260
+ licenses:
239
261
  - MIT
240
262
  post_install_message:
241
263
  rdoc_options: []
242
-
243
- require_paths:
264
+ require_paths:
244
265
  - lib
245
- required_ruby_version: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- segments:
250
- - 0
251
- version: "0"
252
- required_rubygems_version: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- segments:
257
- - 0
258
- version: "0"
266
+ required_ruby_version: !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ required_rubygems_version: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ! '>='
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
259
278
  requirements: []
260
-
261
279
  rubyforge_project:
262
- rubygems_version: 1.3.6
280
+ rubygems_version: 1.8.23
263
281
  signing_key:
264
282
  specification_version: 3
265
- summary: An open source framework for transforming heterogeneous data formats into RDF.
283
+ summary: An open source framework for transforming heterogeneous data formats into
284
+ RDF.
266
285
  test_files: []
267
-