biointerchange 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -71,14 +71,32 @@ protected
71
71
  feature_no = 0
72
72
 
73
73
  # Note: there is a `while true` statement at the end of this block!
74
+ fasta_block = false
75
+ fasta_id = nil
76
+ fasta_comment = nil
77
+ fasta_sequence = nil
74
78
  begin
75
79
  line = gff3.readline
76
80
  line.chomp!
77
81
 
78
82
  next if line.start_with?('#') and not line.start_with?('##')
79
83
 
80
- # Ignore sequences for now.
81
- break if line.start_with?('##FASTA')
84
+ if line.start_with?('##FASTA') then
85
+ fasta_block = true
86
+ next
87
+ end
88
+
89
+ if fasta_block then
90
+ if line.start_with?('>') and line.length > 1 then
91
+ @feature_set.add(BioInterchange::Genomics::GFF3FeatureSequence.new(fasta_id, fasta_sequence, fasta_comment)) if fasta_id and not fasta_sequence.empty?()
92
+ fasta_id = line[1..-1].strip
93
+ fasta_id, fasta_comment = fasta_id.split(' ', 2)
94
+ fasta_sequence = ''
95
+ else
96
+ fasta_sequence << line.strip
97
+ end
98
+ next
99
+ end
82
100
 
83
101
  unless line.start_with?('##') then
84
102
  add_feature(@feature_set, line)
@@ -93,6 +111,7 @@ protected
93
111
  end
94
112
  rescue EOFError
95
113
  # Expected. Do nothing, since just the end of the file/input has been reached.
114
+ @feature_set.add(BioInterchange::Genomics::GFF3FeatureSequence.new(fasta_id, fasta_sequence, fasta_comment)) if fasta_id and not fasta_sequence.empty?()
96
115
  break
97
116
  end while true
98
117
 
@@ -186,7 +205,7 @@ protected
186
205
  # +attribute_string+:: key/value string (column 9) as seen in a GFF3/GVF file
187
206
  def split_attributes(attribute_string)
188
207
  attributes = {}
189
- attribute_string.split(';').map { |assignment| match = assignment.match(/([^=]+)=(.+)/) ; { match[1].strip => match[2].split(',').map { |value| value.strip } } }.map { |hash| hash.each_pair { |tag,list| attributes[tag] = list } }
208
+ attribute_string.split(';').map { |assignment| match = assignment.match(/([^=]+)=(.+)/) ; { match[1].strip => match[2].split(',').map { |value| URI.decode(value.strip) } } }.map { |hash| hash.each_pair { |tag,list| attributes[tag] = list } }
190
209
  attributes
191
210
  end
192
211
 
@@ -0,0 +1,30 @@
1
+ module BioInterchange::Genomics
2
+
3
+ class Locations
4
+
5
+ def self.reg2bin(region_begin, region_end)
6
+ region_end -= 1
7
+ return ((1 << 15) - 1) / 7 + (region_begin >> 14) if (region_begin >> 14 == region_end >> 14)
8
+ return ((1<<12)-1)/7 + (region_begin >> 17) if (region_begin >> 17 == region_end >> 17)
9
+ return ((1<<9)-1)/7 + (region_begin >> 20) if (region_begin >> 20 == region_end >> 20)
10
+ return ((1<<6)-1)/7 + (region_begin >> 23) if (region_begin >> 23 == region_end >> 23)
11
+ return ((1<<3)-1)/7 + (region_begin >> 26) if (region_begin >> 26 == region_end >> 26)
12
+ return 0
13
+ end
14
+
15
+ def self.reg2bins(region_begin, region_end)
16
+ bins = [ 0 ]
17
+ region_end -= 1
18
+ [[26, 1], [23, 9], [20, 73], [17, 585], [14, 4681]].each { |pair|
19
+ power, offset = pair
20
+ ((offset + (region_begin >> power))..(offset + (region_end >> power))).each { |k|
21
+ bins << k
22
+ }
23
+ }
24
+ return bins
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+
@@ -0,0 +1,1072 @@
1
+ require 'rdf'
2
+ module BioInterchange
3
+
4
+ class GFVO
5
+
6
+ # An alignment is a sequence alignment between a "Feature" class instance and a "Target" class instance. The alignment is a list of one or more "Alignment Operation" instances that capture alignment matches, gaps and frameshifts (see "The Gap Attribute", http://sequenceontology.org/resources/gff3.html).
7
+ # (http://www.biointerchange.org/gfvo#alignment)
8
+ def self.alignment
9
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#alignment')
10
+ end
11
+
12
+ # Annotation object properties associated with instances of the class hierarchy with root class "Annotation". For properties related to the core genomic data class "Feature", see "feature datatype property" or "feature object property".
13
+ # (http://www.biointerchange.org/gfvo#annotationObjectProperty)
14
+ def self.annotation_object_property
15
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty')
16
+ end
17
+
18
+ # Tag name/value pair attributes of a feature.
19
+ # (http://www.biointerchange.org/gfvo#attribute)
20
+ def self.attribute
21
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#attribute')
22
+ end
23
+
24
+ # Further information about the "Method" that is related to an attribute.
25
+ # (http://www.biointerchange.org/gfvo#attributeMethod)
26
+ def self.attribute_method
27
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#attributeMethod')
28
+ end
29
+
30
+ # Denotes abstract chromosome representations for capturing variants that appear on the same chromosome of a polyploid organism.
31
+ # (http://www.biointerchange.org/gfvo#chromosome)
32
+ def self.chromosome
33
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#chromosome')
34
+ end
35
+
36
+ # Relationship that describes which features belong to a feature set.
37
+ # (http://www.biointerchange.org/gfvo#contains)
38
+ def self.contains
39
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#contains')
40
+ end
41
+
42
+ # Data source origin of the feature.
43
+ # (http://www.biointerchange.org/gfvo#dataSource)
44
+ def self.data_source
45
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#dataSource')
46
+ end
47
+
48
+ # A database cross-reference to associate a feature or its structured pragma metadata in GVF to a representation in another database.
49
+ # (http://www.biointerchange.org/gfvo#dbxref)
50
+ def self.dbxref
51
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#dbxref')
52
+ end
53
+
54
+ # Denotes a temporal relationship between "Feature" class instances. This property can be used to describe multiple open reading frames of polycistronic genes.
55
+ # (http://www.biointerchange.org/gfvo#derivesFrom)
56
+ def self.derives_from
57
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#derivesFrom')
58
+ end
59
+
60
+ # An effect of a particular feature variant.
61
+ # (http://www.biointerchange.org/gfvo#effect)
62
+ def self.effect
63
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#effect')
64
+ end
65
+
66
+ # Properties that are directly associated with "Feature" class instances. For properties related to "Reference", "Variant", or other genomic annotation classes, see "feature annotation datatype property" or "feature annotation object property".
67
+ # (http://www.biointerchange.org/gfvo#featureObjectProperty)
68
+ def self.feature_object_property
69
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty')
70
+ end
71
+
72
+ # Explicit link-out to one or more ontologies that have been used for describing features. This is a meta comment about the URIs that link out to SO/SOFA or other ontologies.
73
+ # (http://www.biointerchange.org/gfvo#featureOntology)
74
+ def self.feature_ontology
75
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#featureOntology')
76
+ end
77
+
78
+ # A term that is describing the sequence feature that is being affected.
79
+ # (http://www.biointerchange.org/gfvo#featureType)
80
+ def self.feature_type
81
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#featureType')
82
+ end
83
+
84
+ # Denotes the source of genomic data (on a cell-type level). Valid object assignments are individuals of the "Genomic Source" enumeration class.
85
+ # (http://www.biointerchange.org/gfvo#genomicSource)
86
+ def self.genomic_source
87
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#genomicSource')
88
+ end
89
+
90
+ # Determines the genotype as observed in an individual.
91
+ # (http://www.biointerchange.org/gfvo#genotype)
92
+ def self.genotype
93
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#genotype')
94
+ end
95
+
96
+ # Links to information about an individual.
97
+ # (http://www.biointerchange.org/gfvo#individual)
98
+ def self.individual
99
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#individual')
100
+ end
101
+
102
+ # The locus determines the genomic position of an genomic object. The FALDO "Region" class can denote genomic feature's start, stop, and strand properties, it can express fuzzy genomic ranges if exact genomic coordinates are unknown. For "Landmark" class instances, the locus provides the start and end coordinates of the landmark.
103
+ # (http://www.biointerchange.org/gfvo#locus)
104
+ def self.locus
105
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#locus')
106
+ end
107
+
108
+ # A cross-reference to an ontology term that is associated with a feature. For instances of the "Variant" class, the associated ontology term must be a Variant Ontology term (VariO; http://purl.obolibrary.org/obo/VariO_0001 or subclasses thereof).
109
+ # (http://www.biointerchange.org/gfvo#ontologyTerm)
110
+ def self.ontology_term
111
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#ontologyTerm')
112
+ end
113
+
114
+ # Link out to a parent feature.
115
+ # (http://www.biointerchange.org/gfvo#parent)
116
+ def self.parent
117
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#parent')
118
+ end
119
+
120
+ # Further information about an individual's phenotype. Applies only to single individual sets.
121
+ # (http://www.biointerchange.org/gfvo#phenotypeDescription)
122
+ def self.phenotype_description
123
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#phenotypeDescription')
124
+ end
125
+
126
+ # Used scoring method, which is described in more detail by a "Method" class instance.
127
+ # (http://www.biointerchange.org/gfvo#scoreMethod)
128
+ def self.score_method
129
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#scoreMethod')
130
+ end
131
+
132
+ # Establishes the landmark on which the feature or breakpoint is located. A landmark is typically a chromosome, scaffold or contig, but can be any other genomic object (DNA, RNA, protein) in principle.
133
+ # (http://www.biointerchange.org/gfvo#seqid)
134
+ def self.seqid
135
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#seqid')
136
+ end
137
+
138
+ # Referene to a "Sequence Annotation" that describes either the sequence identified by a feature, or if particular sub-classes of "Sequence Annotation" are used, it describes a reference sequence, variant or anchestral allele (see "Reference", "Variant", "Ancestral Allele").
139
+ # (http://www.biointerchange.org/gfvo#sequenceAnnotation)
140
+ def self.sequence_annotation
141
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#sequenceAnnotation')
142
+ end
143
+
144
+ # Effect of a sequence alteration on a sequence feature.
145
+ # (http://www.biointerchange.org/gfvo#sequenceVariant)
146
+ def self.sequence_variant
147
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#sequenceVariant')
148
+ end
149
+
150
+ # A property that is directly associated with the "Set" class. Immediate sub-properties of this property are independent to specific specifications such as GFF3, GTF, GVF or VCF. Not all sub-properties can be preserved when carrying out operations between multiple "Set" class instances. For example, the "sex" property applies to single individual sets and can only be kept in a set union between multiple "Set" class instances if all involved instances agree on this property. For genomic feature and variant related properties, see "record object property" and "record datatype property".
151
+ # (http://www.biointerchange.org/gfvo#setObjectProperty)
152
+ def self.set_object_property
153
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#setObjectProperty')
154
+ end
155
+
156
+ # Further information about the algorithm/methodologies used.
157
+ # (http://www.biointerchange.org/gfvo#sourceMethod)
158
+ def self.source_method
159
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#sourceMethod')
160
+ end
161
+
162
+ # NCBI Taxonomy Ontology "NCBITaxon_1" (or sub-classes) instance that denotes the species for a feature set.
163
+ # (http://www.biointerchange.org/gfvo#species)
164
+ def self.species
165
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#species')
166
+ end
167
+
168
+ # Tag name/value pair attributes that are not captured by the GVF specification.
169
+ # (http://www.biointerchange.org/gfvo#structuredAttributes)
170
+ def self.structured_attributes
171
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#structuredAttributes')
172
+ end
173
+
174
+ # Identifies the target that the features aligns to.
175
+ # (http://www.biointerchange.org/gfvo#target)
176
+ def self.target
177
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#target')
178
+ end
179
+
180
+ # Further information about the associated attribute(s).
181
+ # (http://www.biointerchange.org/gfvo#targetAttributeMethod)
182
+ def self.target_attribute_method
183
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#targetAttributeMethod')
184
+ end
185
+
186
+ # Technology platform that was used to derive the feature.
187
+ # (http://www.biointerchange.org/gfvo#technologyPlatform)
188
+ def self.technology_platform
189
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#technologyPlatform')
190
+ end
191
+
192
+ # Type of the feature, which is a child entry of sequence_feature (SO:0000110) of the full Sequence Ontology (SO).
193
+ # (http://www.biointerchange.org/gfvo#type)
194
+ def self.type
195
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#type')
196
+ end
197
+
198
+ # Sequence context of a feature on the positive strand (forward strand) on the 3' end. A valid sequence context is denoted by a string of one or more concatenated letters A, C, G, or T.
199
+ # (http://www.biointerchange.org/gfvo#3primeContext)
200
+ def self.a_context
201
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#3primeContext')
202
+ end
203
+
204
+ # Secondary name of a feature besides the primary feature ID. The secondary name can be a HGVS/ISCN nomenclature name, but not a cross-reference to a database (e.g. dbSNP, OMIM). Cross-references should be made using the "dbxref" property.
205
+ # (http://www.biointerchange.org/gfvo#alias)
206
+ def self.alias
207
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#alias')
208
+ end
209
+
210
+ # Amino acid in the reference genome that overlaps with a variant's genome coordinates.
211
+ # (http://www.biointerchange.org/gfvo#aminoAcid)
212
+ def self.amino_acid
213
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#aminoAcid')
214
+ end
215
+
216
+ # Annotation datatype properties associated with instances of the class hierarchy with root class "Annotation". For properties related to the core genomic data class "Feature", see "feature datatype property" or "feature object property".
217
+ # (http://www.biointerchange.org/gfvo#annotationDatatypeProperty)
218
+ def self.annotation_datatype_property
219
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty')
220
+ end
221
+
222
+ # Undocumented in GVF specification. Even though the property's semantics are undocumented, it is still included in the ontology in order to reflect the data values that might be encoded in GVF files.
223
+ # (http://www.biointerchange.org/gfvo#averageCoverage)
224
+ def self.average_coverage
225
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#averageCoverage')
226
+ end
227
+
228
+ # Name of a genome assembly build that denotes the provenance of genomic features and variants in a "Set". For example, 'GRCh37', 'NCBI 36', 'FlyBase r4.1', or 'hg19'. If possible, the patch level of the assembly build should be included, such as 'GRCh37.p7'.
229
+ # (http://www.biointerchange.org/gfvo#build)
230
+ def self.build
231
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#build')
232
+ end
233
+
234
+ # Describes the codon from the reference sequence whose coordinates overlap with this variant. A valid codon description is a string of three -- or multiples thereof -- concatenated letters A, C, G, or T.
235
+ # (http://www.biointerchange.org/gfvo#codon)
236
+ def self.codon
237
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#codon')
238
+ end
239
+
240
+ # Comments should be made using "http://www.w3.org/2000/01/rdf-schema#comment".This datatype property only exists to redirect the focus to RDF Schema for commenting, since it might be expected that comments are modeled similar to other datatype properties involving "Data Source", "Method", "Phenotype Description" or "Technology Platform".
241
+ # (http://www.biointerchange.org/gfvo#comment)
242
+ def self.comment
243
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#comment')
244
+ end
245
+
246
+ # Features that are affected by this sequence alteration effect. This can be an external feature identifier, such as an Ensembl gene/transcript identifier.
247
+ # (http://www.biointerchange.org/gfvo#feature)
248
+ def self.feature
249
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#feature')
250
+ end
251
+
252
+ # Property that is directly associated with a "Feature" class instance. For properties related to "Reference", "Variant", or other genomic annotation classes, see "feature annotation datatype property" or "feature annotation object property".
253
+ # (http://www.biointerchange.org/gfvo#featureDatatypeProperty)
254
+ def self.feature_datatype_property
255
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty')
256
+ end
257
+
258
+ # Datatype properties related to "File" class instances. Subclasses of this property are used for denoting data that is specific to files only and which is only preserved as a means to encode for all data items defined by the GFF3, GTF, GVF and VCF specifications. These properties cannot be carried over into the result of set operations (s.a. union) between "File"/"Set" class instances. Keeping these properties in the result set between set operations may result in wrong annotations or contradictions (e.g., mutliple assignment of different versions or dates).
259
+ # (http://www.biointerchange.org/gfvo#fileDatatypeProperty)
260
+ def self.file_datatype_property
261
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty')
262
+ end
263
+
264
+ # Creation date of the data file whose genomic data is captured by the associated "File" instance.
265
+ # (http://www.biointerchange.org/gfvo#fileDate)
266
+ def self.file_date
267
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#fileDate')
268
+ end
269
+
270
+ # Proprietary version of the file or its contents whose genomic data is associated with a "File" instance.
271
+ # (http://www.biointerchange.org/gfvo#fileVersion)
272
+ def self.file_version
273
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#fileVersion')
274
+ end
275
+
276
+ # Frequency of a variant in a population. The population is determined by the "Set" in which the "Variant" resides.
277
+ # (http://www.biointerchange.org/gfvo#frequency)
278
+ def self.frequency
279
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#frequency')
280
+ end
281
+
282
+ # Version of the GFF3 specification that defines the contents captured by the "File" class instance. The version number should be greater or equal than 3.0, but less than 4.0. For GFF2/GTF version number assignment, see the "gtf version" datatype property.
283
+ # (http://www.biointerchange.org/gfvo#gffVersion)
284
+ def self.gff_version
285
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#gffVersion')
286
+ end
287
+
288
+ # Version of the GTF specification that defines the contents captured by the "File" class instance. The version number should be greater or equal than 2.0, but less than 3.0. This number derives from the fact that GTF files are equivalent to GFF2 files. GTF/GFF2 files are incompatible with the GFF3 specification. For GFF3 version number assignment, see the "gff version" datatype property.
289
+ # (http://www.biointerchange.org/gfvo#gtfVersion)
290
+ def self.gtf_version
291
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#gtfVersion')
292
+ end
293
+
294
+ # Version of the GVF specification that defines the contents captured by the "File" class instance. The version number should be greater or equal than 1.0, but less than 2.0. GVF files usually make a statement about their underlying GFF3 specification that they rely on too, which should be encoded using the "gff version" datatype property.
295
+ # (http://www.biointerchange.org/gfvo#gvfVersion)
296
+ def self.gvf_version
297
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#gvfVersion')
298
+ end
299
+
300
+ # A unique identifier for the feature within the feature set (a "Set"/"File" class instance). The unique identifier is important when dealing with GFF3, GTF, GVF or VCF files as a stand in object that makes the aggregation and separation of genomic feature and variant information possible. In RDF, the URI of subject should be used primarily, provided that its URI can be considered stable.
301
+ # (http://www.biointerchange.org/gfvo#id)
302
+ def self.id
303
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#id')
304
+ end
305
+
306
+ # Truth value describing whether the feature is circular or not. This can be used to describe, for example, circular DNA as being found in bacteria or viruses. It can also be applied to mitochondrial DNA or plastid DNA, where applicable.
307
+ # (http://www.biointerchange.org/gfvo#isCircular)
308
+ def self.is_circular
309
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#isCircular')
310
+ end
311
+
312
+ # Indicates whether this particular feature is phased. Used to encode "##phased-genotypes" statements in GFF3, but can be appropriated freely. It is also a property of GVF variants, even though the GVF specification is unclear on its exact usage details.
313
+ # (http://www.biointerchange.org/gfvo#isPhased)
314
+ def self.is_phased
315
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#isPhased')
316
+ end
317
+
318
+ # Name of a feature, which can be used for display purposes. The name is not a unique property among features in a "Set".
319
+ # (http://www.biointerchange.org/gfvo#name)
320
+ def self.name
321
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#name')
322
+ end
323
+
324
+ # Free text notes should be made using "http://www.w3.org/2000/01/rdf-schema#comment".This datatype property only exists to redirect the focus to RDF Schema for annotating features with notes, since it might be expected that a note is similarly modeled to other datatype properties of the "Feature" class.
325
+ # (http://www.biointerchange.org/gfvo#note)
326
+ def self.note
327
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#note')
328
+ end
329
+
330
+ # Phase of the feature, if it is a CDS. Called "frame" in GTF. A feature's phase can be either 0, 1, or 2.
331
+ # (http://www.biointerchange.org/gfvo#phase)
332
+ def self.phase
333
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#phase')
334
+ end
335
+
336
+ # A phred-scaled quality score for the reference seuence; -10log_10 prob(no variant). A phred-scaled quality score for a variant sequence; -10log_10 prob(variant call is wrong). High scores indicate high confidence calls. This is a property associated with VCF data. E-values and P-values of features should be expressed using the "score" datatype property.
337
+ # (http://www.biointerchange.org/gfvo#phredScore)
338
+ def self.phred_score
339
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#phredScore')
340
+ end
341
+
342
+ # Type of technology used to gather the variant data. The GVF specification's list of available classes is naturally incomplete. The range of this property is therefore unrestricted due to its open specification.
343
+ # (http://www.biointerchange.org/gfvo#platformClass)
344
+ def self.platform_class
345
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#platformClass')
346
+ end
347
+
348
+ # Sequencer or other machine used to collect the variant data. The GVF specification's list of available platforms is naturally incomplete. The range of this property is therefore unrestricted due to its open specification.
349
+ # (http://www.biointerchange.org/gfvo#platformName)
350
+ def self.platform_name
351
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#platformName')
352
+ end
353
+
354
+ # Undocumented in GVF specification. Even though the property's semantics are undocumented, it is still included in the ontology in order to reflect the data values that might be encoded in GVF files.
355
+ # (http://www.biointerchange.org/gfvo#readIPairSpan)
356
+ def self.read_pair_span
357
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#readIPairSpan')
358
+ end
359
+
360
+ # Undocumented in GVF specification. Even though the property's semantics are undocumented, it is still included in the ontology in order to reflect the data values that might be encoded in GVF files.
361
+ # (http://www.biointerchange.org/gfvo#readLength)
362
+ def self.read_length
363
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#readLength')
364
+ end
365
+
366
+ # Number of reads that are supporting a variant. Valid values are integers greater or equal than zero.
367
+ # (http://www.biointerchange.org/gfvo#reads)
368
+ def self.reads
369
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#reads')
370
+ end
371
+
372
+ # Score of the feature. For example, an E-value for sequence similarity features or a P-value for ab initio gene prediction features. Phred scores that are associated with reference- or variant-sequences should be encoded using the "phred score" datatype property.
373
+ # (http://www.biointerchange.org/gfvo#score)
374
+ def self.score
375
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#score')
376
+ end
377
+
378
+ # 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.
379
+ # (http://www.biointerchange.org/gfvo#sequence)
380
+ def self.sequence
381
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#sequence')
382
+ end
383
+
384
+ # A property that is directly associated with the "Set" class. Immediate sub-properties of this property are independent to specific specifications such as GFF3, GTF, GVF or VCF. Not all sub-properties can be preserved when carrying out operations between multiple "Set" class instances. For example, the "build" property can only be kept in a set union between multiple "Set" class instances if all involved instances agree on this property. For genomic feature and variant related properties, see "record object property" and "record datatype property".
385
+ # (http://www.biointerchange.org/gfvo#setDatatypeProperty)
386
+ def self.set_datatype_property
387
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#setDatatypeProperty')
388
+ end
389
+
390
+ # 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.
391
+ # (http://www.biointerchange.org/gfvo#source)
392
+ def self.source
393
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#source')
394
+ end
395
+
396
+ # A span denotes the number of continuous nucleotides or amino acids an "Alignment Operation" is annotating. A span can be of length zero or greater.
397
+ # (http://www.biointerchange.org/gfvo#span)
398
+ def self.span
399
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#span')
400
+ end
401
+
402
+ # Tag name of a feature attribute. "Attribute" and "Structured Attribute" instances are key/value(s) pairs, The key in that assignment is referred to as the "tag". Custom annotations, i.e. attributes that are not defined by the file format specifications, should use lowercase tags. Future extensions of the specifications might introduce new attributes though, which can be encoded using custom annotations by RDFization tools. The tag should therefore not be treated as strictly lowercase when dealing with custom annotations.
403
+ # (http://www.biointerchange.org/gfvo#tag)
404
+ def self.tag
405
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#tag')
406
+ end
407
+
408
+ # Total number of reads for a "Sequenced Individual". When merging "Set"/"File" class instances, it should be noted whether the total number of reads needs to be updated based on the identity of sequenced individuals in the involved sets.
409
+ # (http://www.biointerchange.org/gfvo#totalReads)
410
+ def self.total_reads
411
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#totalReads')
412
+ end
413
+
414
+ # Version of the VCF specification that defines the contents captured by the "File" class instance. The version number should be greater or equal than 4.0, but less than 5.0.
415
+ # (http://www.biointerchange.org/gfvo#vcfVersion)
416
+ def self.vcf_version
417
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#vcfVersion')
418
+ end
419
+
420
+ # An alignment operation captures the type of alignment (see "Alignment" enumeration class) and alignment length between a reference sequence and target sequence. This relationship is typically expressed between a "Feature" class instance and a "Target" class instance. Note that an "Alignment Operation" is a list, where the order of the alignment operations is of significance.
421
+ # (http://www.biointerchange.org/gfvo#AlignmentOperation)
422
+ def self.Alignment_Operation
423
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation')
424
+ end
425
+
426
+ # Denotes an ancestral allele of a feature. Reference sequences and genomic variants are expressed by the "Reference" and "Variant" classes respectively.
427
+ # (http://www.biointerchange.org/gfvo#AncestralAllele)
428
+ def self.Ancestral_Allele
429
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#AncestralAllele')
430
+ end
431
+
432
+ # A feature annotation is a class whose instances are used as composites in conjunction with "Feature" class instances. The "Feature Annotation" class is typically not used as type annotation. It rather denotes that its subclasses are to be used for extending genomic features with additional information.
433
+ # (http://www.biointerchange.org/gfvo#Annotation)
434
+ def self.Annotation
435
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation')
436
+ end
437
+
438
+ # A "Data Source" based on array-comparative genomic hybridization.
439
+ # (http://www.biointerchange.org/gfvo#ArrayComparativeGenomicHybridization)
440
+ def self.Array_Comparative_Genomic_Hybridization
441
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#ArrayComparativeGenomicHybridization')
442
+ end
443
+
444
+ # An attribute represents a tag/value pair that is not covered by either GFF3, GTF, GVF or VCF specification. For example, lowercase tags in GFF3 are permitted to allow data providers to provide additional information about a genomic feature, variant, or its meta-data. Tag/value pair attributes that are within the aforementioned specifications are expressed using classes such as "Variant", "Breakpoint" or "Technology Platform". Attributes whose value is a composite type are expressed by the specialization "Structured Attribute",
445
+ # (http://www.biointerchange.org/gfvo#Attribute)
446
+ def self.Attribute
447
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Attribute')
448
+ end
449
+
450
+ # A breakpoint describes the source or destination of a zero-length sequence alteration. These alterations are typically insertions, deletions or translocations according to the GVF specification (see "Breakpoint_detail" in http://sequenceontology.org/resources/gvf.html).
451
+ # (http://www.biointerchange.org/gfvo#Breakpoint)
452
+ def self.Breakpoint
453
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Breakpoint')
454
+ end
455
+
456
+ # A chromosome is an abstract representation of an unnamed chromosome to represent ploidy within a data set. A "Chromosome" instance is used for for denoting the locus of phased genotypes. For placing genomic features ("Feature" class instances) on a chromosome, contig, scaffold, etc., please see the "Landmark" class.
457
+ # (http://www.biointerchange.org/gfvo#Chromosome)
458
+ def self.Chromosome
459
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Chromosome')
460
+ end
461
+
462
+ # A "Data Source" based on DNA microarray probes.
463
+ # (http://www.biointerchange.org/gfvo#DNAMicroarray)
464
+ def self.DNA_Microarray
465
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#DNAMicroarray')
466
+ end
467
+
468
+ # A "Data Source" based on DNA sequences.
469
+ # (http://www.biointerchange.org/gfvo#DNASequence)
470
+ def self.DNA_Sequence
471
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#DNASequence')
472
+ end
473
+
474
+ # Provides information about the source of the data. For example, it can link out to actual sequences associated with "Feature" individuals in a "Set".
475
+ # (http://www.biointerchange.org/gfvo#DataSource)
476
+ def self.Data_Source
477
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource')
478
+ end
479
+
480
+ # Describing the effect of a feature "Variant" class instance.
481
+ # (http://www.biointerchange.org/gfvo#Effect)
482
+ def self.Effect
483
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Effect')
484
+ end
485
+
486
+ # The feature class captures information about genomic sequence features. A genomic feature can be a large object, such as a chromosome or contig, down to single base-pair reference or variant alleles. A feature class instance is a composite of further information that is encoded using "Attribute", "Reference", "Variation" and other sub-classes of "Feature Annotation".
487
+ # (http://www.biointerchange.org/gfvo#Feature)
488
+ def self.Feature
489
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Feature')
490
+ end
491
+
492
+ # A file represents the contents of a GFF3, GTF, GVF or VCF file. It can capture genomic meta-data that is specific to any of these file formats. The result of unions, intersections or other operations between "File" class instances should be capture with the generic "Set" class, which is format independent.
493
+ # (http://www.biointerchange.org/gfvo#File)
494
+ def self.File
495
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#File')
496
+ end
497
+
498
+ # Denotes a frameshift forward in the reference sequence. The reference sequence is denoted by a "Landmark" whilst the aligned target sequence is an instance of the "Target" class.
499
+ # (http://www.biointerchange.org/gfvo#ForwardReferenceSequenceFrameshift)
500
+ def self.Forward_Reference_Sequence_Frameshift
501
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#ForwardReferenceSequenceFrameshift')
502
+ end
503
+
504
+ # Details about the fragment-read (single-end read) sequencing technology used to gather the data in a set.
505
+ # (http://www.biointerchange.org/gfvo#FragmentReadPlatform)
506
+ def self.Fragment_Read_Platform
507
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#FragmentReadPlatform')
508
+ end
509
+
510
+ # The germline feature class captures information about genomic sequence features arising from germline cells.
511
+ # (http://www.biointerchange.org/gfvo#GermlineFeature)
512
+ def self.Germline_Feature
513
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#GermlineFeature')
514
+ end
515
+
516
+ # A sequence alteration with hemizygous alleles.
517
+ # (http://www.biointerchange.org/gfvo#HemizygousVariant)
518
+ def self.Hemizygous_Variant
519
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#HemizygousVariant')
520
+ end
521
+
522
+ # A sequence alteration with heterozygous alleles.
523
+ # (http://www.biointerchange.org/gfvo#HeterozygousVariant)
524
+ def self.Heterozygous_Variant
525
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#HeterozygousVariant')
526
+ end
527
+
528
+ # A sequence alteration with homozygous alleles.
529
+ # (http://www.biointerchange.org/gfvo#HomozygousVariant)
530
+ def self.Homozygous_Variant
531
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#HomozygousVariant')
532
+ end
533
+
534
+ # A landmark establishes a coordinate system for features. Landmarks can be chromosomes, contigs, scaffolds or other constructs that can harbor "Feature" class instances. For expressing ploidy within a data set, please refer to the "Chromosome" class.
535
+ # (http://www.biointerchange.org/gfvo#Landmark)
536
+ def self.Landmark
537
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Landmark')
538
+ end
539
+
540
+ # Denotes a match between the reference sequence and target sequence. The reference sequence is denoted by a "Landmark" whilst the aligned target sequence is an instance of the "Target" class.
541
+ # (http://www.biointerchange.org/gfvo#Match)
542
+ def self.Match
543
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Match')
544
+ end
545
+
546
+ # A chromosome is an abstract representation of an unnamed chromosome to represent ploidy within a data set. A "Paternal Chromosome" instance is used for denoting the locus of phased genotypes on a chromosome inherited from the mother. For placing genomic features ("Feature" class instances) on a chromosome, contig, scaffold, etc., please see the "Landmark" class.
547
+ # (http://www.biointerchange.org/gfvo#MaternalChromosome)
548
+ def self.Maternal_Chromosome
549
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#MaternalChromosome')
550
+ end
551
+
552
+ # Information about the used scoring algorithm or method.
553
+ # (http://www.biointerchange.org/gfvo#Method)
554
+ def self.Method
555
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Method')
556
+ end
557
+
558
+ # Details about the paired-end read sequencing technology used to gather the data in a set.
559
+ # (http://www.biointerchange.org/gfvo#PairedEndReadPlatform)
560
+ def self.Paired_End_Read_Platform
561
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#PairedEndReadPlatform')
562
+ end
563
+
564
+ # A chromosome is an abstract representation of an unnamed chromosome to represent ploidy within a data set. A "Paternal Chromosome" instance is used for denoting the locus of phased genotypes on a chromosome inherited from the father. For placing genomic features ("Feature" class instances) on a chromosome, contig, scaffold, etc., please see the "Landmark" class.
565
+ # (http://www.biointerchange.org/gfvo#PaternalChromosome)
566
+ def self.Paternal_Chromosome
567
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#PaternalChromosome')
568
+ end
569
+
570
+ # A phenotype description represents additional information about a sequenced individual's phenotype. A sequenced individual is represented by instances of the "Sequenced Individual" or its decendants (e.g., "Sequenced Female").
571
+ # (http://www.biointerchange.org/gfvo#PhenotypeDescription)
572
+ def self.Phenotype_Description
573
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#PhenotypeDescription')
574
+ end
575
+
576
+ # A prenatal feature is purportedly associated with prenatal cells; the GVF specification declares this feature type under the prama directive "##genomic-source", but does not describe its semantics and the referenced Logical Observation Identifiers Names and Codes (LOINC, http://loinc.org), do not define the meaning or intended usage of the term "prenatal" either.
577
+ # (http://www.biointerchange.org/gfvo#PrenatalFeature)
578
+ def self.Prenatal_Feature
579
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#PrenatalFeature')
580
+ end
581
+
582
+ # A "Data Source" based on RNA sequences.
583
+ # (http://www.biointerchange.org/gfvo#RNASequence)
584
+ def self.RNA_Sequence
585
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#RNASequence')
586
+ end
587
+
588
+ # Denotes the reference sequence of a feature. The reference sequence is of importance when dealing with genomic variation data, which is expressed by the "Variant" class.
589
+ # (http://www.biointerchange.org/gfvo#Reference)
590
+ def self.Reference
591
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Reference')
592
+ end
593
+
594
+ # Denotes a gap in the reference sequence for an alignment. The reference sequence is denoted by a "Landmark" whilst the aligned target sequence is an instance of the "Target" class.
595
+ # (http://www.biointerchange.org/gfvo#ReferenceSequenceGap)
596
+ def self.Reference_Sequence_Gap
597
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#ReferenceSequenceGap')
598
+ end
599
+
600
+ # Denotes a frameshift backwards (reverse) in the reference sequence. The reference sequence is denoted by a "Landmark" whilst the aligned target sequence is an instance of the "Target" class.
601
+ # (http://www.biointerchange.org/gfvo#ReverseReferenceSequenceFrameshift)
602
+ def self.Reverse_Reference_Sequence_Frameshift
603
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#ReverseReferenceSequenceFrameshift')
604
+ end
605
+
606
+ # A sequence annotation provides information on sequences associated with a "Feature" class instance or its descendants (s.a. "Germline Feature" or "Somatic Feature"). Specialized sub-classes are provided to denote reference sequences represented by "Reference" class instances, variants represented by "Variant" class instances, and "Ancestral Allele" class instances.
607
+ # (http://www.biointerchange.org/gfvo#SequenceAnnotation)
608
+ def self.Sequence_Annotation
609
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation')
610
+ end
611
+
612
+ # Aggregated sequencing information for a particular female individual. A female is defined as an individual producing ova.
613
+ # (http://www.biointerchange.org/gfvo#SequencedFemale)
614
+ def self.Sequenced_Female
615
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedFemale')
616
+ end
617
+
618
+ # Aggregated sequencing information for a particular individual that contains both male and female gemetes.
619
+ # (http://www.biointerchange.org/gfvo#SequencedHermaphrodite)
620
+ def self.Sequenced_Hermaphrodite
621
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedHermaphrodite')
622
+ end
623
+
624
+ # Aggregated sequencing information for a particular individual. Unless a sub-type of this class is used as instance type, s.a. "Sequenced Female", the sex of the individual is considered to be undetermined.
625
+ # (http://www.biointerchange.org/gfvo#SequencedIndividual)
626
+ def self.Sequenced_Individual
627
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedIndividual')
628
+ end
629
+
630
+ # Aggregated sequencing information for a particular male individual. A male is defined as an individual producing spermatozoa.
631
+ # (http://www.biointerchange.org/gfvo#SequencedMale)
632
+ def self.Sequenced_Male
633
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedMale')
634
+ end
635
+
636
+ # A set is a container for genomic sequence features and related information that is independent of data provenance. A set may contain information about any genomic features including -- but not limited to -- contents of GFF3, GTF, GVF and VCF files. The latter are better represented by "File" class instances, whereas the result of unions or intersections between different "File" class instances should be captured within this format-independent "Set" class.
637
+ # (http://www.biointerchange.org/gfvo#Set)
638
+ def self.Set
639
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Set')
640
+ end
641
+
642
+ # The somatic feature class captures information about genomic sequence features arising from somatic cells.
643
+ # (http://www.biointerchange.org/gfvo#SomaticFeature)
644
+ def self.Somatic_Feature
645
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#SomaticFeature')
646
+ end
647
+
648
+ # A structured attribute denotes a tag/value pair where the value is a composite, but which is not defined in the GVF specification. The GVF specification does not explicitly permit user-defined structured attributes (see "Structured Pragmas" in http://sequenceontology.org/resources/gvf.html), but it is conceivable that an RDFization tool might support this use case. For some loosly defined structured data in GVF, the "Structured Attribute" class is used as well to capture the non-exhaustive list of possible data assignments of the GVF specification.
649
+ # (http://www.biointerchange.org/gfvo#StructuredAttribute)
650
+ def self.Structured_Attribute
651
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#StructuredAttribute')
652
+ end
653
+
654
+ # A target expresses the relationship between a "Feature" instance and an alignment. In GFF3, the alignment can be a nucleotide-to-nucleotide or protein-to-nucleotide (see "The Gap Attribute", http://sequenceontology.org/resources/gff3.html), but this restriction is not enforced here. Note that the object property "alignment" links out to a list of "Alignment Operation" class instances, where only the first operation in that list is referenced via the "alignment" property. The remainder of operations can be accessed by stepping through the list.
655
+ # (http://www.biointerchange.org/gfvo#Target)
656
+ def self.Target
657
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Target')
658
+ end
659
+
660
+ # Denotes a gap in the target sequence for an alignment. The reference sequence is denoted by a "Landmark" whilst the aligned target sequence is an instance of the "Target" class.
661
+ # (http://www.biointerchange.org/gfvo#TargetSequenceGap)
662
+ def self.Target_Sequence_Gap
663
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#TargetSequenceGap')
664
+ end
665
+
666
+ # Details about the sequencing/microarray technology used to gather the data in a set.
667
+ # (http://www.biointerchange.org/gfvo#TechnologyPlatform)
668
+ def self.Technology_Platform
669
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#TechnologyPlatform')
670
+ end
671
+
672
+ # Describing specific sequence alterations of a genomic feature. A variant is related to "Reference" class instances, which denote the sequence that serves as a basis for sequence alteration comparisons.
673
+ # (http://www.biointerchange.org/gfvo#Variant)
674
+ def self.Variant
675
+ return RDF::URI.new('http://www.biointerchange.org/gfvo#Variant')
676
+ end
677
+
678
+ # Determines whether the given URI is an object property.
679
+ #
680
+ # +uri+:: URI that is tested for being an object property
681
+ def self.is_object_property?(uri)
682
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#alignment') then
683
+ return true
684
+ end
685
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') then
686
+ return true
687
+ end
688
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#attribute') then
689
+ return true
690
+ end
691
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#attributeMethod') then
692
+ return true
693
+ end
694
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#chromosome') then
695
+ return true
696
+ end
697
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#contains') then
698
+ return true
699
+ end
700
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#dataSource') then
701
+ return true
702
+ end
703
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#dbxref') then
704
+ return true
705
+ end
706
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#derivesFrom') then
707
+ return true
708
+ end
709
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#effect') then
710
+ return true
711
+ end
712
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') then
713
+ return true
714
+ end
715
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#featureOntology') then
716
+ return true
717
+ end
718
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#featureType') then
719
+ return true
720
+ end
721
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#genomicSource') then
722
+ return true
723
+ end
724
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#genotype') then
725
+ return true
726
+ end
727
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#individual') then
728
+ return true
729
+ end
730
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#locus') then
731
+ return true
732
+ end
733
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#ontologyTerm') then
734
+ return true
735
+ end
736
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#parent') then
737
+ return true
738
+ end
739
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#phenotypeDescription') then
740
+ return true
741
+ end
742
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#scoreMethod') then
743
+ return true
744
+ end
745
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#seqid') then
746
+ return true
747
+ end
748
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#sequenceAnnotation') then
749
+ return true
750
+ end
751
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#sequenceVariant') then
752
+ return true
753
+ end
754
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#setObjectProperty') then
755
+ return true
756
+ end
757
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#sourceMethod') then
758
+ return true
759
+ end
760
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#species') then
761
+ return true
762
+ end
763
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#structuredAttributes') then
764
+ return true
765
+ end
766
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#target') then
767
+ return true
768
+ end
769
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#targetAttributeMethod') then
770
+ return true
771
+ end
772
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#technologyPlatform') then
773
+ return true
774
+ end
775
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#type') then
776
+ return true
777
+ end
778
+ return false
779
+ end
780
+
781
+ # Determines whether the given URI is a datatype property.
782
+ #
783
+ # +uri+:: URI that is tested for being a datatype property
784
+ def self.is_datatype_property?(uri)
785
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#3primeContext') then
786
+ return true
787
+ end
788
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#5primeContext') then
789
+ return true
790
+ end
791
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#alias') then
792
+ return true
793
+ end
794
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#aminoAcid') then
795
+ return true
796
+ end
797
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') then
798
+ return true
799
+ end
800
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#averageCoverage') then
801
+ return true
802
+ end
803
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#build') then
804
+ return true
805
+ end
806
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#codon') then
807
+ return true
808
+ end
809
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#comment') then
810
+ return true
811
+ end
812
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#feature') then
813
+ return true
814
+ end
815
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') then
816
+ return true
817
+ end
818
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') then
819
+ return true
820
+ end
821
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#fileDate') then
822
+ return true
823
+ end
824
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#fileVersion') then
825
+ return true
826
+ end
827
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#frequency') then
828
+ return true
829
+ end
830
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#gffVersion') then
831
+ return true
832
+ end
833
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#gtfVersion') then
834
+ return true
835
+ end
836
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#gvfVersion') then
837
+ return true
838
+ end
839
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#id') then
840
+ return true
841
+ end
842
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#isCircular') then
843
+ return true
844
+ end
845
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#isPhased') then
846
+ return true
847
+ end
848
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#name') then
849
+ return true
850
+ end
851
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#note') then
852
+ return true
853
+ end
854
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#phase') then
855
+ return true
856
+ end
857
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#phredScore') then
858
+ return true
859
+ end
860
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#platformClass') then
861
+ return true
862
+ end
863
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#platformName') then
864
+ return true
865
+ end
866
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#readIPairSpan') then
867
+ return true
868
+ end
869
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#readLength') then
870
+ return true
871
+ end
872
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#reads') then
873
+ return true
874
+ end
875
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#score') then
876
+ return true
877
+ end
878
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#sequence') then
879
+ return true
880
+ end
881
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#setDatatypeProperty') then
882
+ return true
883
+ end
884
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#source') then
885
+ return true
886
+ end
887
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#span') then
888
+ return true
889
+ end
890
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#tag') then
891
+ return true
892
+ end
893
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#totalReads') then
894
+ return true
895
+ end
896
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#vcfVersion') then
897
+ return true
898
+ end
899
+ return false
900
+ end
901
+
902
+ # Determines whether the given URI is a class.
903
+ #
904
+ # +uri+:: URI that is tested for being a class
905
+ def self.is_class?(uri)
906
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') then
907
+ return true
908
+ end
909
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#AncestralAllele') then
910
+ return true
911
+ end
912
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') then
913
+ return true
914
+ end
915
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#ArrayComparativeGenomicHybridization') then
916
+ return true
917
+ end
918
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Attribute') then
919
+ return true
920
+ end
921
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Breakpoint') then
922
+ return true
923
+ end
924
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Chromosome') then
925
+ return true
926
+ end
927
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#DNAMicroarray') then
928
+ return true
929
+ end
930
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#DNASequence') then
931
+ return true
932
+ end
933
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource') then
934
+ return true
935
+ end
936
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Effect') then
937
+ return true
938
+ end
939
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Feature') then
940
+ return true
941
+ end
942
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#File') then
943
+ return true
944
+ end
945
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#ForwardReferenceSequenceFrameshift') then
946
+ return true
947
+ end
948
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#FragmentReadPlatform') then
949
+ return true
950
+ end
951
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#GermlineFeature') then
952
+ return true
953
+ end
954
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#HemizygousVariant') then
955
+ return true
956
+ end
957
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#HeterozygousVariant') then
958
+ return true
959
+ end
960
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#HomozygousVariant') then
961
+ return true
962
+ end
963
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Landmark') then
964
+ return true
965
+ end
966
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Match') then
967
+ return true
968
+ end
969
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#MaternalChromosome') then
970
+ return true
971
+ end
972
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Method') then
973
+ return true
974
+ end
975
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#PairedEndReadPlatform') then
976
+ return true
977
+ end
978
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#PaternalChromosome') then
979
+ return true
980
+ end
981
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#PhenotypeDescription') then
982
+ return true
983
+ end
984
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#PrenatalFeature') then
985
+ return true
986
+ end
987
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#RNASequence') then
988
+ return true
989
+ end
990
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Reference') then
991
+ return true
992
+ end
993
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#ReferenceSequenceGap') then
994
+ return true
995
+ end
996
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#ReverseReferenceSequenceFrameshift') then
997
+ return true
998
+ end
999
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation') then
1000
+ return true
1001
+ end
1002
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedFemale') then
1003
+ return true
1004
+ end
1005
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedHermaphrodite') then
1006
+ return true
1007
+ end
1008
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedIndividual') then
1009
+ return true
1010
+ end
1011
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedMale') then
1012
+ return true
1013
+ end
1014
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Set') then
1015
+ return true
1016
+ end
1017
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#SomaticFeature') then
1018
+ return true
1019
+ end
1020
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#StructuredAttribute') then
1021
+ return true
1022
+ end
1023
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Target') then
1024
+ return true
1025
+ end
1026
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#TargetSequenceGap') then
1027
+ return true
1028
+ end
1029
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#TechnologyPlatform') then
1030
+ return true
1031
+ end
1032
+ if uri == RDF::URI.new('http://www.biointerchange.org/gfvo#Variant') then
1033
+ return true
1034
+ end
1035
+ return false
1036
+ end
1037
+
1038
+ # Determines whether the given URI is a named individual.
1039
+ #
1040
+ # +uri+:: URI that is tested for being a named individual
1041
+ def self.is_named_individual?(uri)
1042
+ return false
1043
+ end
1044
+
1045
+ # Returns only those URIs that fall under a designated parent URI.
1046
+ #
1047
+ # +uris+:: Set of URIs that are tested whether they have the given parent URI.
1048
+ # +parent+:: Parent URI.
1049
+ def self.with_parent(uris, parent)
1050
+ return uris.select { |uri| has_parent?(uri, parent) }
1051
+ end
1052
+
1053
+ # Recursively tries to determine the parent for a given URI.
1054
+ #
1055
+ # +uri+:: URI that is tested for whether it has the given parent URI.
1056
+ # +parent+:: Parent URI.
1057
+ def self.has_parent?(uri, parent)
1058
+ if @@parent_properties.has_key?(uri) then
1059
+ if @@parent_properties[uri] == parent then
1060
+ return true
1061
+ end
1062
+ return has_parent?(@@parent_properties[uri], parent)
1063
+ end
1064
+ return false
1065
+ end
1066
+
1067
+ private
1068
+ @@parent_properties = { RDF::URI.new('http://www.biointerchange.org/gfvo#alignment') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') => RDF::URI.new('http://www.w3.org/2002/07/owl#topObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#attribute') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#attributeMethod') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#chromosome') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#contains') => RDF::URI.new('http://www.biointerchange.org/gfvo#setObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#dataSource') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#dbxref') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#derivesFrom') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#effect') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') => RDF::URI.new('http://www.w3.org/2002/07/owl#topObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#featureOntology') => RDF::URI.new('http://www.biointerchange.org/gfvo#setObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#featureType') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#genomicSource') => RDF::URI.new('http://www.biointerchange.org/gfvo#setObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#genotype') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#individual') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#locus') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#ontologyTerm') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#parent') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#phenotypeDescription') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#scoreMethod') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#seqid') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#sequenceAnnotation') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#sequenceVariant') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#sourceMethod') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#species') => RDF::URI.new('http://www.biointerchange.org/gfvo#setObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#structuredAttributes') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#target') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#targetAttributeMethod') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#technologyPlatform') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#type') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureObjectProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#3primeContext') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#5primeContext') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#alias') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#aminoAcid') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') => RDF::URI.new('http://www.w3.org/2002/07/owl#topDataProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#averageCoverage') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#build') => RDF::URI.new('http://www.biointerchange.org/gfvo#setDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#codon') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#comment') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#feature') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') => RDF::URI.new('http://www.w3.org/2002/07/owl#topDataProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') => RDF::URI.new('http://www.biointerchange.org/gfvo#setDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#fileDate') => RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#fileVersion') => RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#frequency') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#gffVersion') => RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#gtfVersion') => RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#gvfVersion') => RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#id') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#isCircular') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#isPhased') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#name') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#note') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#phase') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#phredScore') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#platformClass') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#platformName') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#readIPairSpan') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#readLength') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#reads') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#score') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#sequence') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#setDatatypeProperty') => RDF::URI.new('http://www.w3.org/2002/07/owl#topDataProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#source') => RDF::URI.new('http://www.biointerchange.org/gfvo#featureDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#span') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#tag') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#totalReads') => RDF::URI.new('http://www.biointerchange.org/gfvo#annotationDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#vcfVersion') => RDF::URI.new('http://www.biointerchange.org/gfvo#fileDatatypeProperty') , RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') => RDF::URI.new('http://www.w3.org/1999/02/22-rdf-syntax-ns#List') , RDF::URI.new('http://www.biointerchange.org/gfvo#AncestralAllele') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#ArrayComparativeGenomicHybridization') => RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource') , RDF::URI.new('http://www.biointerchange.org/gfvo#Attribute') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#Breakpoint') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#Chromosome') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#DNAMicroarray') => RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource') , RDF::URI.new('http://www.biointerchange.org/gfvo#DNASequence') => RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource') , RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#Effect') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#File') => RDF::URI.new('http://www.biointerchange.org/gfvo#Set') , RDF::URI.new('http://www.biointerchange.org/gfvo#ForwardReferenceSequenceFrameshift') => RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') , RDF::URI.new('http://www.biointerchange.org/gfvo#FragmentReadPlatform') => RDF::URI.new('http://www.biointerchange.org/gfvo#TechnologyPlatform') , RDF::URI.new('http://www.biointerchange.org/gfvo#GermlineFeature') => RDF::URI.new('http://www.biointerchange.org/gfvo#Feature') , RDF::URI.new('http://www.biointerchange.org/gfvo#HemizygousVariant') => RDF::URI.new('http://www.biointerchange.org/gfvo#Variant') , RDF::URI.new('http://www.biointerchange.org/gfvo#HeterozygousVariant') => RDF::URI.new('http://www.biointerchange.org/gfvo#Variant') , RDF::URI.new('http://www.biointerchange.org/gfvo#HomozygousVariant') => RDF::URI.new('http://www.biointerchange.org/gfvo#Variant') , RDF::URI.new('http://www.biointerchange.org/gfvo#Landmark') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#Match') => RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') , RDF::URI.new('http://www.biointerchange.org/gfvo#MaternalChromosome') => RDF::URI.new('http://www.biointerchange.org/gfvo#Chromosome') , RDF::URI.new('http://www.biointerchange.org/gfvo#Method') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#PairedEndReadPlatform') => RDF::URI.new('http://www.biointerchange.org/gfvo#TechnologyPlatform') , RDF::URI.new('http://www.biointerchange.org/gfvo#PaternalChromosome') => RDF::URI.new('http://www.biointerchange.org/gfvo#Chromosome') , RDF::URI.new('http://www.biointerchange.org/gfvo#PhenotypeDescription') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#PrenatalFeature') => RDF::URI.new('http://www.biointerchange.org/gfvo#Feature') , RDF::URI.new('http://www.biointerchange.org/gfvo#RNASequence') => RDF::URI.new('http://www.biointerchange.org/gfvo#DataSource') , RDF::URI.new('http://www.biointerchange.org/gfvo#Reference') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#ReferenceSequenceGap') => RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') , RDF::URI.new('http://www.biointerchange.org/gfvo#ReverseReferenceSequenceFrameshift') => RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') , RDF::URI.new('http://www.biointerchange.org/gfvo#SequenceAnnotation') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedFemale') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedIndividual') , RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedHermaphrodite') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedIndividual') , RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedIndividual') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') , RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedMale') => RDF::URI.new('http://www.biointerchange.org/gfvo#SequencedIndividual') , RDF::URI.new('http://www.biointerchange.org/gfvo#SomaticFeature') => RDF::URI.new('http://www.biointerchange.org/gfvo#Feature') , RDF::URI.new('http://www.biointerchange.org/gfvo#StructuredAttribute') => RDF::URI.new('http://www.biointerchange.org/gfvo#Attribute') , RDF::URI.new('http://www.biointerchange.org/gfvo#TargetSequenceGap') => RDF::URI.new('http://www.biointerchange.org/gfvo#AlignmentOperation') , RDF::URI.new('http://www.biointerchange.org/gfvo#TechnologyPlatform') => RDF::URI.new('http://www.biointerchange.org/gfvo#Annotation') }
1069
+
1070
+ end
1071
+
1072
+ end