biointerchange 0.1.0 → 0.1.2

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 (45) hide show
  1. data/.travis.yml +3 -3
  2. data/Gemfile +2 -1
  3. data/README.md +192 -7
  4. data/Rakefile +1 -1
  5. data/VERSION +1 -1
  6. data/examples/vocabulary.rb +23 -0
  7. data/generators/javaify.rb +131 -0
  8. data/generators/pythonify.rb +67 -0
  9. data/generators/rdfxml.rb +152 -44
  10. data/lib/biointerchange/core.rb +2 -1
  11. data/lib/biointerchange/exceptions.rb +27 -0
  12. data/lib/biointerchange/genomics/gff3_rdf_ntriples.rb +21 -18
  13. data/lib/biointerchange/gff3o.rb +495 -0
  14. data/lib/biointerchange/gvf1o.rb +730 -0
  15. data/lib/biointerchange/registry.rb +2 -2
  16. data/lib/biointerchange/sio.rb +10951 -5845
  17. data/lib/biointerchange/sofa.rb +2171 -1300
  18. data/spec/exceptions_spec.rb +6 -0
  19. data/spec/gff3_rdfwriter_spec.rb +7 -1
  20. data/spec/text_mining_pdfx_xml_reader_spec.rb +6 -0
  21. data/spec/text_mining_pubannos_json_reader_spec.rb +6 -0
  22. data/spec/text_mining_rdfwriter_spec.rb +6 -0
  23. data/supplemental/java/biointerchange/pom.xml +45 -0
  24. data/supplemental/java/biointerchange/src/main/java/org/biointerchange/App.java +58 -0
  25. data/supplemental/java/biointerchange/src/main/java/org/biointerchange/AppSIO.java +49 -0
  26. data/supplemental/java/biointerchange/src/main/java/org/biointerchange/vocabulary/GFF3O.java +647 -0
  27. data/supplemental/java/biointerchange/src/main/java/org/biointerchange/vocabulary/GVF1O.java +946 -0
  28. data/supplemental/java/biointerchange/src/main/java/org/biointerchange/vocabulary/SIO.java +15390 -0
  29. data/supplemental/java/biointerchange/src/main/java/org/biointerchange/vocabulary/SOFA.java +2968 -0
  30. data/supplemental/java/biointerchange/src/test/java/org/biointerchange/AppTest.java +38 -0
  31. data/supplemental/python/biointerchange/__init__.py +4 -0
  32. data/supplemental/python/biointerchange/gff3o.py +581 -0
  33. data/supplemental/python/biointerchange/gvf1o.py +864 -0
  34. data/supplemental/python/biointerchange/sio.py +11772 -0
  35. data/supplemental/python/biointerchange/sofa.py +2422 -0
  36. data/supplemental/python/example.py +19 -0
  37. data/supplemental/python/setup.py +13 -0
  38. data/web/about.html +3 -0
  39. data/web/api.html +219 -0
  40. data/web/index.html +4 -3
  41. data/web/ontologies.html +109 -0
  42. data/web/webservices.html +1 -0
  43. metadata +144 -117
  44. data/docs/exceptions_readme.txt +0 -13
  45. data/lib/biointerchange/gff3.rb +0 -135
@@ -0,0 +1,730 @@
1
+ module BioInterchange
2
+
3
+ class GVF1O
4
+
5
+ # Strand of the feature.
6
+ # (http://www.biointerchange.org/gvf1o#GVF1_0010)
7
+ def self.strand
8
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0010')
9
+ end
10
+
11
+ # Tag name/value pair attributes of a feature.
12
+ # (http://www.biointerchange.org/gvf1o#GVF1_0012)
13
+ def self.attributes
14
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0012')
15
+ end
16
+
17
+ # Link out to the parent feature.
18
+ # (http://www.biointerchange.org/gvf1o#GVF1_0014)
19
+ def self.parent
20
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0014')
21
+ end
22
+
23
+ # Relationship that describes which features belong to a feature set.
24
+ # (http://www.biointerchange.org/gvf1o#GVF1_0015)
25
+ def self.contains
26
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0015')
27
+ end
28
+
29
+ # Either:
30
+ # FALDO "Region" instance replacement for a feature's start, stop, strand properties.
31
+ # (http://www.biointerchange.org/gvf1o#GVF1_0021)
32
+ # Or:
33
+ # FALDO "Region" instance replacement for a breakpoint's start, stop, strand properties.
34
+ # (http://www.biointerchange.org/gvf1o#GVF1_0079)
35
+ def self.region
36
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0021'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0079') ]
37
+ end
38
+
39
+ # NCBI Taxonomy Ontology "NCBITaxon_1" (or sub-classes) instance that denotes the species for a feature set.
40
+ # (http://www.biointerchange.org/gvf1o#GVF1_0023)
41
+ def self.species
42
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0023')
43
+ end
44
+
45
+ # Specific information about the variant(s) of a feature.
46
+ # (http://www.biointerchange.org/gvf1o#GVF1_0034)
47
+ def self.variant
48
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0034')
49
+ end
50
+
51
+ # Links to information about an individual.
52
+ # (http://www.biointerchange.org/gvf1o#GVF1_0036)
53
+ def self.individual
54
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0036')
55
+ end
56
+
57
+ # An effect of a particular feature variant.
58
+ # (http://www.biointerchange.org/gvf1o#GVF1_0041)
59
+ def self.effect
60
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0041')
61
+ end
62
+
63
+ # Effect of a sequence alteration on a sequence feature.
64
+ # (http://www.biointerchange.org/gvf1o#GVF1_0042)
65
+ def self.sequence_variant
66
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0042')
67
+ end
68
+
69
+ # A term that is describing the sequence feature that is being affected.
70
+ # (http://www.biointerchange.org/gvf1o#GVF1_0043)
71
+ def self.feature_type
72
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0043')
73
+ end
74
+
75
+ # Features that are affected by this sequence alteration effect.
76
+ # (http://www.biointerchange.org/gvf1o#GVF1_0044)
77
+ def self.feature_id
78
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0044')
79
+ end
80
+
81
+ # A coordinate range for ambiguous start coordinates.
82
+ # (http://www.biointerchange.org/gvf1o#GVF1_0046)
83
+ def self.start_range
84
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0046')
85
+ end
86
+
87
+ # A coordinate range for ambiguous start coordinates.
88
+ # (http://www.biointerchange.org/gvf1o#GVF1_0047)
89
+ def self.end_range
90
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0047')
91
+ end
92
+
93
+ # Denotes abstract chromosome representations for capturing variants that appear on the same chromosome of a polyploid organism.
94
+ # (http://www.biointerchange.org/gvf1o#GVF1_0051)
95
+ def self.chromosome
96
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0051')
97
+ end
98
+
99
+ # Determines the genotype as observed in an individual.
100
+ # (http://www.biointerchange.org/gvf1o#GVF1_0053)
101
+ def self.genotype
102
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0053')
103
+ end
104
+
105
+ # Either:
106
+ # Properties that are directly associated with Feature class instances.
107
+ # (http://www.biointerchange.org/gvf1o#GVF1_0066)
108
+ # Or:
109
+ # Properties that are directly associated with Feature class instances.
110
+ # (http://www.biointerchange.org/gvf1o#GVF1_0059)
111
+ def self.feature_properties
112
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') ]
113
+ end
114
+
115
+ # Either:
116
+ # Properties that are directly associated with SequencedIndividual class instances.
117
+ # (http://www.biointerchange.org/gvf1o#GVF1_0067)
118
+ # Or:
119
+ # Properties that are directly associated with SequencedIndividual class instances.
120
+ # (http://www.biointerchange.org/gvf1o#GVF1_0065)
121
+ def self.sequencedindividual_properties
122
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0067'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0065') ]
123
+ end
124
+
125
+ # Either:
126
+ # Properties that are directly associated with Set class instances.
127
+ # (http://www.biointerchange.org/gvf1o#GVF1_0068)
128
+ # Or:
129
+ # Properties that are directly associated with Set class instances.
130
+ # (http://www.biointerchange.org/gvf1o#GVF1_0063)
131
+ def self.set_properties
132
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0068'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0063') ]
133
+ end
134
+
135
+ # Either:
136
+ # Properties that are directly associated with Variant class instances.
137
+ # (http://www.biointerchange.org/gvf1o#GVF1_0069)
138
+ # Or:
139
+ # Properties that are directly associated with Variant class instances.
140
+ # (http://www.biointerchange.org/gvf1o#GVF1_0060)
141
+ def self.variant_properties
142
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0069'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') ]
143
+ end
144
+
145
+ # Properties that are directly associated with Effect class instances.
146
+ # (http://www.biointerchange.org/gvf1o#GVF1_0070)
147
+ def self.effect_properties
148
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070')
149
+ end
150
+
151
+ # Either:
152
+ # Properties that are directly associated with Breakpoint class instances.
153
+ # (http://www.biointerchange.org/gvf1o#GVF1_0075)
154
+ # Or:
155
+ # Properties that are directly associated with Breakpoint class instances.
156
+ # (http://www.biointerchange.org/gvf1o#GVF1_0071)
157
+ def self.breakpoint_properties
158
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0075'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0071') ]
159
+ end
160
+
161
+ # A database cross-reference to associate a sequence alteration to its representation in another database.
162
+ # (http://www.biointerchange.org/gvf1o#GVF1_0078)
163
+ def self.dbxref
164
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0078')
165
+ end
166
+
167
+ # Either:
168
+ # ID of the landmark that establishes the coordinate system for a feature.
169
+ # (http://www.biointerchange.org/gvf1o#GVF1_0004)
170
+ # Or:
171
+ # ID of the landmark that establishes the coordinate system for a breakpoint.
172
+ # (http://www.biointerchange.org/gvf1o#GVF1_0072)
173
+ def self.seqid
174
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0004'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0072') ]
175
+ end
176
+
177
+ # A free text qualifier that describes the algorithm or operating procedure that generated this feature. For example, the name of the software that generated this feature or a database name.
178
+ # (http://www.biointerchange.org/gvf1o#GVF1_0005)
179
+ def self.source
180
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0005')
181
+ end
182
+
183
+ # Type of the feature, which is either a term from the "lite" version of the Sequence Ontology (SOFA), a term from the full Sequence Ontology (SO) that is a child of sequence_feature (SO:0000110), or a SOFA or SO accession number.
184
+ # (http://www.biointerchange.org/gvf1o#GVF1_0006)
185
+ def self.type
186
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0006')
187
+ end
188
+
189
+ # Either:
190
+ # Start coordinate of the feature on the seqid landmark.
191
+ # (http://www.biointerchange.org/gvf1o#GVF1_0007)
192
+ # Or:
193
+ # A coordinate that defines the start of an ambiguous coordinate range.
194
+ # (http://www.biointerchange.org/gvf1o#GVF1_0048)
195
+ # Or:
196
+ # Start coordinate of the feature on the seqid landmark.
197
+ # (http://www.biointerchange.org/gvf1o#GVF1_0073)
198
+ def self.start
199
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0007'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0048'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0073') ]
200
+ end
201
+
202
+ # Either:
203
+ # End coordinate of the feature on the seqid landmark.
204
+ # (http://www.biointerchange.org/gvf1o#GVF1_0008)
205
+ # Or:
206
+ # A coordinate that defines the end of an ambiguous coordinate range.
207
+ # (http://www.biointerchange.org/gvf1o#GVF1_0049)
208
+ # Or:
209
+ # End coordinate of the feature on the seqid landmark.
210
+ # (http://www.biointerchange.org/gvf1o#GVF1_0074)
211
+ def self.end
212
+ return [ RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0008'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0049'), RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0074') ]
213
+ end
214
+
215
+ # Score of the feature. For example, an E-value for sequence similarity features or a P-value for ab initio gene prediction features.
216
+ # (http://www.biointerchange.org/gvf1o#GVF1_0009)
217
+ def self.score
218
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0009')
219
+ end
220
+
221
+ # Tag name of a feature attribute.
222
+ # (http://www.biointerchange.org/gvf1o#GVF1_0013)
223
+ def self.tag
224
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0013')
225
+ end
226
+
227
+ # Version of the GVF specification that defines the feature set contents.
228
+ # (http://www.biointerchange.org/gvf1o#GVF1_0022)
229
+ def self.version
230
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0022')
231
+ end
232
+
233
+ # Name of a genome assembly build that denotes the provenance of features in a feature set. For example, 'NCBI 36' or 'FlyBase r4.1'.
234
+ # (http://www.biointerchange.org/gvf1o#GVF1_0024)
235
+ def self.build
236
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0024')
237
+ end
238
+
239
+ # All sequence variations at a locus -- including the reference sequence when appropriate (for example, when the locus is heterozygous). If the feature is on the minus strand, then the sequence is the reverse-compliment of the reference genome for these coordinates.
240
+ # (http://www.biointerchange.org/gvf1o#GVF1_0025)
241
+ def self.variant_seq
242
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0025')
243
+ end
244
+
245
+ # A unique identifier for the feature within the feature set.
246
+ # (http://www.biointerchange.org/gvf1o#GVF1_0026)
247
+ def self.id
248
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0026')
249
+ end
250
+
251
+ # Secondary name of a feature, which can be HGVS/ISCN nomenclature names, but not cross-references to databases (e.g. dbSNP, OMIM) which should use the dbxref property.
252
+ # (http://www.biointerchange.org/gvf1o#GVF1_0027)
253
+ def self.alias
254
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0027')
255
+ end
256
+
257
+ # Name of an external database. For example, "dbSNP" or "OMIM".
258
+ # (http://www.biointerchange.org/gvf1o#GVF1_0029)
259
+ def self.name
260
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0029')
261
+ end
262
+
263
+ # External database identifier. For example, for dbSNP, this identifier could be "rs3131969".
264
+ # (http://www.biointerchange.org/gvf1o#GVF1_0030)
265
+ def self.xref
266
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0030')
267
+ end
268
+
269
+ # Sequence from the reference genome.
270
+ # (http://www.biointerchange.org/gvf1o#GVF1_0031)
271
+ def self.reference_seq
272
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0031')
273
+ end
274
+
275
+ # Number of reads that are supporting this variant.
276
+ # (http://www.biointerchange.org/gvf1o#GVF1_0032)
277
+ def self.variant_reads
278
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0032')
279
+ end
280
+
281
+ # Total number of reads.
282
+ # (http://www.biointerchange.org/gvf1o#GVF1_0037)
283
+ def self.total_reads
284
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0037')
285
+ end
286
+
287
+ # Zygosity of a feature locus.
288
+ # (http://www.biointerchange.org/gvf1o#GVF1_0038)
289
+ def self.zygosity
290
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0038')
291
+ end
292
+
293
+ # Frequency of a variant in a population.
294
+ # (http://www.biointerchange.org/gvf1o#GVF1_0039)
295
+ def self.variant_freq
296
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0039')
297
+ end
298
+
299
+ # Unclear from GVF specification.
300
+ # (http://www.biointerchange.org/gvf1o#GVF1_0050)
301
+ def self.phased
302
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0050')
303
+ end
304
+
305
+ # Describes the codon that overlaps this variant.
306
+ # (http://www.biointerchange.org/gvf1o#GVF1_0054)
307
+ def self.variant_codon
308
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0054')
309
+ end
310
+
311
+ # Describes the codon from the reference sequence whose coordinates overlap with this variant.
312
+ # (http://www.biointerchange.org/gvf1o#GVF1_0055)
313
+ def self.reference_codon
314
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0055')
315
+ end
316
+
317
+ # Amino acid that overlaps with the variant.
318
+ # (http://www.biointerchange.org/gvf1o#GVF1_0056)
319
+ def self.variant_aa
320
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0056')
321
+ end
322
+
323
+ # Amino acid in the reference genome that overlaps with a variant's genome coordinates.
324
+ # (http://www.biointerchange.org/gvf1o#GVF1_0057)
325
+ def self.reference_aa
326
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0057')
327
+ end
328
+
329
+ # Properties that are directly associated with Range class instances.
330
+ # (http://www.biointerchange.org/gvf1o#GVF1_0061)
331
+ def self.range_properties
332
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0061')
333
+ end
334
+
335
+ # Properties that are directly associated with DBXRef class instances.
336
+ # (http://www.biointerchange.org/gvf1o#GVF1_0062)
337
+ def self.dbxref_properties
338
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0062')
339
+ end
340
+
341
+ # Properties that are directly associated with Attribute class instances.
342
+ # (http://www.biointerchange.org/gvf1o#GVF1_0064)
343
+ def self.attribute_properties
344
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0064')
345
+ end
346
+
347
+ # Sequence context (positive strand) of a feature on the 5' end.
348
+ # (http://www.biointerchange.org/gvf1o#GVF1_0076)
349
+ def self.a_context
350
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0076')
351
+ end
352
+
353
+ # Set of genomic sequence features, whose identifiers are unique within the set.
354
+ # (http://www.biointerchange.org/gvf1o#GVF1_0001)
355
+ def self.Set
356
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0001')
357
+ end
358
+
359
+ # A genomic sequence feature.
360
+ # (http://www.biointerchange.org/gvf1o#GVF1_0002)
361
+ def self.Feature
362
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0002')
363
+ end
364
+
365
+ def self.Attribute
366
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0003')
367
+ end
368
+
369
+ # Class describing a genomic strand. Instances of the class (individuals) are used to denote forward-/reverse-strands, etc.
370
+ # (http://www.biointerchange.org/gvf1o#GVF1_0016)
371
+ def self.Strand
372
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0016')
373
+ end
374
+
375
+ # A class describing relationships between features and external databases.
376
+ # (http://www.biointerchange.org/gvf1o#GVF1_0028)
377
+ def self.DBXRef
378
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0028')
379
+ end
380
+
381
+ # Describing specific alterations of a feature.
382
+ # (http://www.biointerchange.org/gvf1o#GVF1_0033)
383
+ def self.Variant
384
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0033')
385
+ end
386
+
387
+ # Aggregated sequencing information for a particular individual.
388
+ # (http://www.biointerchange.org/gvf1o#GVF1_0035)
389
+ def self.SequencedIndividual
390
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0035')
391
+ end
392
+
393
+ # Describing the effect of a feature variant.
394
+ # (http://www.biointerchange.org/gvf1o#GVF1_0040)
395
+ def self.Effect
396
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0040')
397
+ end
398
+
399
+ # Describe ambiguity in either start or end coordinates.
400
+ # (http://www.biointerchange.org/gvf1o#GVF1_0045)
401
+ def self.Range
402
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0045')
403
+ end
404
+
405
+ # An abstract representation of a chromosome to represent ploidy.
406
+ # (http://www.biointerchange.org/gvf1o#GVF1_0052)
407
+ def self.Chromosome
408
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0052')
409
+ end
410
+
411
+ # Describes the source or destination of a zero-length sequence alteration.
412
+ # (http://www.biointerchange.org/gvf1o#GVF1_0058)
413
+ def self.Breakpoint
414
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0058')
415
+ end
416
+
417
+ # Location on the positive (forward) strand.
418
+ # (http://www.biointerchange.org/gvf1o#GVF1_0017)
419
+ def self.Positive
420
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0017')
421
+ end
422
+
423
+ # Location on the negative (reverse) strand.
424
+ # (http://www.biointerchange.org/gvf1o#GVF1_0018)
425
+ def self.Negative
426
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0018')
427
+ end
428
+
429
+ # Strand was not determined, which leaves it open whether the location is on the positive (forward) or negative (reverse) strand.
430
+ # (http://www.biointerchange.org/gvf1o#GVF1_0019)
431
+ def self.UnknownStrand
432
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0019')
433
+ end
434
+
435
+ # Strand is not applicable.
436
+ # (http://www.biointerchange.org/gvf1o#GVF1_0020)
437
+ def self.NotStranded
438
+ return RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0020')
439
+ end
440
+
441
+ # Determines whether the given URI is an object property.
442
+ #
443
+ # +uri+:: URI that is tested for being an object property
444
+ def self.is_object_property?(uri)
445
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0010') then
446
+ return true
447
+ end
448
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0012') then
449
+ return true
450
+ end
451
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0014') then
452
+ return true
453
+ end
454
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0015') then
455
+ return true
456
+ end
457
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0021') then
458
+ return true
459
+ end
460
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0023') then
461
+ return true
462
+ end
463
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0034') then
464
+ return true
465
+ end
466
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0036') then
467
+ return true
468
+ end
469
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0041') then
470
+ return true
471
+ end
472
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0042') then
473
+ return true
474
+ end
475
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0043') then
476
+ return true
477
+ end
478
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0044') then
479
+ return true
480
+ end
481
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0046') then
482
+ return true
483
+ end
484
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0047') then
485
+ return true
486
+ end
487
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0051') then
488
+ return true
489
+ end
490
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0053') then
491
+ return true
492
+ end
493
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') then
494
+ return true
495
+ end
496
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0067') then
497
+ return true
498
+ end
499
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0068') then
500
+ return true
501
+ end
502
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0069') then
503
+ return true
504
+ end
505
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070') then
506
+ return true
507
+ end
508
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0075') then
509
+ return true
510
+ end
511
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0078') then
512
+ return true
513
+ end
514
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0079') then
515
+ return true
516
+ end
517
+ return false
518
+ end
519
+
520
+ # Determines whether the given URI is a datatype property.
521
+ #
522
+ # +uri+:: URI that is tested for being a datatype property
523
+ def self.is_datatype_property?(uri)
524
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0004') then
525
+ return true
526
+ end
527
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0005') then
528
+ return true
529
+ end
530
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0006') then
531
+ return true
532
+ end
533
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0007') then
534
+ return true
535
+ end
536
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0008') then
537
+ return true
538
+ end
539
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0009') then
540
+ return true
541
+ end
542
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0013') then
543
+ return true
544
+ end
545
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0022') then
546
+ return true
547
+ end
548
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0024') then
549
+ return true
550
+ end
551
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0025') then
552
+ return true
553
+ end
554
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0026') then
555
+ return true
556
+ end
557
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0027') then
558
+ return true
559
+ end
560
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0029') then
561
+ return true
562
+ end
563
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0030') then
564
+ return true
565
+ end
566
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0031') then
567
+ return true
568
+ end
569
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0032') then
570
+ return true
571
+ end
572
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0037') then
573
+ return true
574
+ end
575
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0038') then
576
+ return true
577
+ end
578
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0039') then
579
+ return true
580
+ end
581
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0048') then
582
+ return true
583
+ end
584
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0049') then
585
+ return true
586
+ end
587
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0050') then
588
+ return true
589
+ end
590
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0054') then
591
+ return true
592
+ end
593
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0055') then
594
+ return true
595
+ end
596
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0056') then
597
+ return true
598
+ end
599
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0057') then
600
+ return true
601
+ end
602
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') then
603
+ return true
604
+ end
605
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') then
606
+ return true
607
+ end
608
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0061') then
609
+ return true
610
+ end
611
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0062') then
612
+ return true
613
+ end
614
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0063') then
615
+ return true
616
+ end
617
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0064') then
618
+ return true
619
+ end
620
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0065') then
621
+ return true
622
+ end
623
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0071') then
624
+ return true
625
+ end
626
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0072') then
627
+ return true
628
+ end
629
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0073') then
630
+ return true
631
+ end
632
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0074') then
633
+ return true
634
+ end
635
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0076') then
636
+ return true
637
+ end
638
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0077') then
639
+ return true
640
+ end
641
+ return false
642
+ end
643
+
644
+ # Determines whether the given URI is a class.
645
+ #
646
+ # +uri+:: URI that is tested for being a class
647
+ def self.is_class?(uri)
648
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0001') then
649
+ return true
650
+ end
651
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0002') then
652
+ return true
653
+ end
654
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0003') then
655
+ return true
656
+ end
657
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0016') then
658
+ return true
659
+ end
660
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0028') then
661
+ return true
662
+ end
663
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0033') then
664
+ return true
665
+ end
666
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0035') then
667
+ return true
668
+ end
669
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0040') then
670
+ return true
671
+ end
672
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0045') then
673
+ return true
674
+ end
675
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0052') then
676
+ return true
677
+ end
678
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0058') then
679
+ return true
680
+ end
681
+ return false
682
+ end
683
+
684
+ # Determines whether the given URI is a named individual.
685
+ #
686
+ # +uri+:: URI that is tested for being a named individual
687
+ def self.is_named_individual?(uri)
688
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0017') then
689
+ return true
690
+ end
691
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0018') then
692
+ return true
693
+ end
694
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0019') then
695
+ return true
696
+ end
697
+ if uri == RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0020') then
698
+ return true
699
+ end
700
+ return false
701
+ end
702
+
703
+ # Returns only those URIs that fall under a designated parent URI.
704
+ #
705
+ # +uris+:: Set of URIs that are tested whether they have the given parent URI.
706
+ # +parent+:: Parent URI.
707
+ def self.with_parent(uris, parent)
708
+ return uris.select { |uri| has_parent?(uri, parent) }
709
+ end
710
+
711
+ # Recursively tries to determine the parent for a given URI.
712
+ #
713
+ # +uri+:: URI that is tested for whether it has the given parent URI.
714
+ # +parent+:: Parent URI.
715
+ def self.has_parent?(uri, parent)
716
+ if @@parent_properties.has_key?(uri) then
717
+ if @@parent_properties[uri] == parent then
718
+ return true
719
+ end
720
+ return has_parent?(@@parent_properties[uri], parent)
721
+ end
722
+ return false
723
+ end
724
+
725
+ private
726
+ @@parent_properties = { RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0010') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0075') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0012') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0014') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0015') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0068') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0021') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0023') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0068') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0034') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0036') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0041') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0069') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0042') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0043') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0044') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0046') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0047') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0070') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0051') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0067') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0053') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0069') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0078') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0066') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0079') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0075') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0004') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0005') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0006') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0007') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0008') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0009') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0013') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0064') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0022') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0063') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0024') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0063') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0025') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0026') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0027') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0029') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0062') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0030') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0062') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0031') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0032') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0037') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0065') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0038') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0039') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0048') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0061') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0049') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0061') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0050') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0054') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0055') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0056') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0057') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0060') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0072') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0071') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0073') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0071') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0074') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0071') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0076') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') , RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0077') => RDF::URI.new('http://www.biointerchange.org/gvf1o#GVF1_0059') }
727
+
728
+ end
729
+
730
+ end