Use htsworkflow ontology to validate various RDF using components.
[htsworkflow.git] / htsworkflow / util / schemas / htsworkflow.turtle
1 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
2 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
3 @prefix owl: <http://www.w3.org/2002/07/owl#> .
4 @prefix dc: <http://purl.org/dc/elements/1.1/> .
5 @prefix xml: <http://www.w3.org/XML/1998/namespace> .
6 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
7 @prefix htswlib: <http://jumpgate.caltech.edu/wiki/LibraryOntology#> .
8
9 # I'm still learning how to do modeling & validation
10 # this version is just using rdfs:Literal for
11 # any literal node.
12
13 <http://jumpgate.caltech.edu/wiki/LibraryOntology#>
14     dc:title "HTS-Workflow ontology" ;
15     a owl:Ontology .
16
17 htswlib:Class a rdfs:Class .
18
19 htswlib:IlluminaFlowcell
20     a rdfs:Class, htswlib:Class ;
21     rdfs:comment "information about a illumina flowcell" ;
22     rdfs:label "Flowcell" .
23
24 htswlib:IlluminaLane
25     a rdfs:Class, htswlib:Class ;
26     rdfs:comment "information specific to a lane in a flowcell" ;
27     rdfs:label "Lane" .
28
29 htswlib:Library
30     a rdfs:Class, htswlib:Class ;
31     rdfs:comment "a biological library that can be run on a flowcell" ;
32     rdfs:label "library" .
33
34 htswlib:Sequencer
35     a rdfs:Class, htswlib:Class;
36     rdfs:comment "an instrument that converts libraries into sequence reads" ;
37     rdfs:label "Sequencer" .
38
39 htswlib:Species
40     a rdfs:Class, htswlib:Class ;
41     rdfs:comment "What 'species' was our sample created from." ;
42     rdfs:label "Species" .
43
44 htswlib:MappedCount
45     a rdfs:Class, htswlib:Class ;
46     rdfs:comment "Count of reads with locations" ;
47     rdfs:label "Mapped locations" .
48
49 # reused properties?
50 htswlib:flowcell
51     a rdf:Property ;
52     rdfs:comment "link to our source flowcell" ;
53     rdfs:label "Flowcell" ;
54     rdfs:domain htswlib:IlluminaLane ;
55     rdfs:range htswlib:IlluminaFlowcell .
56
57 htswlib:has_lane
58     a rdf:Property ;
59     rdfs:comment "which lanes are attached to a flowcell" ;
60     rdfs:label "lanes" ;
61     # cheating, only flowcells & libraries can have lanes
62     rdfs:domain htswlib:Library ;
63     rdfs:domain htswlib:IlluminaFlowcell ;
64     rdfs:range htswlib:IlluminaLane .
65
66 htswlib:date
67     a rdf:Property ;
68     rdfs:comment "Date thing was constructed" ;
69     rdfs:label "made on" ;
70     rdfs:domain htswlib:IlluminaFlowcell ;
71     rdfs:domain htswlib:Library ;
72     rdfs:range rdfs:Literal .
73
74 htswlib:total_unique_locations
75     a rdf:Property ;
76     rdfs:comment "How many reads mapped uniquely" ;
77     rdfs:label "Unique locations" ;
78     rdfs:domain htswlib:Library ;
79     rdfs:domain htswlib:IlluminaLane ;
80     rdfs:range rdfs:Literal .
81
82 htswlib:has_mappings
83     a rdf:Property ;
84     rdfs:comment "collection of counts against sequence collections" ;
85     rdfs:label "Has mapping" ;
86     rdfs:domain htswlib:Library ;
87     rdfs:domain htswlib:IlluminaLane ;
88     rdfs:range htswlib:MappedCount .
89
90 # flowcell properties
91 htswlib:flowcell_id
92     a rdf:Property ;
93     rdfs:comment "Serial number of a flowcell, used as unique key" ;
94     rdfs:label "Flowcell ID" ;
95     rdfs:domain htswlib:IlluminaFlowcell ;
96     rdfs:range rdfs:Literal .
97
98 htswlib:flowcell_notes
99     a rdf:Property ;
100     rdfs:comment "Comments about flowcell" ;
101     rdfs:label "Notes" ;
102     rdfs:domain htswlib:IlluminaFlowcell ;
103     rdfs:range rdfs:Literal .
104
105 htswlib:control_lane
106     a rdf:Property ;
107     rdfs:comment "Control lane used for image analysis/base calling" ;
108     rdfs:label "Control Lane" ;
109     rdfs:domain htswlib:IlluminaFlowcell ;
110     rdfs:range rdfs:Literal .
111
112 htswlib:read_length
113     a rdf:Property ;
114     rdfs:comment "How many cycles did we run the sequencer for" ;
115     rdfs:label "Read length" ;
116     rdfs:domain htswlib:IlluminaFlowcell ;
117     rdfs:range rdfs:Literal .
118
119 htswlib:flowcell_type
120     a rdf:Property ;
121     rdfs:comment "What kind of flowcell, e.g. single, paired." ;
122     rdfs:label "Flowcell Type" ;
123     rdfs:domain htswlib:IlluminaFlowcell ;
124     rdfs:range rdfs:Literal .
125
126 htswlib:image_software
127     a rdf:Property ;
128     rdfs:comment "Image analysis software name." ;
129     rdfs:label "Image processor" ;
130     rdfs:domain htswlib:IlluminaFlowcell ;
131     rdfs:range rdfs:Literal .
132
133 htswlib:image_version
134     a rdf:Property ;
135     rdfs:comment "Image analysis software version identifier." ;
136     rdfs:label "Image processor version" ;
137     rdfs:domain htswlib:IlluminaFlowcell ;
138     rdfs:range rdfs:Literal .
139
140 htswlib:basecall_software
141     a rdf:Property ;
142     rdfs:comment "Base caller software name." ;
143     rdfs:label "Basecaller" ;
144     rdfs:domain htswlib:IlluminaFlowcell ;
145     rdfs:range rdfs:Literal .
146
147 htswlib:basecall_version
148     a rdf:Property ;
149     rdfs:comment "Base caller software version identifier." ;
150     rdfs:label "Basecaller Version" ;
151     rdfs:domain htswlib:IlluminaFlowcell ;
152     rdfs:range rdfs:Literal .
153
154 htswlib:alignment_software
155     a rdf:Property ;
156     rdfs:comment "Alignment software name." ;
157     rdfs:label "Alignment software" ;
158     rdfs:domain htswlib:IlluminaFlowcell ;
159     rdfs:range rdfs:Literal .
160
161 htswlib:alignment_version
162     a rdf:Property ;
163     rdfs:comment "Alignment software version identifier." ;
164     rdfs:label "Aligner" ;
165     rdfs:domain htswlib:IlluminaFlowcell ;
166     rdfs:range rdfs:Literal .
167
168 htswlib:sequenced_by
169     a rdf:Property ;
170     rdfs:comment "Which sequencer sequenced this flowcell" ;
171     rdfs:label "Sequenced By" ;
172     rdfs:domain htswlib:IlluminaFlowcell ;
173     rdfs:range htswlib:Sequencer .
174
175 htswlib:sequencer_model
176     a rdf:Property ;
177     rdfs:comment "What model of sequencer was this flowcell run on." ;
178     rdfs:label "Sequencer model" ;
179     rdfs:domain htswlib:Sequencer ;
180     rdfs:range rdfs:Literal .
181
182 htswlib:sequencer_instrument
183     a rdf:Property ;
184     rdfs:comment "Sequencer instrument identifier." ;
185     rdfs:label "Instrument ID " ;
186     rdfs:domain htswlib:Sequencer ;
187     rdfs:range rdfs:Literal .
188
189 htswlib:sequencer_name
190     a rdf:Property ;
191     rdfs:comment "Local name for sequencer." ;
192     rdfs:label "Sequencer name " ;
193     rdfs:domain htswlib:Sequencer ;
194     rdfs:range rdfs:Literal .
195
196
197 # library only properties
198 htswlib:library_id
199     a rdf:Property ;
200     rdfs:comment "Library unique identifier" ;
201     rdfs:label "Library ID" ;
202     rdfs:domain htswlib:Library ;
203     rdfs:range rdfs:Literal .
204
205 htswlib:name
206     a rdf:Property ;
207     rdfs:comment "human readable name" ;
208     rdfs:label "Name" ;
209     rdfs:range rdfs:Literal .
210
211 htswlib:library_type
212     a rdf:Property ;
213     rdfs:comment """what type of library are we, which is primarily
214                  determined by the type of adaptors ligated onto
215                  sequence fragments.""" ;
216     rdfs:label "Library Type" ;
217     rdfs:domain htswlib:Library ;
218     rdfs:range rdfs:Literal .
219
220 htswlib:stopping_point
221     a rdf:Property ;
222     rdfs:comment "Protocol stopping point" ;
223     rdfs:label "Stopping Point" ;
224     rdfs:domain htswlib:Library ;
225     rdfs:range rdfs:Literal .
226
227 htswlib:concentration
228     a rdf:Property ;
229     rdfs:comment "Concentration of sample in nanograms per microliter" ;
230     rdfs:label "Concentration" ;
231     rdfs:domain htswlib:Library ;
232     rdfs:range rdfs:Literal .
233
234 htswlib:insert_size
235     a rdf:Property ;
236     rdfs:comment "The expected size of the sample sequence" ;
237     rdfs:label "Insert Size" ;
238     rdfs:domain htswlib:Library ;
239     rdfs:range rdfs:Literal .
240
241 htswlib:gel_cut
242     a rdf:Property ;
243     rdfs:comment "The estimated fragment sizes cut from gel";
244     rdfs:label "Gel Cut" ;
245     rdfs:domain htswlib:Library ;
246     rdfs:range rdfs:Literal .
247
248 htswlib:made_by
249     a rdf:Property ;
250     rdfs:comment "Name of person who created library" ;
251     rdfs:label "Made by" ;
252     rdfs:domain htswlib:Library ;
253     rdfs:range rdfs:Literal .
254
255 htswlib:multiplex_index
256     a rdf:Property ;
257     rdfs:comment "multiplex sequence" ;
258     rdfs:label "index" ;
259     rdfs:domain htswlib:Library ;
260     rdfs:range rdfs:Literal .
261
262 htswlib:cell_line
263     a rdf:Property ;
264     rdfs:comment "Description of source material" ;
265     rdfs:label "cell line" ;
266     rdfs:domain htswlib:Library ;
267     rdfs:range rdfs:Literal .
268
269 htswlib:experiment_type
270     a rdf:Property ;
271     rdfs:comment "What type of sequencing is this. e.g. RNA-Seq, DeNovo etc." ;
272     rdfs:label "Experiment Type" ;
273     rdfs:domain htswlib:Library ;
274     rdfs:range rdfs:Literal .
275
276 htswlib:affiliation
277     a rdf:Property ;
278     rdfs:comment "Entity associated with this sample" ;
279     rdfs:label "affiliation" ;
280     rdfs:domain htswlib:Library ;
281     rdfs:range rdfs:Literal .
282
283 htswlib:species
284     a rdf:Property ;
285     rdfs:comment "Scientific name of sample species" ;
286     rdfs:label "Species" ;
287     rdfs:domain htswlib:Library ;
288     #rdfs:domain htswlib:IlluminaLane;
289     rdfs:range htswlib:Species .
290
291 htswlib:replicate
292     a rdf:Property ;
293     rdfs:comment "Which replicate this was" ;
294     rdfs:label "replicate" ;
295     rdfs:domain htswlib:Library ;
296     rdfs:range rdfs:Literal .
297
298 # lane only properties
299 htswlib:lane_number
300     a rdf:Property ;
301     rdfs:comment "Which lane were we run in" ;
302     rdfs:label "lane id" ;
303     rdfs:domain htswlib:IlluminaLane ;
304     rdfs:range rdfs:Literal .
305
306 # FIXME: should this be note?
307 htswlib:comment
308     a rdf:Property ;
309     rdfs:comment "Comment about an object" ;
310     rdfs:range rdfs:Literal .
311
312 htswlib:library
313      a rdf:Property ;
314      rdfs:comment "which library was run on this lane." ;
315      rdfs:label "Library" ;
316      rdfs:domain htswlib:IlluminaLane ;
317      rdfs:range htswlib:Library .
318
319 # species properites
320 htswlib:species_name
321      a rdf:Property ;
322      rdfs:comment "Scientific name of species" ;
323      rdfs:label "Species" ;
324      rdfs:domain htswlib:Species ;
325      rdfs:range rdfs:Literal .
326
327 # mapped count properties
328 htswlib:mapped_to
329      a rdf:Property ;
330      rdfs:comment "A sequence collection, genome, chromosome, spike in, etc.";
331      rdfs:label "Mapped to" ;
332      rdfs:domain htswlib:MappedCount ;
333      rdfs:range rdfs:Literal .
334
335 htswlib:reads
336      a rdf:Property ;
337      rdfs:comment "Number of read locations" ;
338      rdfs:label "Reads" ;
339      rdfs:domain htswlib:MappedCount ;
340      rdfs:range rdfs:Literal .