├── .github
└── workflows
│ ├── build.yml
│ └── qc.yml
├── .gitignore
├── .travis.yml
├── CONTRIBUTING.md
├── README.md
├── data
└── test_zfin.n3
├── docs
├── Brush_et_al_2013ICBO.pdf
├── Flybase Examples
│ ├── 4-14-17_Flybase_Genotype_A.jpg
│ ├── 4-14-17_Flybase_Genotype_B.jpg
│ └── 4-14-17_Flybase_Genotype_C.jpg
├── GENO_Overview(2017-02-24).pptx
├── GenotypePartonomy.pdf
├── Old
│ ├── GENO_Overview(2016-06-12).pptx
│ ├── genotype_partonomy_figure(1-20-15).jpg
│ ├── genotype_partonomy_figure(1-20-15)V2.png
│ └── genotype_partonomy_figure(1-20-15)V3.png
├── VMC-GENO ApoE example genotype.pptx
├── geno-monochrom.owl
└── ~$GENO_Overview(2017-02-24).pptx
├── geno-base.json
├── geno-base.obo
├── geno-base.owl
├── geno-full.json
├── geno-full.obo
├── geno-full.owl
├── geno.json
├── geno.obo
├── geno.owl
├── imports
├── iao_import.json
├── iao_import.obo
├── iao_import.owl
├── obi_import.owl
├── ro_import.json
├── ro_import.obo
└── ro_import.owl
├── reports
└── geno-edit.owl-obo-report.tsv
└── src
├── metadata
├── README.md
├── geno.md
└── geno.yml
├── ontology
├── Dockerfile
├── Makefile
├── README-editors.md
├── archive
│ ├── catalog-v001.xml
│ ├── geno-developer-defs.owl
│ ├── geno-developer.owl
│ ├── geno-obsolete.owl
│ ├── geno-se.owl
│ ├── geno.ttl
│ ├── geno_d2rq_test_merged.owl
│ ├── geno_examples.owl
│ ├── geno_examples1.owl
│ └── geno_imports.owl
├── build.sh
├── catalog-v001.xml
├── geno-edit.owl
├── geno-idranges.owl
├── geno-odk.yaml
├── geno.Makefile
├── imports
│ ├── catalog-v001.xml
│ ├── faldo_import.owl
│ ├── faldo_terms.txt
│ ├── go_import.owl
│ ├── go_terms.txt
│ ├── hp_import.owl
│ ├── hp_terms.txt
│ ├── hsapdv_import.owl
│ ├── hsapdv_terms.txt
│ ├── iao_import.json
│ ├── iao_import.obo
│ ├── iao_import.owl
│ ├── iao_terms.txt
│ ├── mp_import.owl
│ ├── mp_terms.txt
│ ├── ncbitaxon_import.owl
│ ├── ncbitaxon_terms.txt
│ ├── oban_import.owl
│ ├── oban_terms.txt
│ ├── obi_import.owl
│ ├── obi_terms.txt
│ ├── oboInOwl.owl
│ ├── omo_import.owl
│ ├── omo_terms.txt
│ ├── ontology-metadata.owl
│ ├── pato_import.owl
│ ├── pato_terms.txt
│ ├── pco_import.owl
│ ├── pco_terms.txt
│ ├── ro_import.json
│ ├── ro_import.obo
│ ├── ro_import.owl
│ ├── ro_terms.txt
│ ├── so_import.json
│ ├── so_import.obo
│ ├── so_import.owl
│ ├── so_terms.txt
│ ├── uberon_import.owl
│ └── uberon_terms.txt
├── json.json
├── keeprelations.txt
├── oboInOwl.owl
├── ontologyterms.txt
├── patterns.sh
├── pre_odk
│ ├── catalog-v001.xml
│ ├── geno.owl
│ ├── geno_imports.owl
│ ├── oboInOwl.owl
│ └── ontology-metadata.owl
├── prepare_release.sh
├── reports
│ ├── README.md
│ ├── geno-base.owl-obo-report.tsv
│ └── geno-edit.owl-obo-report.tsv
├── run.bat
├── run.sh
├── test.sh
└── tmp
│ └── README.md
├── patterns
├── README.md
├── definitions.owl
├── dosdp-patterns
│ └── external.txt
└── pattern.owl
├── scripts
├── update_repo.sh
└── validate_id_ranges.sc
└── sparql
├── README.md
├── basic-report.sparql
├── class-count-by-prefix.sparql
├── def-lacks-xref-violation.sparql
├── edges.sparql
├── equivalent-classes-violation.sparql
├── geno_terms.sparql
├── illegal-date-violation.sparql
├── inject-subset-declaration.ru
├── inject-synonymtype-declaration.ru
├── iri-range-advanced-violation.sparql
├── iri-range-violation.sparql
├── label-with-iri-violation.sparql
├── labels.sparql
├── multiple-replaced_by-violation.sparql
├── nolabels-violation.sparql
├── obsolete-violation.sparql
├── obsoletes.sparql
├── owldef-self-reference-violation.sparql
├── owldef-violation.sparql
├── postprocess-module.ru
├── preprocess-module.ru
├── redundant-subClassOf-violation.sparql
├── simple-seed.sparql
├── subsets-labeled.sparql
├── synonyms.sparql
├── taxon-range-violation.sparql
├── term-tracker-uri-violation.sparql
├── terms.sparql
├── trailing-whitespace-violation.sparql
├── xref-syntax-violation.sparql
└── xrefs.sparql
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build release files
2 | on:
3 | workflow_dispatch:
4 |
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 | container: obolibrary/odkfull:v1.4.3
9 | strategy:
10 | max-parallel: 1
11 | steps:
12 | - name: Checkout main branch
13 | uses: actions/checkout@v2
14 |
15 | - name: work around permission issue
16 | run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
17 |
18 | - name: Update release files
19 | run: cd src/ontology/ && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx6G' prepare_release_fast
20 |
21 | - name: Create Pull Request
22 | uses: peter-evans/create-pull-request@v3
23 | with:
24 | commit-message: Update release files
25 | title: 'Update release files'
26 | body: |
27 | Updates all release files.
28 | assignees: matentzn
--------------------------------------------------------------------------------
/.github/workflows/qc.yml:
--------------------------------------------------------------------------------
1 | # Basic ODK workflow
2 |
3 | name: CI
4 |
5 | # Controls when the action will run.
6 | on:
7 | # Triggers the workflow on push or pull request events but only for the main branch
8 | push:
9 | branches: [ develop ]
10 | pull_request:
11 | branches: [ develop ]
12 |
13 | # Allows you to run this workflow manually from the Actions tab
14 | workflow_dispatch:
15 |
16 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel
17 | jobs:
18 | # This workflow contains a single job called "ontology_qc"
19 | ontology_qc:
20 | # The type of runner that the job will run on
21 | runs-on: ubuntu-latest
22 | container: obolibrary/odkfull:v1.3.0
23 |
24 | # Steps represent a sequence of tasks that will be executed as part of the job
25 | steps:
26 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
27 | - uses: actions/checkout@v2
28 |
29 | - name: Run ontology QC checks
30 | env:
31 | DEFAULT_BRANCH: develop
32 | run: cd src/ontology && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx6G' test IMP=false PAT=false
33 |
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.tmp
3 | *.tmp.json
4 | *.tmp.obo
5 | *.tmp.owl
6 | bin/
7 | semantic.cache
8 | src/ontology/dosdp-tools.log
9 | src/ontology/ed_definitions_merged.owl
10 | src/ontology/geno-base.*
11 | src/ontology/geno-basic.*
12 | src/ontology/geno-full.*
13 | src/ontology/geno-simple-non-classified.*
14 | src/ontology/geno-simple.*
15 | src/ontology/geno.json
16 | src/ontology/geno.obo
17 | src/ontology/geno.owl
18 | src/ontology/imports/*_terms_combined.txt
19 | src/ontology/merged-geno-edit.owl
20 | src/ontology/mirror
21 | src/ontology/mirror/*
22 | src/ontology/ontologyterms.txt
23 | src/ontology/patterns
24 | src/ontology/patterns
25 | src/ontology/seed.txt
26 | src/ontology/simple_seed.txt
27 | src/ontology/target/
28 | src/ontology/tmp/*
29 | !src/ontology/tmp/README.md
30 | src/patterns/all_pattern_terms.txt
31 | src/patterns/data/**/*.ofn
32 | src/patterns/data/**/*.txt
33 | src/patterns/imports/seed_sorted.txt
34 | src/patterns/pattern_owl_seed.txt
35 | src/ontology/reports/validate_profile_owl2dl_geno.owl.txt
36 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | ## REMEMBER TO SET UP YOUR GIT REPO FOR TRAVIS
2 | ## Go to: https://travis-ci.org/monarch-initiative for details
3 | sudo: required
4 |
5 | services:
6 | - docker
7 |
8 | before_install:
9 | - docker pull obolibrary/odkfull
10 |
11 | # command to run tests
12 | script: cd src/ontology && sh run.sh make test
13 |
14 | #after_success:
15 | # coveralls
16 |
17 | # whitelist
18 | branches:
19 | only:
20 | - master
21 | - test-travis
22 |
23 | ### Add your own lists here
24 | ### See https://github.com/INCATools/ontology-development-kit/issues/35
25 | notifications:
26 | email:
27 | - obo-ci-reports-all@groups.io
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution guide for GENO ontology
2 |
3 | ## Run a release:
4 |
5 | 1. Go to the [Build workflow action](https://github.com/monarch-initiative/GENO-ontology/actions/workflows/build.yml)
6 | 2. Click "Run workflow" on the right
7 | 3. Make sure the selected branch is "develop", and click again on "Run workflow". This will trigger an action that will rebuild GENO and open a PR
8 | 4. When the PR is opened, review and merge it the usual way
9 | 5. Go the the [GitHub release](https://github.com/monarch-initiative/GENO-ontology/releases) page and click on "Draft new release"
10 | 6. As the tag, select the `v202*-MM-DD`, make sure you pre-pend the `v`. This date should correspond to the date the release files were generated (see in the PR, all release files have a version IRI with the correct date)
11 | 7. Fill in all the remaining information as you see fit and click on "Publish release"
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | GENO-ontology
2 | =============
3 |
4 |
5 | This repository holds the GENO ontology, which can be found in the **OWL file [here](src/ontology/geno.owl)**.
6 |
7 | A review of the modeling and use cases supported by GENO is can be found in the **slide deck [here](https://github.com/monarch-initiative/GENO-ontology/blob/develop/docs/GENO_Overview(2017-02-24).pptx)**.
8 |
9 | A detailed example of how GENO can be used to represent a complex Drosophila genotype is described in the **document [here](https://docs.google.com/document/d/15U4sDU8Hd_lSZJZJl8NywleNxHcX7wfnoT8j316STQo/edit#)**.
10 |
11 | [Contribution and release guide](CONTRIBUTING.md)
12 |
13 | -----------------
14 |
15 | ## Overview
16 |
17 | GENO is an OWL2 ontology that represents the levels of genetic variation specified in genotypes, to support genotype-to-phenotype (G2P) data aggregation and analysis across diverse research communities and sources. The core of the ontology is a graph decomposing a genotype into smaller components of variation, from a complete genotype specifying sequence variation across an entire genome, down to specific allelic variants and sequence alterations (**Figure 1**). Structuring genotype instance data according to this model supports a primary use case of GENO to enable integrated analysis of G2P data where phenotype annotations are made at different levels of granularity in this genotype partonomy. GENO also enables description of various attributes of genotypes and genetic variants. These attributes include zygosity, genomic position, expression, dominance, and functional dependencies or consequences of a given variant.
18 |
19 |
20 |
21 | _**Figure 1**: Decomposition of a Genotype. **(A)** Top level breakdown into reference and variant components. **(B)** Further decomposition of the genomic variation complement into its more fundamental parts. Class labels are in blue, and exemplar instances of each class are shown in green, for a zebrafish genotype which contains a homozygous ti282 variant of the fgf8 gene, and a heterozygous hu745 variant of the apc gene. Schematics graphically illustrate extent of genomic DNA represented at each level in the partonomy._
22 |
23 | In addition to heritable variation in genomic sequence specified by traditional genotypes, GENO also represents transient variation in gene expression, as seen in experiments where genes are targeted by knockdown reagents or overexpressed by DNA constructs at the time a phenotype is assessed. This variation in gene expression is represented in terms of the targeted genes themselves, to parallel representation of sequence variation and facilitate integrated description and analysis of data about any genetic contribution to a measured phenotype.
24 |
25 | Finally, GENO also supports modelling of G2P associations, focusing on the interplay between genotype, phenotype, and environment. GENO describes provenance and experimental evidence for these associations using the [Scientific Evidence and Provenance Information Ontology (SEPIO)](https://github.com/monarch-initiative/SEPIO-ontology) model.
26 |
27 |
28 | GENO is orthogonal to but has contact points with a number of existing community ontologies, including the [Sequence Ontology (SO)](http://www.sequenceontology.org/), the [Human Phenotype Ontology (HPO)](http://www.human-phenotype-ontology.org/), the [Feature Annotation Location Description Ontology(FALDO)](https://github.com/JervenBolleman/FALDO), and the [Variation Ontology (VariO)](http://variationontology.org/). We will work with developers of these models to align representations and re-use common terms where possible. Further documentation for GENO is under development, but a high level overview of its core model can be found in the slide deck [here](https://github.com/monarch-initiative/GENO-ontology/blob/develop/docs/GENO_Overview(2017-02-24).pptx), and a summary of the use cases for which it is being developed can be found [here](https://github.com/monarch-initiative/GENO-ontology/wiki/GENO-Use-Cases).
29 |
30 | GENO is an open source ontology, implemented in OWL2 under a [Creative Commons 4.0 BY license](https://creativecommons.org/licenses/by/4.0/).
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/data/test_zfin.n3:
--------------------------------------------------------------------------------
1 | @prefix : .
2 | @prefix owl: .
3 | @prefix rdf: .
4 | @prefix xml: .
5 | @prefix xsd: .
6 | @prefix rdfs: .
7 | @base .
8 |
9 | rdf:type owl:Ontology .
10 |
11 |
12 | #################################################################
13 | #
14 | # Annotation properties
15 | #
16 | #################################################################
17 |
18 |
19 | ### http://purl.obolibrary.org/obo/IAO_0000118
20 |
21 | rdf:type owl:AnnotationProperty .
22 |
23 |
24 |
25 |
26 |
27 | #################################################################
28 | #
29 | # Object Properties
30 | #
31 | #################################################################
32 |
33 |
34 | ### http://purl.obolibrary.org/obo/GENO_0000382
35 |
36 | rdf:type owl:ObjectProperty .
37 |
38 |
39 |
40 | ### http://purl.obolibrary.org/obo/GENO_0000385
41 |
42 | rdf:type owl:ObjectProperty .
43 |
44 |
45 |
46 | ### http://purl.obolibrary.org/obo/GENO_0000410
47 |
48 | rdf:type owl:ObjectProperty .
49 |
50 |
51 |
52 |
53 |
54 | #################################################################
55 | #
56 | # Data properties
57 | #
58 | #################################################################
59 |
60 |
61 | ### http://purl.obolibrary.org/obo/GENO_0000400
62 |
63 | rdf:type owl:DatatypeProperty .
64 |
65 |
66 |
67 |
68 |
69 | #################################################################
70 | #
71 | # Classes
72 | #
73 | #################################################################
74 |
75 |
76 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-980526-166
77 |
78 | rdf:type owl:Class ;
79 |
80 | rdfs:label "shha"^^xsd:string ;
81 |
82 | rdfs:subClassOf .
83 |
84 |
85 |
86 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-990415-72
87 |
88 | rdf:type owl:Class ;
89 |
90 | rdfs:label "fgf8a"^^xsd:string ;
91 |
92 | rdfs:subClassOf .
93 |
94 |
95 |
96 | ### http://purl.obolibrary.org/obo/GENO_0000000
97 |
98 | rdf:type owl:Class .
99 |
100 |
101 |
102 | ### http://purl.obolibrary.org/obo/GENO_0000002
103 |
104 | rdf:type owl:Class .
105 |
106 |
107 |
108 | ### http://purl.obolibrary.org/obo/GENO_0000009
109 |
110 | rdf:type owl:Class .
111 |
112 |
113 |
114 | ### http://purl.obolibrary.org/obo/GENO_0000010
115 |
116 | rdf:type owl:Class .
117 |
118 |
119 |
120 | ### http://purl.obolibrary.org/obo/GENO_0000030
121 |
122 | rdf:type owl:Class .
123 |
124 |
125 |
126 | ### http://purl.obolibrary.org/obo/GENO_0000047
127 |
128 | rdf:type owl:Class .
129 |
130 |
131 |
132 | ### http://purl.obolibrary.org/obo/SO_0000159
133 |
134 | rdf:type owl:Class .
135 |
136 |
137 |
138 | ### http://purl.obolibrary.org/obo/SO_0001218
139 |
140 | rdf:type owl:Class .
141 |
142 |
143 |
144 | ### http://purl.obolibrary.org/obo/SO_1000008
145 |
146 | rdf:type owl:Class .
147 |
148 |
149 |
150 | ### http://www.w3.org/2002/07/owl#Class
151 |
152 | owl:Class rdf:type owl:Class .
153 |
154 |
155 |
156 | ### http://www.w3.org/2002/07/owl#DatatypeProperty
157 |
158 | owl:DatatypeProperty rdf:type owl:Class .
159 |
160 |
161 |
162 | ### http://www.w3.org/2002/07/owl#NamedIndividual
163 |
164 | owl:NamedIndividual rdf:type owl:Class .
165 |
166 |
167 |
168 | ### http://www.w3.org/2002/07/owl#ObjectProperty
169 |
170 | owl:ObjectProperty rdf:type owl:Class .
171 |
172 |
173 |
174 |
175 |
176 | #################################################################
177 | #
178 | # Individuals
179 | #
180 | #################################################################
181 |
182 |
183 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-010426-4
184 |
185 | rdf:type ,
186 | owl:NamedIndividual ;
187 |
188 | rdfs:label "Df(Chr07)t4"^^xsd:string ;
189 |
190 | "t4"^^xsd:string .
191 |
192 |
193 |
194 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-010427-8
195 |
196 | rdf:type ,
197 | owl:NamedIndividual ;
198 |
199 | rdfs:label "tbx392"^^xsd:string ;
200 |
201 | "tbx392"^^xsd:string .
202 |
203 |
204 |
205 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-011017-8
206 |
207 | rdf:type ,
208 | ,
209 | owl:NamedIndividual ;
210 |
211 | rdfs:label ""^^xsd:string ,
212 | "Tg(fli1a:EGFP)y1"^^xsd:string ;
213 |
214 | "y1"^^xsd:string ;
215 |
216 | .
217 |
218 |
219 |
220 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-080528-1
221 |
222 | rdf:type ,
223 | ,
224 | owl:NamedIndividual ;
225 |
226 | rdfs:label ""^^xsd:string ,
227 | "Tg(5xUAS:EGFP)nkuasgfp1a"^^xsd:string ;
228 |
229 | "nkuasgfp1a"^^xsd:string ;
230 |
231 | .
232 |
233 |
234 |
235 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-080528-6
236 |
237 | rdf:type ,
238 | ,
239 | owl:NamedIndividual ;
240 |
241 | rdfs:label ""^^xsd:string ,
242 | "Gt(Gal4FF)nk31b"^^xsd:string ;
243 |
244 | "nk31b"^^xsd:string ;
245 |
246 | .
247 |
248 |
249 |
250 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-100519-1
251 |
252 | rdf:type ,
253 | ,
254 | owl:NamedIndividual ;
255 |
256 | rdfs:label ""^^xsd:string ,
257 | "Tg(TETRE:Mmu.Axin1-YFP)tud1"^^xsd:string ;
258 |
259 | "tud1"^^xsd:string ;
260 |
261 | .
262 |
263 |
264 |
265 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-980203-1091
266 |
267 | rdf:type ,
268 | owl:NamedIndividual ;
269 |
270 | rdfs:label "ti282a"^^xsd:string ;
271 |
272 | "ti282a"^^xsd:string .
273 |
274 |
275 |
276 | ### http://monarchinitiaive.org/data/zfin/ZDB-ALT-980413-636
277 |
278 | rdf:type ,
279 | owl:NamedIndividual ;
280 |
281 | rdfs:label "tq252"^^xsd:string ;
282 |
283 | "tq252"^^xsd:string .
284 |
285 |
286 |
287 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-980526-166
288 |
289 | rdf:type owl:NamedIndividual .
290 |
291 |
292 |
293 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-980526-166_ZDB-ALT-010426-4
294 |
295 | rdf:type ,
296 | ,
297 | owl:NamedIndividual ;
298 |
299 | rdfs:label "shha"^^xsd:string ;
300 |
301 | ;
302 |
303 | .
304 |
305 |
306 |
307 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-980526-166_ZDB-ALT-010427-8
308 |
309 | rdf:type ,
310 | ,
311 | owl:NamedIndividual ;
312 |
313 | rdfs:label "shha"^^xsd:string ;
314 |
315 | ;
316 |
317 | .
318 |
319 |
320 |
321 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-980526-166_ZDB-ALT-980413-636
322 |
323 | rdf:type ,
324 | ,
325 | owl:NamedIndividual ;
326 |
327 | rdfs:label "shha"^^xsd:string ;
328 |
329 | ;
330 |
331 | .
332 |
333 |
334 |
335 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-990415-72
336 |
337 | rdf:type owl:NamedIndividual .
338 |
339 |
340 |
341 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENE-990415-72_ZDB-ALT-980203-1091
342 |
343 | rdf:type ,
344 | ,
345 | owl:NamedIndividual ;
346 |
347 | rdfs:label "fgf8a"^^xsd:string ;
348 |
349 | ;
350 |
351 | .
352 |
353 |
354 |
355 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENO-070209-1
356 |
357 | rdf:type ,
358 | owl:NamedIndividual ;
359 |
360 | ;
361 |
362 | .
363 |
364 |
365 |
366 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENO-080529-2
367 |
368 | rdf:type ,
369 | owl:NamedIndividual ;
370 |
371 | .
372 |
373 |
374 |
375 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENO-080804-4
376 |
377 | rdf:type ,
378 | owl:NamedIndividual ;
379 |
380 | .
381 |
382 |
383 |
384 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENO-100520-3
385 |
386 | rdf:type ,
387 | owl:NamedIndividual ;
388 |
389 | .
390 |
391 |
392 |
393 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENO-111025-3
394 |
395 | rdf:type ,
396 | owl:NamedIndividual ;
397 |
398 | .
399 |
400 |
401 |
402 | ### http://monarchinitiaive.org/data/zfin/ZDB-GENO-960809-7
403 |
404 | rdf:type ,
405 | owl:NamedIndividual ;
406 |
407 | rdfs:label "AB"^^xsd:string .
408 |
409 |
410 |
411 | ### http://monarchinitiaive.org/data/zfin/nk31b_U_U_U_
412 |
413 | rdf:type ,
414 | owl:NamedIndividual ;
415 |
416 | rdfs:label "/>"^^xsd:string ;
417 |
418 | "unspecified zygosity" ;
419 |
420 | .
421 |
422 |
423 |
424 | ### http://monarchinitiaive.org/data/zfin/nk31b_U_U_U_-nkuasgfp1a_U_U_U_
425 |
426 | rdf:type ,
427 | owl:NamedIndividual ;
428 |
429 | rdfs:label "/>; />"^^xsd:string ;
430 |
431 | ,
432 | .
433 |
434 |
435 |
436 | ### http://monarchinitiaive.org/data/zfin/nkuasgfp1a_U_U_U_
437 |
438 | rdf:type ,
439 | owl:NamedIndividual ;
440 |
441 | rdfs:label "/>"^^xsd:string ;
442 |
443 | "unspecified zygosity" ;
444 |
445 | .
446 |
447 |
448 |
449 | ### http://monarchinitiaive.org/data/zfin/t4_1_U_U_-tbx392_1_U_U_
450 |
451 | rdf:type ,
452 | ,
453 | owl:NamedIndividual ;
454 |
455 | rdfs:label "shha/shha"^^xsd:string ;
456 |
457 | "complex heterozygous" ;
458 |
459 | ,
460 | ,
461 | .
462 |
463 |
464 |
465 | ### http://monarchinitiaive.org/data/zfin/ti282a_1_U_U_AB
466 |
467 | rdf:type ,
468 | ,
469 | owl:NamedIndividual ;
470 |
471 | rdfs:label "fgf8a/fgf8a<+>"^^xsd:string ;
472 |
473 | "simple heterozygous" ;
474 |
475 | ,
476 | .
477 |
478 |
479 |
480 | ### http://monarchinitiaive.org/data/zfin/tq252_1_U_U_
481 |
482 | rdf:type ,
483 | owl:NamedIndividual ;
484 |
485 | rdfs:label "shha/shha<+>"^^xsd:string ;
486 |
487 | "simple heterozygous" ;
488 |
489 | .
490 |
491 |
492 |
493 | ### http://monarchinitiaive.org/data/zfin/tq252_1_U_U_-y1_U_U_U_
494 |
495 | rdf:type ,
496 | owl:NamedIndividual ;
497 |
498 | rdfs:label "shha/shha<+>; />"^^xsd:string ;
499 |
500 | ,
501 | .
502 |
503 |
504 |
505 | ### http://monarchinitiaive.org/data/zfin/tud1_U_U_U_
506 |
507 | rdf:type ,
508 | ,
509 | owl:NamedIndividual ;
510 |
511 | rdfs:label "/>"^^xsd:string ;
512 |
513 | "unspecified zygosity" ;
514 |
515 | ,
516 | .
517 |
518 |
519 |
520 | ### http://monarchinitiaive.org/data/zfin/y1_U_U_U_
521 |
522 | rdf:type ,
523 | owl:NamedIndividual ;
524 |
525 | rdfs:label "/>"^^xsd:string ;
526 |
527 | "unspecified zygosity" ;
528 |
529 | .
530 |
531 |
532 |
533 |
534 | ### Generated by the OWL API (version 3.4.2) http://owlapi.sourceforge.net
535 |
536 |
--------------------------------------------------------------------------------
/docs/Brush_et_al_2013ICBO.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Brush_et_al_2013ICBO.pdf
--------------------------------------------------------------------------------
/docs/Flybase Examples/4-14-17_Flybase_Genotype_A.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Flybase Examples/4-14-17_Flybase_Genotype_A.jpg
--------------------------------------------------------------------------------
/docs/Flybase Examples/4-14-17_Flybase_Genotype_B.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Flybase Examples/4-14-17_Flybase_Genotype_B.jpg
--------------------------------------------------------------------------------
/docs/Flybase Examples/4-14-17_Flybase_Genotype_C.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Flybase Examples/4-14-17_Flybase_Genotype_C.jpg
--------------------------------------------------------------------------------
/docs/GENO_Overview(2017-02-24).pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/GENO_Overview(2017-02-24).pptx
--------------------------------------------------------------------------------
/docs/GenotypePartonomy.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/GenotypePartonomy.pdf
--------------------------------------------------------------------------------
/docs/Old/GENO_Overview(2016-06-12).pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Old/GENO_Overview(2016-06-12).pptx
--------------------------------------------------------------------------------
/docs/Old/genotype_partonomy_figure(1-20-15).jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Old/genotype_partonomy_figure(1-20-15).jpg
--------------------------------------------------------------------------------
/docs/Old/genotype_partonomy_figure(1-20-15)V2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Old/genotype_partonomy_figure(1-20-15)V2.png
--------------------------------------------------------------------------------
/docs/Old/genotype_partonomy_figure(1-20-15)V3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/Old/genotype_partonomy_figure(1-20-15)V3.png
--------------------------------------------------------------------------------
/docs/VMC-GENO ApoE example genotype.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/docs/VMC-GENO ApoE example genotype.pptx
--------------------------------------------------------------------------------
/docs/~$GENO_Overview(2017-02-24).pptx:
--------------------------------------------------------------------------------
1 |
Matthew Brush
M a t t h e w B r u s h
--------------------------------------------------------------------------------
/reports/geno-edit.owl-obo-report.tsv:
--------------------------------------------------------------------------------
1 | Level Rule Name Subject Property Value
2 | ERROR duplicate_definition GENO:0000847 IAO:0000115 A relation used to describe an environment contextualizing the identity of an entity.
3 | ERROR duplicate_definition GENO:0000873 IAO:0000115 A relation used to describe an environment contextualizing the identity of an entity.
4 | ERROR duplicate_definition GENO:0000846 IAO:0000115 A relation used to describe a process contextualizing the identity of an entity.
5 | ERROR duplicate_definition GENO:0000874 IAO:0000115 A relation used to describe a process contextualizing the identity of an entity.
6 | ERROR duplicate_definition GENO:0000719 IAO:0000115 A genotype that describes the total variation in heritable genomic sequence of a cell or organism, typically in terms of alterations from some reference or background genotype.
7 | ERROR duplicate_definition GENO:0000899 IAO:0000115 A genotype that describes the total variation in heritable genomic sequence of a cell or organism, typically in terms of alterations from some reference or background genotype.
8 | ERROR misused_obsolete_label GENO:0000242 rdfs:label obsolete_specifies
9 | ERROR misused_obsolete_label GENO:0000243 rdfs:label obsolete_approximates_sequence
10 | ERROR misused_obsolete_label GENO:0000244 rdfs:label obsolete_resolves_to_sequence
11 | ERROR misused_obsolete_label GENO:0000253 rdfs:label obsolete_is_specified_by
12 | ERROR misused_obsolete_label GENO:0000359 rdfs:label obsolete_is_phenotype_of_genotype
13 | ERROR misused_obsolete_label GENO:0000368 rdfs:label obsolete_participates_in_inheritance_process
14 | ERROR misused_obsolete_label GENO:0000410 rdfs:label obsolete_is_genetic_variant_of
15 | ERROR misused_obsolete_label GENO:0000411 rdfs:label obsolete_has_genetic_variant
16 | ERROR misused_obsolete_label GENO:0000486 rdfs:label obsolete_is_variant_with@en
17 | ERROR misused_obsolete_label GENO:0000488 rdfs:label obsolete_is_expression_variant_with@en
18 | ERROR misused_obsolete_label GENO:0000712 rdfs:label ObsoleteDataProperty@en
19 | ERROR misused_obsolete_label GENO:0000741 rdfs:label obsolete_has_regulatory_part@en
20 | ERROR misused_obsolete_label GENO:0000742 rdfs:label obsolete_is_alteration_within@en
21 | ERROR misused_obsolete_label GENO:0000767 rdfs:label obsolete_has_position_component@en
22 | ERROR misused_obsolete_label GENO:0000910 rdfs:label obsolete reporter role@en
23 | ERROR misused_obsolete_label GENO:0000911 rdfs:label obsolete selectable marker role@en
24 | ERROR misused_obsolete_label RO:0002354 rdfs:label obsolete_formed as result of@en
25 | ERROR duplicate_label http://biohackathon.org/resource/faldo#reference rdfs:label reference
26 | ERROR duplicate_label GENO:0000152 rdfs:label reference
27 | ERROR multiple_definitions BFO:0000020 IAO:0000115 b is a relational specifically dependent continuant = Def. b is a specifically dependent continuant and there are n > 1 independent continuants c1, … cn which are not spatial regions are such that for all 1 i < j n, ci and cj share no common parts, are such that for each 1 i n, b s-depends_on ci at every time t during the course of b’s existence (axiom label in BFO2 Reference: [131-004])@en
28 | ERROR multiple_definitions BFO:0000020 IAO:0000115 b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003])@en
29 | ERROR multiple_labels BFO:0000002 rdfs:label continuant
30 | ERROR multiple_labels BFO:0000002 rdfs:label continuant@en
31 | ERROR multiple_labels BFO:0000003 rdfs:label occurrent
32 | ERROR multiple_labels BFO:0000003 rdfs:label occurrent@en
33 | ERROR multiple_labels BFO:0000004 rdfs:label independent continuant
34 | ERROR multiple_labels BFO:0000004 rdfs:label independent continuant@en
35 | ERROR multiple_labels BFO:0000015 rdfs:label process
36 | ERROR multiple_labels BFO:0000015 rdfs:label process@en
37 | ERROR multiple_labels BFO:0000016 rdfs:label disposition
38 | ERROR multiple_labels BFO:0000016 rdfs:label disposition@en
39 | ERROR multiple_labels BFO:0000017 rdfs:label realizable entity
40 | ERROR multiple_labels BFO:0000017 rdfs:label realizable entity@en
41 | ERROR multiple_labels BFO:0000019 rdfs:label quality
42 | ERROR multiple_labels BFO:0000019 rdfs:label quality@en
43 | ERROR multiple_labels BFO:0000020 rdfs:label specifically dependent continuant
44 | ERROR multiple_labels BFO:0000020 rdfs:label specifically dependent continuant@en
45 | ERROR multiple_labels BFO:0000023 rdfs:label role
46 | ERROR multiple_labels BFO:0000023 rdfs:label role@en
47 | ERROR multiple_labels BFO:0000031 rdfs:label generically dependent continuant
48 | ERROR multiple_labels BFO:0000031 rdfs:label generically dependent continuant@en
49 | ERROR multiple_labels BFO:0000040 rdfs:label material entity
50 | ERROR multiple_labels BFO:0000040 rdfs:label material entity@en
51 | ERROR multiple_labels GENO:0000910 rdfs:label obsolete reporter role@en
52 | ERROR multiple_labels GENO:0000910 rdfs:label reporter@en
53 | ERROR multiple_labels GENO:0000911 rdfs:label obsolete selectable marker role@en
54 | ERROR multiple_labels GENO:0000911 rdfs:label selectable marker@en
55 | ERROR multiple_labels IAO:0000030 rdfs:label information content entity
56 | ERROR multiple_labels IAO:0000030 rdfs:label information content entity@en
57 | WARN missing_definition http://biohackathon.org/resource/faldo#BothStrandsPosition IAO:0000115
58 | WARN missing_definition http://biohackathon.org/resource/faldo#ForwardStrandPosition IAO:0000115
59 | WARN missing_definition http://biohackathon.org/resource/faldo#ReverseStrandPosition IAO:0000115
60 | WARN missing_definition http://biohackathon.org/resource/faldo#StrandedPosition IAO:0000115
61 | WARN missing_definition http://biohackathon.org/resource/faldo#begin IAO:0000115
62 | WARN missing_definition http://biohackathon.org/resource/faldo#end IAO:0000115
63 | WARN missing_definition http://biohackathon.org/resource/faldo#location IAO:0000115
64 | WARN missing_definition http://biohackathon.org/resource/faldo#position IAO:0000115
65 | WARN missing_definition BFO:0000050 IAO:0000115
66 | WARN missing_definition BFO:0000051 IAO:0000115
67 | WARN missing_definition CHEBI:23367 IAO:0000115
68 | WARN missing_definition CHEBI:33696 IAO:0000115
69 | WARN missing_definition CL:0000000 IAO:0000115
70 | WARN missing_definition ENVO:01000254 IAO:0000115
71 | WARN missing_definition GENO:0000092 IAO:0000115
72 | WARN missing_definition GENO:0000113 IAO:0000115
73 | WARN missing_definition GENO:0000118 IAO:0000115
74 | WARN missing_definition GENO:0000119 IAO:0000115
75 | WARN missing_definition GENO:0000134 IAO:0000115
76 | WARN missing_definition GENO:0000135 IAO:0000115
77 | WARN missing_definition GENO:0000136 IAO:0000115
78 | WARN missing_definition GENO:0000137 IAO:0000115
79 | WARN missing_definition GENO:0000139 IAO:0000115
80 | WARN missing_definition GENO:0000140 IAO:0000115
81 | WARN missing_definition GENO:0000160 IAO:0000115
82 | WARN missing_definition GENO:0000220 IAO:0000115
83 | WARN missing_definition GENO:0000243 IAO:0000115
84 | WARN missing_definition GENO:0000244 IAO:0000115
85 | WARN missing_definition GENO:0000251 IAO:0000115
86 | WARN missing_definition GENO:0000252 IAO:0000115
87 | WARN missing_definition GENO:0000253 IAO:0000115
88 | WARN missing_definition GENO:0000351 IAO:0000115
89 | WARN missing_definition GENO:0000383 IAO:0000115
90 | WARN missing_definition GENO:0000387 IAO:0000115
91 | WARN missing_definition GENO:0000391 IAO:0000115
92 | WARN missing_definition GENO:0000392 IAO:0000115
93 | WARN missing_definition GENO:0000393 IAO:0000115
94 | WARN missing_definition GENO:0000394 IAO:0000115
95 | WARN missing_definition GENO:0000458 IAO:0000115
96 | WARN missing_definition GENO:0000495 IAO:0000115
97 | WARN missing_definition GENO:0000502 IAO:0000115
98 | WARN missing_definition GENO:0000533 IAO:0000115
99 | WARN missing_definition GENO:0000575 IAO:0000115
100 | WARN missing_definition GENO:0000604 IAO:0000115
101 | WARN missing_definition GENO:0000605 IAO:0000115
102 | WARN missing_definition GENO:0000606 IAO:0000115
103 | WARN missing_definition GENO:0000616 IAO:0000115
104 | WARN missing_definition GENO:0000618 IAO:0000115
105 | WARN missing_definition GENO:0000619 IAO:0000115
106 | WARN missing_definition GENO:0000620 IAO:0000115
107 | WARN missing_definition GENO:0000621 IAO:0000115
108 | WARN missing_definition GENO:0000622 IAO:0000115
109 | WARN missing_definition GENO:0000623 IAO:0000115
110 | WARN missing_definition GENO:0000624 IAO:0000115
111 | WARN missing_definition GENO:0000625 IAO:0000115
112 | WARN missing_definition GENO:0000626 IAO:0000115
113 | WARN missing_definition GENO:0000632 IAO:0000115
114 | WARN missing_definition GENO:0000633 IAO:0000115
115 | WARN missing_definition GENO:0000640 IAO:0000115
116 | WARN missing_definition GENO:0000650 IAO:0000115
117 | WARN missing_definition GENO:0000651 IAO:0000115
118 | WARN missing_definition GENO:0000655 IAO:0000115
119 | WARN missing_definition GENO:0000708 IAO:0000115
120 | WARN missing_definition GENO:0000712 IAO:0000115
121 | WARN missing_definition GENO:0000720 IAO:0000115
122 | WARN missing_definition GENO:0000721 IAO:0000115
123 | WARN missing_definition GENO:0000722 IAO:0000115
124 | WARN missing_definition GENO:0000740 IAO:0000115
125 | WARN missing_definition GENO:0000741 IAO:0000115
126 | WARN missing_definition GENO:0000743 IAO:0000115
127 | WARN missing_definition GENO:0000761 IAO:0000115
128 | WARN missing_definition GENO:0000770 IAO:0000115
129 | WARN missing_definition GENO:0000779 IAO:0000115
130 | WARN missing_definition GENO:0000780 IAO:0000115
131 | WARN missing_definition GENO:0000781 IAO:0000115
132 | WARN missing_definition GENO:0000782 IAO:0000115
133 | WARN missing_definition GENO:0000790 IAO:0000115
134 | WARN missing_definition GENO:0000791 IAO:0000115
135 | WARN missing_definition GENO:0000793 IAO:0000115
136 | WARN missing_definition GENO:0000794 IAO:0000115
137 | WARN missing_definition GENO:0000833 IAO:0000115
138 | WARN missing_definition GENO:0000839 IAO:0000115
139 | WARN missing_definition GENO:0000840 IAO:0000115
140 | WARN missing_definition GENO:0000841 IAO:0000115
141 | WARN missing_definition GENO:0000843 IAO:0000115
142 | WARN missing_definition GENO:0000844 IAO:0000115
143 | WARN missing_definition GENO:0000845 IAO:0000115
144 | WARN missing_definition GENO:0000849 IAO:0000115
145 | WARN missing_definition GENO:0000867 IAO:0000115
146 | WARN missing_definition GENO:0000887 IAO:0000115
147 | WARN missing_definition GENO:0000905 IAO:0000115
148 | WARN missing_definition GENO:0000906 IAO:0000115
149 | WARN missing_definition GENO:0000909 IAO:0000115
150 | WARN missing_definition GENO:0000910 IAO:0000115
151 | WARN missing_definition GENO:0000911 IAO:0000115
152 | WARN missing_definition GENO:0000912 IAO:0000115
153 | WARN missing_definition GENO:0000964 IAO:0000115
154 | WARN missing_definition HP:0000118 IAO:0000115
155 | WARN missing_definition HsapDv:0000000 IAO:0000115
156 | WARN missing_definition IAO:0000102 IAO:0000115
157 | WARN missing_definition MP:0000001 IAO:0000115
158 | WARN missing_definition NCBITaxon:10090 IAO:0000115
159 | WARN missing_definition NCBITaxon:10239 IAO:0000115
160 | WARN missing_definition NCBITaxon:7955 IAO:0000115
161 | WARN missing_definition NCBITaxon:8090 IAO:0000115
162 | WARN missing_definition NCBITaxon:9606 IAO:0000115
163 | WARN missing_definition OBI:0000086 IAO:0000115
164 | WARN missing_definition OBI:0100026 IAO:0000115
165 | WARN missing_definition PATO:0000383 IAO:0000115
166 | WARN missing_definition PATO:0000384 IAO:0000115
167 | WARN missing_definition PATO:0001894 IAO:0000115
168 | WARN missing_definition RO:0000087 IAO:0000115
169 | WARN missing_definition RO:0001000 IAO:0000115
170 | WARN missing_definition RO:0002091 IAO:0000115
171 | WARN missing_definition RO:0002093 IAO:0000115
172 | WARN missing_definition RO:0002201 IAO:0000115
173 | WARN missing_definition RO:0002222 IAO:0000115
174 | WARN missing_definition RO:0002350 IAO:0000115
175 | WARN missing_definition RO:0002352 IAO:0000115
176 | WARN missing_definition RO:0002353 IAO:0000115
177 | WARN missing_definition RO:0002354 IAO:0000115
178 | WARN missing_definition RO:0002525 IAO:0000115
179 | WARN missing_definition SO:0000165 IAO:0000115
180 | WARN missing_definition SO:0000207 IAO:0000115
181 | WARN missing_definition SO:0000248 IAO:0000115
182 | WARN missing_definition SO:0000281 IAO:0000115
183 | WARN missing_definition SO:0000337 IAO:0000115
184 | WARN missing_definition SO:0000577 IAO:0000115
185 | WARN missing_definition SO:0000699 IAO:0000115
186 | WARN missing_definition SO:0000804 IAO:0000115
187 | WARN missing_definition SO:0001785 IAO:0000115
188 | WARN missing_definition SO:0005836 IAO:0000115
189 | WARN missing_definition SO:1000013 IAO:0000115
190 | WARN missing_definition SO:1000020 IAO:0000115
191 | WARN missing_definition UBERON:0000105 IAO:0000115
192 | WARN missing_definition UBERON:0001062 IAO:0000115
193 | WARN missing_definition UPHENO:0001001 IAO:0000115
194 | WARN missing_definition ZP:0000199 IAO:0000115
195 | WARN missing_definition ZP:0000386 IAO:0000115
196 | WARN missing_definition ZP:0000755 IAO:0000115
197 | WARN missing_definition ZP:0005531 IAO:0000115
198 | WARN missing_definition ZP:0005692 IAO:0000115
199 | WARN missing_definition http://purl.org/oban/association IAO:0000115
200 | WARN missing_definition http://purl.org/oban/association_has_object IAO:0000115
201 | WARN missing_definition http://purl.org/oban/association_has_predicate IAO:0000115
202 | WARN missing_definition http://purl.org/oban/association_has_subject IAO:0000115
203 | WARN missing_definition http://www.ncbi.nlm.nih.gov/gene/20423 IAO:0000115
204 | WARN missing_definition http://www.ncbi.nlm.nih.gov/gene/30269 IAO:0000115
205 | WARN missing_definition http://www.ncbi.nlm.nih.gov/gene/399483 IAO:0000115
206 | WARN missing_definition http://www.ncbi.nlm.nih.gov/gene/6469 IAO:0000115
207 | WARN invalid_xref GENO:0000010 oboInOwl:hasDbXref OBI:genetic population background information
208 | WARN invalid_xref GENO:0000014 oboInOwl:hasDbXref http://purl.obolibrary.org/obo/SO_0001023 ! allele
209 | WARN invalid_xref GENO:0000019 oboInOwl:hasDbXref perhaps not same as SO:sequence collection, as here we explicitly include features that can have an extent of zero (and SO:sequence collection is a collection of regions that have an extent of at least one)
210 | WARN invalid_xref GENO:0000033 oboInOwl:hasDbXref http://purl.obolibrary.org/obo/SO_0001506 ! variant_genome (definition of SO term here is too vague to know if has same meaning as GENO class here)
211 | WARN invalid_xref GENO:0000666 oboInOwl:hasDbXref SO:0000831 (gene member region)
212 | WARN invalid_xref GENO:0000870 oboInOwl:hasDbXref http://purl.obolibrary.org/obo/SO_0001260 ! sequence_collection
213 | INFO lowercase_definition BFO:0000004 IAO:0000115 b is an independent continuant = Def. b is a continuant which is such that there is no c and no t such that b s-depends_on c at t. (axiom label in BFO2 Reference: [017-002])@en
214 | INFO lowercase_definition BFO:0000015 IAO:0000115 p is a process = Def. p is an occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t. (axiom label in BFO2 Reference: [083-003])@en
215 | INFO lowercase_definition BFO:0000016 IAO:0000600 b is a disposition means: b is a realizable entity & b’s bearer is some material entity & b is such that if it ceases to exist, then its bearer is physically changed, & b’s realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer’s physical make-up. (axiom label in BFO2 Reference: [062-002])@en
216 | INFO lowercase_definition BFO:0000019 IAO:0000600 a quality is a specifically dependent continuant that, in contrast to roles and dispositions, does not require any further process in order to be realized. (axiom label in BFO2 Reference: [055-001])@en
217 | INFO lowercase_definition BFO:0000020 IAO:0000115 b is a relational specifically dependent continuant = Def. b is a specifically dependent continuant and there are n > 1 independent continuants c1, … cn which are not spatial regions are such that for all 1 i < j n, ci and cj share no common parts, are such that for each 1 i n, b s-depends_on ci at every time t during the course of b’s existence (axiom label in BFO2 Reference: [131-004])@en
218 | INFO lowercase_definition BFO:0000020 IAO:0000115 b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003])@en
219 | INFO lowercase_definition BFO:0000023 IAO:0000600 b is a role means: b is a realizable entity and b exists because there is some single bearer that is in some special physical, social, or institutional set of circumstances in which this bearer does not have to be and b is not such that, if it ceases to exist, then the physical make-up of the bearer is thereby changed. (axiom label in BFO2 Reference: [061-001])@en
220 | INFO lowercase_definition BFO:0000031 IAO:0000115 b is a generically dependent continuant = Def. b is a continuant that g-depends_on one or more other entities. (axiom label in BFO2 Reference: [074-001])@en
221 | INFO lowercase_definition GENO:0000019 IAO:0000115 a collection more than one sequence features (ie a collection of discontinuous sequence features)
222 | INFO lowercase_definition GENO:0000111 IAO:0000115 a population of homo sapiens grouped together in virtue of their sharing some commonality (either an inherent attribute or an externally assigned role)
223 | INFO lowercase_definition GENO:0000125 IAO:0000115 sequence attribute that can inhere only in a collection of more than one sequence features
224 | INFO lowercase_definition GENO:0000142 IAO:0000115 disposition inhering in a genetic locus variant that is realized in its inheritance by some offspring such that at least a partial variant-associated phenotype is apparent in heterozygotes
225 | INFO lowercase_definition GENO:0000359 IAO:0000115 shortcut relation used to link a phenotype directly to a genotype of an organism
226 | INFO lowercase_definition GENO:0000513 IAO:0000115 a sequence attribute of a chromosome or chromosomal region that has been abnormally duplicated or lost, as the result of a non-disjunction event or unbalanced translocation.
227 | INFO lowercase_definition GENO:0000602 IAO:0000115 an allelic state where a single allele exists at a particular location in the organellar genome (mitochondrial or plastid) of a cell/organism.
228 | INFO lowercase_definition GENO:0000603 IAO:0000115 an allelic state where more than one type of allele exists at a particular location in the organellar genome (mitochondrial or plastid) of a cell/organism.
229 | INFO lowercase_definition GENO:0000608 IAO:0000115 a relation to link a single locus complement to its zygosity.
230 | INFO lowercase_definition GENO:0000634 IAO:0000115 relation between an molecular agent and its molecular target
231 | INFO lowercase_definition GENO:0000883 IAO:0000115 a quality inhering in a feature in virtue of its presence only in the genome of gametes (germ cells).
232 | INFO lowercase_definition IAO:0000030 IAO:0000115 an information content entity is an entity that is generically dependent on some artifact and stands in relation of aboutness to some entity@en
233 | INFO lowercase_definition IAO:0000136 IAO:0000115 is_about is a (currently) primitive relation that relates an information artifact to an entity.
234 | INFO lowercase_definition OBI:0000181 IAO:0000115 a population is a collection of individuals from the same taxonomic class living, counted or sampled at a particular site or in a particular area
235 | INFO lowercase_definition RO:0000052 IAO:0000115 a relation between a specifically dependent continuant (the dependent) and an independent continuant (the bearer), in which the dependent specifically depends on the bearer for its existence
236 | INFO lowercase_definition RO:0000053 IAO:0000115 a relation between an independent continuant (the bearer) and a specifically dependent continuant (the dependent), in which the dependent specifically depends on the bearer for its existence
237 | INFO lowercase_definition RO:0000056 IAO:0000115 a relation between a continuant and a process, in which the continuant is somehow involved in the process
238 | INFO lowercase_definition RO:0000057 IAO:0000115 a relation between a process and a continuant, in which the continuant is somehow involved in the process
239 | INFO lowercase_definition RO:0000086 IAO:0000115 a relation between an independent continuant (the bearer) and a quality, in which the quality specifically depends on the bearer for its existence
240 | INFO lowercase_definition RO:0000091 IAO:0000115 a relation between an independent continuant (the bearer) and a disposition, in which the disposition specifically depends on the bearer for its existence
241 | INFO lowercase_definition RO:0002131 IAO:0000115 x overlaps y if and only if there exists some z such that x has part z and z part of y
242 | INFO lowercase_definition RO:0002162 IAO:0000115 x is in taxon y if an only if y is an organism, and the relationship between x and y is one of: part of (reflexive), developmentally preceded by, derives from, secreted by, expressed.
243 | INFO lowercase_definition RO:0002233 IAO:0000115 p has direct input c iff c is a participant in p, c is present at the start of p, and the state of c is modified during p.
244 | INFO lowercase_definition RO:0002234 IAO:0000115 p has output c iff c is a participant in p, c is present at the end of p, and c is not present at the beginning of p.
245 | INFO lowercase_definition RO:0002351 IAO:0000115 has member is a mereological relation between a collection and an item.
246 | INFO lowercase_definition RO:0002522 IAO:0000115 x bounds the sequence of y iff the upstream-most part of x is upstream of or coincident with the upstream-most part of y, and the downstream-most part of x is downstream of or coincident with the downstream-most part of y
247 | INFO lowercase_definition RO:0002524 IAO:0000115 x has subsequence y iff all of the sequence parts of x are sequence parts of y
248 | INFO lowercase_definition RO:0002526 IAO:0000115 x overlaps the sequence of x if and only if x has a subsequence z and z is a subsequence of y.
249 | INFO lowercase_definition RO:0002528 IAO:0000115 inverse of downstream of sequence of
250 | INFO lowercase_definition RO:0002529 IAO:0000115 x is downstream of the sequence of y iff either (1) x and y have sequence units, and all units of x are downstream of all units of y, or (2) x and y are sequence units, and x is either immediately downstream of y, or transitively downstream of y.
251 | INFO missing_superclass BFO:0000001 rdfs:subClassOf
252 | INFO missing_superclass GENO:0000009 rdfs:subClassOf
253 | INFO missing_superclass GENO:0000017 rdfs:subClassOf
254 | INFO missing_superclass GENO:0000030 rdfs:subClassOf
255 | INFO missing_superclass GENO:0000036 rdfs:subClassOf
256 | INFO missing_superclass GENO:0000047 rdfs:subClassOf
257 | INFO missing_superclass GENO:0000054 rdfs:subClassOf
258 | INFO missing_superclass GENO:0000057 rdfs:subClassOf
259 | INFO missing_superclass GENO:0000460 rdfs:subClassOf
260 | INFO missing_superclass GENO:0000494 rdfs:subClassOf
261 | INFO missing_superclass GENO:0000512 rdfs:subClassOf
262 | INFO missing_superclass GENO:0000666 rdfs:subClassOf
263 | INFO missing_superclass GENO:0000720 rdfs:subClassOf
264 | INFO missing_superclass GENO:0000721 rdfs:subClassOf
265 | INFO missing_superclass GENO:0000722 rdfs:subClassOf
266 | INFO missing_superclass GENO:0000777 rdfs:subClassOf
267 | INFO missing_superclass GENO:0000779 rdfs:subClassOf
268 | INFO missing_superclass GENO:0000823 rdfs:subClassOf
269 | INFO missing_superclass GENO:0000885 rdfs:subClassOf
270 | INFO missing_superclass SO:0000804 rdfs:subClassOf
271 | INFO missing_superclass SO:0000830 rdfs:subClassOf
272 | INFO missing_superclass SO:0001059 rdfs:subClassOf
273 |
--------------------------------------------------------------------------------
/src/metadata/README.md:
--------------------------------------------------------------------------------
1 | Metadata files for the OBO Library
2 |
3 | * [geno.yml](geno.yml)
4 | * Determines how your purl.obolibrary.org/obo/geno/ redirects will be handled
5 | * Go here: https://github.com/OBOFoundry/purl.obolibrary.org/tree/master/config
6 | * Click [New File](https://github.com/OBOFoundry/purl.obolibrary.org/new/master/config)
7 | * Paste in the contents of [geno.yml](geno.yml)
8 | * Click "Commit new file"
9 | * IMPORTANT: remember to make a pull request
10 | * An OBO admin will merge your Pull Request *providing it meets the requirements of the OBO library*
11 | * [geno.md](geno.md)
12 | * Determines how your metadata is shown on OBO Library, OLS and AberOWL
13 | * Go here: https://github.com/OBOFoundry/OBOFoundry.github.io/tree/master/ontology
14 | * Click [New File](https://github.com/OBOFoundry/OBOFoundry.github.io/new/master/ontology)
15 | * Paste in the contents of [geno.md](geno.md)
16 | * Click "Commit new file"
17 | * IMPORTANT: remember to make a pull request
18 | * An OBO admin will merge your Pull Request *providing it meets the requirements of the OBO library*
19 |
20 | For more background see:
21 |
22 | * http://obofoundry.org/
23 | * http://obofoundry.org/faq/how-do-i-edit-metadata.html
--------------------------------------------------------------------------------
/src/metadata/geno.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: ontology_detail
3 | id: geno
4 | title: GENO ontology
5 | jobs:
6 | - id: https://travis-ci.org/monarch-initiative/GENO-ontology
7 | type: travis-ci
8 | build:
9 | checkout: git clone https://github.com/monarch-initiative/GENO-ontology.git
10 | system: git
11 | path: "."
12 | contact:
13 | email:
14 | label:
15 | github:
16 | description: GENO ontology is an ontology...
17 | domain: stuff
18 | homepage: https://github.com/monarch-initiative/GENO-ontology
19 | products:
20 | - id: geno.owl
21 | name: "GENO ontology main release in OWL format"
22 | - id: geno.obo
23 | name: "GENO ontology additional release in OBO format"
24 | - id: geno.json
25 | name: "GENO ontology additional release in OBOJSon format"
26 | - id: geno/geno-base.owl
27 | name: "GENO ontology main release in OWL format"
28 | - id: geno/geno-base.obo
29 | name: "GENO ontology additional release in OBO format"
30 | - id: geno/geno-base.json
31 | name: "GENO ontology additional release in OBOJSon format"
32 | dependencies:
33 | - id: ro
34 | - id: iao
35 | - id: so
36 |
37 | tracker: https://github.com/monarch-initiative/GENO-ontology/issues
38 | license:
39 | url: http://creativecommons.org/licenses/by/3.0/
40 | label: CC-BY
41 | activity_status: active
42 | ---
43 |
44 | Enter a detailed description of your ontology here. You can use arbitrary markdown and HTML.
45 | You can also embed images too.
46 |
47 |
--------------------------------------------------------------------------------
/src/metadata/geno.yml:
--------------------------------------------------------------------------------
1 | # PURL configuration for http://purl.obolibrary.org/obo/geno
2 |
3 | idspace: GENO
4 | base_url: /obo/geno
5 |
6 | products:
7 | - geno.owl: https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/master/geno.owl
8 | - geno.obo: https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/master/geno.obo
9 |
10 | term_browser: ontobee
11 | example_terms:
12 | - geno_0000000
13 |
14 | entries:
15 |
16 | - prefix: /releases/
17 | replacement: https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/v
18 |
19 | - prefix: /tracker/
20 | replacement: https://github.com/monarch-initiative/GENO-ontology/issues
21 |
22 | - prefix: /about/
23 | replacement: http://www.ontobee.org/ontology/GENO?iri=http://purl.obolibrary.org/obo/
24 |
25 | ## generic fall-through, serve direct from github by default
26 | - prefix: /
27 | replacement: https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/master/
28 |
--------------------------------------------------------------------------------
/src/ontology/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM cmungall/osk
2 |
3 | CMD make test
4 |
--------------------------------------------------------------------------------
/src/ontology/Makefile:
--------------------------------------------------------------------------------
1 | # ----------------------------------------
2 | # Makefile for geno
3 | # Generated using ontology-development-kit
4 | # ODK Version: v1.4
5 | # ----------------------------------------
6 | # IMPORTANT: DO NOT EDIT THIS FILE. To override default make goals, use geno.Makefile instead
7 |
8 |
9 | # ----------------------------------------
10 | # More information: https://github.com/INCATools/ontology-development-kit/
11 |
12 |
13 | # ----------------------------------------
14 | # Standard Constants
15 | # ----------------------------------------
16 | # these can be overwritten on the command line
17 |
18 | OBOBASE= http://purl.obolibrary.org/obo
19 | URIBASE= http://purl.obolibrary.org/obo
20 | ONT= geno
21 | ONTBASE= http://purl.obolibrary.org/obo/geno
22 | EDIT_FORMAT= owl
23 | SRC = $(ONT)-edit.$(EDIT_FORMAT)
24 | MAKE_FAST= $(MAKE) IMP=false PAT=false COMP=false MIR=false
25 | CATALOG= catalog-v001.xml
26 | ROBOT= robot --catalog $(CATALOG)
27 |
28 | OWLTOOLS= owltools --use-catalog
29 | RELEASEDIR= ../..
30 | REPORTDIR= reports
31 | TEMPLATEDIR= ../templates
32 | TMPDIR= tmp
33 | MIRRORDIR= mirror
34 | IMPORTDIR= imports
35 | SUBSETDIR= subsets
36 | SCRIPTSDIR= ../scripts
37 | UPDATEREPODIR= target
38 | SPARQLDIR = ../sparql
39 | COMPONENTSDIR = components
40 | REPORT_FAIL_ON = ERROR
41 | REPORT_LABEL = -l true
42 | REPORT_PROFILE_OPTS =
43 | OBO_FORMAT_OPTIONS =
44 | SPARQL_VALIDATION_CHECKS = owldef-self-reference iri-range label-with-iri multiple-replaced_by
45 | SPARQL_EXPORTS = basic-report class-count-by-prefix edges xrefs obsoletes synonyms
46 | ODK_VERSION_MAKEFILE = v1.4
47 |
48 | TODAY ?= $(shell date +%Y-%m-%d)
49 | OBODATE ?= $(shell date +'%d:%m:%Y %H:%M')
50 | VERSION= $(TODAY)
51 | ANNOTATE_ONTOLOGY_VERSION = annotate -V $(ONTBASE)/releases/$(VERSION)/$@ --annotation owl:versionInfo $(VERSION)
52 | ANNOTATE_CONVERT_FILE = annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) convert -f ofn --output $@.tmp.owl && mv $@.tmp.owl $@
53 | OTHER_SRC =
54 | ONTOLOGYTERMS = $(TMPDIR)/ontologyterms.txt
55 | EDIT_PREPROCESSED = $(TMPDIR)/$(ONT)-preprocess.owl
56 |
57 | FORMATS = $(sort owl obo json owl)
58 | FORMATS_INCL_TSV = $(sort $(FORMATS) tsv)
59 | RELEASE_ARTEFACTS = $(sort $(ONT)-base $(ONT)-full )
60 |
61 | # ----------------------------------------
62 | # Top-level targets
63 | # ----------------------------------------
64 |
65 | .PHONY: .FORCE
66 |
67 | .PHONY: all
68 | all: all_odk
69 |
70 | .PHONY: all_odk
71 | all_odk: odkversion test all_assets
72 |
73 | .PHONY: test
74 | test: odkversion reason_test sparql_test robot_reports $(REPORTDIR)/validate_profile_owl2dl_$(ONT).owl.txt
75 | echo "Finished running all tests successfully."
76 |
77 | .PHONY: release_diff
78 | release_diff: $(REPORTDIR)/release-diff.md
79 |
80 | .PHONY: reason_test
81 | reason_test: $(EDIT_PREPROCESSED)
82 | $(ROBOT) reason --input $< --reasoner ELK --equivalent-classes-allowed asserted-only \
83 | --exclude-tautologies structural --output test.owl && rm test.owl
84 |
85 | .PHONY: odkversion
86 | odkversion:
87 | echo "ODK Makefile version: $(ODK_VERSION_MAKEFILE) (this is the version of the ODK with which this Makefile was generated, \
88 | not the version of the ODK you are running)" &&\
89 | echo "ROBOT version (ODK): " && $(ROBOT) --version
90 |
91 | $(TMPDIR) $(REPORTDIR) $(MIRRORDIR) $(IMPORTDIR) $(COMPONENTSDIR) $(SUBSETDIR):
92 | mkdir -p $@
93 |
94 | # ----------------------------------------
95 | # Release assets
96 | # ----------------------------------------
97 |
98 | MAIN_PRODUCTS = $(sort $(foreach r,$(RELEASE_ARTEFACTS), $(r)) $(ONT))
99 | MAIN_GZIPPED =
100 | MAIN_FILES = $(foreach n,$(MAIN_PRODUCTS), $(foreach f,$(FORMATS), $(n).$(f))) $(MAIN_GZIPPED)
101 | SRCMERGED = $(TMPDIR)/merged-$(SRC)
102 |
103 | .PHONY: all_main
104 | all_main: $(MAIN_FILES)
105 |
106 | # ----------------------------------------
107 | # Import assets
108 | # ----------------------------------------
109 |
110 |
111 | IMPORTS = ro omo obi
112 |
113 | IMPORT_ROOTS = $(patsubst %, $(IMPORTDIR)/%_import, $(IMPORTS))
114 | IMPORT_OWL_FILES = $(foreach n,$(IMPORT_ROOTS), $(n).owl)
115 | IMPORT_FILES = $(IMPORT_OWL_FILES)
116 |
117 |
118 | .PHONY: all_imports
119 | all_imports: $(IMPORT_FILES)
120 |
121 | # ----------------------------------------
122 | # Subset assets
123 | # ----------------------------------------
124 |
125 |
126 | SUBSETS =
127 |
128 | SUBSET_ROOTS = $(patsubst %, $(SUBSETDIR)/%, $(SUBSETS))
129 | SUBSET_FILES = $(foreach n,$(SUBSET_ROOTS), $(foreach f,$(FORMATS_INCL_TSV), $(n).$(f)))
130 |
131 | .PHONY: all_subsets
132 | all_subsets: $(SUBSET_FILES)
133 |
134 | # ----------------------------------------
135 | # Mapping assets
136 | # ----------------------------------------
137 |
138 |
139 | MAPPINGS =
140 |
141 | MAPPING_FILES = $(patsubst %, $(MAPPINGDIR)/%.sssom.tsv, $(MAPPINGS))
142 |
143 | .PHONY: all_mappings
144 | all_mappings: $(MAPPING_FILES)
145 |
146 |
147 | # ----------------------------------------
148 | # QC Reports & Utilities
149 | # ----------------------------------------
150 |
151 | OBO_REPORT = geno-base.owl-obo-report $(SRC)-obo-report
152 | REPORTS = $(OBO_REPORT)
153 | REPORT_FILES = $(patsubst %, $(REPORTDIR)/%.tsv, $(REPORTS))
154 |
155 | .PHONY: robot_reports
156 | robot_reports: $(REPORT_FILES)
157 |
158 | .PHONY: all_reports
159 | all_reports: custom_reports robot_reports
160 |
161 | # ----------------------------------------
162 | # ROBOT OWL Profile checking
163 | # ----------------------------------------
164 |
165 | # The merge step is necessary to avoid undeclared entity violations.
166 | $(REPORTDIR)/validate_profile_owl2dl_%.txt: % | $(REPORTDIR) $(TMPDIR)
167 | $(ROBOT) merge -i $< convert -f ofn -o $(TMPDIR)/validate.ofn
168 | $(ROBOT) validate-profile --profile DL -i $(TMPDIR)/validate.ofn -o $@ || { cat $@ && exit 1; }
169 | .PRECIOUS: $(REPORTDIR)/validate_profile_owl2dl_%.txt
170 |
171 | validate_profile_%: $(REPORTDIR)/validate_profile_owl2dl_%.txt
172 | echo "$* profile validation completed."
173 |
174 | # ----------------------------------------
175 | # Sparql queries: Q/C
176 | # ----------------------------------------
177 |
178 | # these live in the ../sparql directory, and have suffix -violation.sparql
179 | # adding the name here will make the violation check live.
180 |
181 | SPARQL_VALIDATION_QUERIES = $(foreach V,$(SPARQL_VALIDATION_CHECKS),$(SPARQLDIR)/$(V)-violation.sparql)
182 |
183 | sparql_test: $(EDIT_PREPROCESSED) catalog-v001.xml | $(REPORTDIR)
184 | ifneq ($(SPARQL_VALIDATION_QUERIES),)
185 |
186 | $(ROBOT) verify --catalog catalog-v001.xml -i $(EDIT_PREPROCESSED) --queries $(SPARQL_VALIDATION_QUERIES) -O $(REPORTDIR)
187 | endif
188 |
189 | # ----------------------------------------
190 | # ROBOT report
191 | # ----------------------------------------
192 |
193 | $(REPORTDIR)/$(SRC)-obo-report.tsv: $(SRCMERGED) | $(REPORTDIR)
194 | $(ROBOT) report -i $< $(REPORT_LABEL) $(REPORT_PROFILE_OPTS) --fail-on $(REPORT_FAIL_ON) --base-iri $(URIBASE)/GENO_ --base-iri $(URIBASE)/geno --print 5 -o $@
195 |
196 | $(REPORTDIR)/%-obo-report.tsv: % | $(REPORTDIR)
197 | $(ROBOT) report -i $< $(REPORT_LABEL) $(REPORT_PROFILE_OPTS) --fail-on $(REPORT_FAIL_ON) --base-iri $(URIBASE)/GENO_ --base-iri $(URIBASE)/geno --print 5 -o $@
198 |
199 | # ----------------------------------------
200 | # Release assets
201 | # ----------------------------------------
202 |
203 | ASSETS = \
204 | $(IMPORT_FILES) \
205 | $(MAIN_FILES) \
206 | $(REPORT_FILES) \
207 | $(SUBSET_FILES) \
208 | $(MAPPING_FILES)
209 |
210 | RELEASE_ASSETS = \
211 | $(MAIN_FILES) \
212 | $(SUBSET_FILES)
213 |
214 | .PHONY: all_assets
215 | all_assets: $(ASSETS)
216 |
217 | .PHONY: show_assets
218 | show_assets:
219 | echo $(ASSETS)
220 | du -sh $(ASSETS)
221 |
222 | check_rdfxml_%: %
223 | @check-rdfxml $<
224 |
225 | .PHONY: check_rdfxml_assets
226 | check_rdfxml_assets: $(foreach product,$(MAIN_PRODUCTS),check_rdfxml_$(product).owl)
227 |
228 | # ----------------------------------------
229 | # Release Management
230 | # ----------------------------------------
231 |
232 | CLEANFILES=$(MAIN_FILES) $(SRCMERGED) $(EDIT_PREPROCESSED)
233 | # This should be executed by the release manager whenever time comes to make a release.
234 | # It will ensure that all assets/files are fresh, and will copy to release folder
235 |
236 | .PHONY: prepare_release
237 | prepare_release: all_odk
238 | rsync -R $(RELEASE_ASSETS) $(RELEASEDIR) &&\
239 | rm -f $(CLEANFILES) &&\
240 | echo "Release files are now in $(RELEASEDIR) - now you should commit, push and make a release \
241 | on your git hosting site such as GitHub or GitLab"
242 |
243 | .PHONY: prepare_initial_release
244 | prepare_initial_release: all_assets
245 | rsync -R $(RELEASE_ASSETS) $(RELEASEDIR) &&\
246 | rm -f $(patsubst %, ./%, $(CLEANFILES)) &&\
247 | cd $(RELEASEDIR) && git add $(RELEASE_ASSETS)
248 |
249 | .PHONY: prepare_release_fast
250 | prepare_release_fast:
251 | $(MAKE) prepare_release IMP=false PAT=false MIR=false COMP=false
252 |
253 | CURRENT_RELEASE=$(ONTBASE).owl
254 |
255 | $(TMPDIR)/current-release.owl:
256 | wget $(CURRENT_RELEASE) -O $@
257 |
258 | $(REPORTDIR)/release-diff.md: $(ONT).owl $(TMPDIR)/current-release.owl
259 | $(ROBOT) diff --labels true --left $(TMPDIR)/current-release.owl --right $(ONT).owl -f markdown -o $@
260 |
261 | # ------------------------
262 | # Imports: Seeding system
263 | # ------------------------
264 |
265 | # seed.txt contains all referenced entities
266 | IMPORTSEED=$(TMPDIR)/seed.txt
267 | PRESEED=$(TMPDIR)/pre_seed.txt
268 |
269 | $(SRCMERGED): $(EDIT_PREPROCESSED) $(OTHER_SRC)
270 | $(ROBOT) remove --input $< --select imports --trim false \
271 | merge $(patsubst %, -i %, $(OTHER_SRC)) -o $@
272 |
273 | $(EDIT_PREPROCESSED): $(SRC)
274 | $(ROBOT) convert --input $< --format ofn --output $@
275 |
276 | $(PRESEED): $(SRCMERGED)
277 | $(ROBOT) query -f csv -i $< --query ../sparql/terms.sparql $@.tmp &&\
278 | cat $@.tmp | sort | uniq > $@
279 |
280 |
281 |
282 | ALLSEED = $(PRESEED) \
283 |
284 |
285 | $(IMPORTSEED): $(ALLSEED) | $(TMPDIR)
286 | if [ $(IMP) = true ]; then cat $(ALLSEED) | sort | uniq > $@; fi
287 |
288 | ANNOTATION_PROPERTIES=rdfs:label IAO:0000115
289 |
290 | # ----------------------------------------
291 | # Import modules
292 | # ----------------------------------------
293 | # Most ontologies are modularly constructed using portions of other ontologies
294 | # These live in the imports/ folder
295 | # This pattern uses ROBOT to generate an import module
296 |
297 | # Should be able to drop this if robot can just take a big messy list of terms as input.
298 | $(IMPORTDIR)/%_terms_combined.txt: $(IMPORTSEED) $(IMPORTDIR)/%_terms.txt
299 | if [ $(IMP) = true ]; then cat $^ | grep -v ^# | sort | uniq > $@; fi
300 |
301 |
302 |
303 |
304 | $(IMPORTDIR)/%_import.owl: $(MIRRORDIR)/%.owl $(IMPORTDIR)/%_terms_combined.txt
305 | if [ $(IMP) = true ]; then $(ROBOT) query -i $< --update ../sparql/preprocess-module.ru \
306 | extract -T $(IMPORTDIR)/$*_terms_combined.txt --force true --copy-ontology-annotations true --individuals include --method BOT \
307 | query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru \
308 | $(ANNOTATE_CONVERT_FILE); fi
309 |
310 | .PRECIOUS: $(IMPORTDIR)/%_import.owl
311 |
312 | ## Module for ontology: omo
313 |
314 | $(IMPORTDIR)/omo_import.owl: $(MIRRORDIR)/omo.owl $(IMPORTDIR)/omo_terms_combined.txt
315 | if [ $(IMP) = true ]; then $(ROBOT) merge -i $< query --update ../sparql/preprocess-module.ru --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru --update ../sparql/postprocess-module.ru \
316 | $(ANNOTATE_CONVERT_FILE); fi
317 |
318 |
319 | .PHONY: refresh-imports
320 | refresh-imports:
321 | $(MAKE) IMP=true MIR=true PAT=false IMP_LARGE=true all_imports -B
322 |
323 | .PHONY: no-mirror-refresh-imports
324 | no-mirror-refresh-imports:
325 | $(MAKE) IMP=true MIR=false PAT=false IMP_LARGE=true all_imports -B
326 |
327 | .PHONY: refresh-imports-excluding-large
328 | refresh-imports-excluding-large:
329 | $(MAKE) IMP=true MIR=true PAT=false IMP_LARGE=false all_imports -B
330 |
331 | .PHONY: refresh-%
332 | refresh-%:
333 | $(MAKE) IMP=true IMP_LARGE=true MIR=true PAT=false $(IMPORTDIR)/$*_import.owl -B
334 |
335 | .PHONY: no-mirror-refresh-%
336 | no-mirror-refresh-%:
337 | $(MAKE) IMP=true IMP_LARGE=true MIR=false PAT=false $(IMPORTDIR)/$*_import.owl -B
338 |
339 | # ----------------------------------------
340 | # Mirroring upstream ontologies
341 | # ----------------------------------------
342 |
343 | IMP=true # Global parameter to bypass import generation
344 | MIR=true # Global parameter to bypass mirror generation
345 | IMP_LARGE=true # Global parameter to bypass handling of large imports
346 |
347 |
348 |
349 | ## ONTOLOGY: ro
350 | .PHONY: mirror-ro
351 | .PRECIOUS: $(MIRRORDIR)/ro.owl
352 | mirror-ro: | $(TMPDIR)
353 | if [ $(MIR) = true ] && [ $(IMP) = true ]; then curl -L $(OBOBASE)/ro.owl --create-dirs -o $(MIRRORDIR)/ro.owl --retry 4 --max-time 200 &&\
354 | $(ROBOT) convert -i $(MIRRORDIR)/ro.owl -o $@.tmp.owl &&\
355 | mv $@.tmp.owl $(TMPDIR)/$@.owl; fi
356 |
357 |
358 | ## ONTOLOGY: omo
359 | .PHONY: mirror-omo
360 | .PRECIOUS: $(MIRRORDIR)/omo.owl
361 | mirror-omo: | $(TMPDIR)
362 | if [ $(MIR) = true ] && [ $(IMP) = true ]; then curl -L $(OBOBASE)/omo.owl --create-dirs -o $(MIRRORDIR)/omo.owl --retry 4 --max-time 200 &&\
363 | $(ROBOT) convert -i $(MIRRORDIR)/omo.owl -o $@.tmp.owl &&\
364 | mv $@.tmp.owl $(TMPDIR)/$@.owl; fi
365 |
366 |
367 | ## ONTOLOGY: obi
368 | .PHONY: mirror-obi
369 | .PRECIOUS: $(MIRRORDIR)/obi.owl
370 | mirror-obi: | $(TMPDIR)
371 | if [ $(MIR) = true ] && [ $(IMP) = true ]; then curl -L $(OBOBASE)/obi.owl --create-dirs -o $(MIRRORDIR)/obi.owl --retry 4 --max-time 200 &&\
372 | $(ROBOT) convert -i $(MIRRORDIR)/obi.owl -o $@.tmp.owl &&\
373 | mv $@.tmp.owl $(TMPDIR)/$@.owl; fi
374 |
375 |
376 | $(MIRRORDIR)/%.owl: mirror-% | $(MIRRORDIR)
377 | if [ $(IMP) = true ] && [ $(MIR) = true ] && [ -f $(TMPDIR)/mirror-$*.owl ]; then if cmp -s $(TMPDIR)/mirror-$*.owl $@ ; then echo "Mirror identical, ignoring."; else echo "Mirrors different, updating." &&\
378 | cp $(TMPDIR)/mirror-$*.owl $@; fi; fi
379 |
380 |
381 |
382 |
383 | # ----------------------------------------
384 | # Subsets
385 | # ----------------------------------------
386 | $(SUBSETDIR)/%.tsv: $(SUBSETDIR)/%.owl
387 | $(ROBOT) query -f tsv -i $< -s ../sparql/labels.sparql $@
388 | .PRECIOUS: $(SUBSETDIR)/%.tsv
389 |
390 | $(SUBSETDIR)/%.owl: $(ONT).owl | $(SUBSETDIR)
391 | $(OWLTOOLS) $< --extract-ontology-subset --fill-gaps --subset $* -o $@.tmp.owl && mv $@.tmp.owl $@ &&\
392 | $(ROBOT) annotate --input $@ --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) -o $@.tmp.owl && mv $@.tmp.owl $@
393 | .PRECIOUS: $(SUBSETDIR)/%.owl
394 |
395 |
396 | $(SUBSETDIR)/%.obo: $(SUBSETDIR)/%.owl
397 | $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo
398 |
399 | $(SUBSETDIR)/%.json: $(SUBSETDIR)/%.owl
400 | $(ROBOT) convert --input $< --check false -f json -o $@.tmp.json &&\
401 | mv $@.tmp.json $@
402 |
403 |
404 | # ---------------------------------------------
405 | # Sparql queries: Table exports / Query Reports
406 | # ---------------------------------------------
407 |
408 | SPARQL_EXPORTS_ARGS = $(foreach V,$(SPARQL_EXPORTS),-s $(SPARQLDIR)/$(V).sparql $(REPORTDIR)/$(V).tsv)
409 | # This combines all into one single command
410 |
411 | .PHONY: custom_reports
412 | custom_reports: $(EDIT_PREPROCESSED) | $(REPORTDIR)
413 | ifneq ($(SPARQL_EXPORTS_ARGS),)
414 | $(ROBOT) query -f tsv --use-graphs true -i $< $(SPARQL_EXPORTS_ARGS)
415 | endif
416 |
417 | # ----------------------------------------
418 | # Release artefacts: export formats
419 | # ----------------------------------------
420 |
421 |
422 | $(ONT)-base.obo: $(ONT)-base.owl
423 | $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo
424 | $(ONT)-base.json: $(ONT)-base.owl
425 | $(ROBOT) annotate --input $< --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \
426 | convert --check false -f json -o $@.tmp.json &&\
427 | mv $@.tmp.json $@
428 | $(ONT)-full.obo: $(ONT)-full.owl
429 | $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo
430 | $(ONT)-full.json: $(ONT)-full.owl
431 | $(ROBOT) annotate --input $< --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \
432 | convert --check false -f json -o $@.tmp.json &&\
433 | mv $@.tmp.json $@
434 | # ----------------------------------------
435 | # Release artefacts: main release artefacts
436 | # ----------------------------------------
437 |
438 | $(ONT).owl: $(ONT)-full.owl
439 | $(ROBOT) annotate --input $< --ontology-iri $(URIBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \
440 | convert -o $@.tmp.owl && mv $@.tmp.owl $@
441 |
442 | $(ONT).obo: $(ONT).owl
443 | $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo
444 | $(ONT).json: $(ONT).owl
445 | $(ROBOT) annotate --input $< --ontology-iri $(URIBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \
446 | convert --check false -f json -o $@.tmp.json &&\
447 | mv $@.tmp.json $@
448 | # -----------------------------------------------------
449 | # Release artefacts: variants (base, full, simple, etc)
450 | # -----------------------------------------------------
451 | SHARED_ROBOT_COMMANDS =
452 |
453 | $(ONTOLOGYTERMS): $(SRCMERGED)
454 | $(ROBOT) query -f csv -i $< --query ../sparql/geno_terms.sparql $@
455 |
456 | # ROBOT pipeline that merges imports, including components.
457 | ROBOT_RELEASE_IMPORT_MODE=$(ROBOT) merge --input $<
458 |
459 | # ROBOT pipeline that removes imports, then merges components. This is for release artefacts that start from "base"
460 | ROBOT_RELEASE_IMPORT_MODE_BASE=$(ROBOT) remove --input $< --select imports --trim false merge $(patsubst %, -i %, $(OTHER_SRC))
461 |
462 | # base: All the axioms as they are editted by the editors, excluding reasoning
463 | $(ONT)-base.owl: $(EDIT_PREPROCESSED) $(OTHER_SRC)
464 | $(ROBOT_RELEASE_IMPORT_MODE_BASE) \
465 | $(SHARED_ROBOT_COMMANDS) \
466 | annotate --link-annotation http://purl.org/dc/elements/1.1/type http://purl.obolibrary.org/obo/IAO_8000001 \
467 | --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \
468 | --output $@.tmp.owl && mv $@.tmp.owl $@
469 | # Full: The full artefacts with imports merged, reasoned.
470 | $(ONT)-full.owl: $(EDIT_PREPROCESSED) $(OTHER_SRC) $(IMPORT_FILES)
471 | $(ROBOT_RELEASE_IMPORT_MODE) \
472 | reason --reasoner ELK --equivalent-classes-allowed asserted-only --exclude-tautologies structural \
473 | relax \
474 | reduce -r ELK \
475 | $(SHARED_ROBOT_COMMANDS) annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) --output $@.tmp.owl && mv $@.tmp.owl $@
476 | # ----------------------------------------
477 | # Debugging Tools
478 | # ----------------------------------------
479 |
480 | explain_unsat: $(EDIT_PREPROCESSED)
481 | $(ROBOT) explain -i $< -M unsatisfiability --unsatisfiable random:10 --explanation $(TMPDIR)/$@.md
482 |
483 |
484 |
485 | RELEASE_ASSETS_AFTER_RELEASE=$(foreach n,$(RELEASE_ASSETS), ../../$(n))
486 | GHVERSION=v$(VERSION)
487 |
488 | .PHONY: public_release
489 | public_release:
490 | @test $(GHVERSION)
491 | ls -alt $(RELEASE_ASSETS_AFTER_RELEASE)
492 | gh release create $(GHVERSION) --title "$(VERSION) Release" --draft $(RELEASE_ASSETS_AFTER_RELEASE) --generate-notes
493 |
494 | # ----------------------------------------
495 | # General Validation
496 | # ----------------------------------------
497 | TSV=
498 | ALL_TSV_FILES=
499 |
500 | validate-tsv: $(TSV) | $(TMPDIR)
501 | for FILE in $< ; do \
502 | tsvalid $$FILE > $(TMPDIR)/validate.txt; \
503 | if [ -s $(TMPDIR)/validate.txt ]; then cat $(TMPDIR)/validate.txt && exit 1; fi ; \
504 | done
505 |
506 | validate-all-tsv: $(ALL_TSV_FILES)
507 | $(MAKE) validate-tsv TSV="$^"
508 |
509 | # ----------------------------------------
510 | # Editors Utilities
511 | # ----------------------------------------
512 |
513 |
514 |
515 | .PHONY: normalize_src
516 | normalize_src: $(SRC)
517 | $(ROBOT) convert -i $< -f ofn -o $(TMPDIR)/normalise && mv $(TMPDIR)/normalise $<
518 |
519 | .PHONY: validate_idranges
520 | validate_idranges:
521 | amm $(SCRIPTSDIR)/validate_id_ranges.sc geno-idranges.owl
522 |
523 | .PHONY: update_repo
524 | update_repo:
525 | sh $(SCRIPTSDIR)/update_repo.sh
526 |
527 |
528 |
529 | # Note to future generations: prepending ./ is a safety measure to ensure that
530 | # the environment does not malicously set `CLEANFILES` to `\`.
531 | .PHONY: clean
532 | clean:
533 | [ -n "$(MIRRORDIR)" ] && [ $(MIRRORDIR) != "." ] && [ $(MIRRORDIR) != "/" ] && [ $(MIRRORDIR) != ".." ] && [ -d ./$(MIRRORDIR) ] && rm -rf ./$(MIRRORDIR)/*
534 | [ -n "$(TMPDIR)" ] && [ $(TMPDIR) != "." ] && [ $(TMPDIR) != "/" ] && [ $(TMPDIR) != ".." ] && [ -d ./$(TMPDIR) ] && rm -rf ./$(TMPDIR)/*
535 | [ -n "$(UPDATEREPODIR)" ] && [ $(UPDATEREPODIR) != "." ] && [ $(UPDATEREPODIR) != "/" ] && [ $(UPDATEREPODIR) != ".." ] && [ -d ./$(UPDATEREPODIR) ] && rm -rf ./$(UPDATEREPODIR)/*
536 | rm -f $(CLEANFILES)
537 |
538 | .PHONY: help
539 | help:
540 | @echo "$$data"
541 |
542 | define data
543 | Usage: [IMAGE=(odklite|odkfull)] [ODK_DEBUG=yes] sh run.sh make [(IMP|MIR|IMP_LARGE|PAT)=(false|true)] command
544 |
545 | ----------------------------------------
546 | Command reference
547 | ----------------------------------------
548 |
549 | Core commands:
550 | * prepare_release: Run the entire release pipeline. Use make IMP=false prepare_release to avoid rerunning the imports
551 | * prepare_release_fast: Run the entire release pipeline without refreshing imports, recreating components or recompiling patterns.
552 | * update_repo: Update the ODK repository setup using the config file geno-odk.yaml
553 | * test: Running all validation tests
554 | * odkversion: Show the current version of the ODK Makefile and ROBOT.
555 | * clean: Delete all temporary files
556 | * help: Print ODK Usage information
557 | * public_release: Uploads the release file to a release management system, such as GitHub releases. Must be configured.
558 |
559 |
560 | Imports management:
561 | * refresh-imports: Refresh all imports and mirrors.
562 | * recreate-components: Recreate all components.
563 | * no-mirror-refresh-imports: Refresh all imports without downloading mirrors.
564 | * refresh-imports-excluding-large: Refresh all imports and mirrors, but skipping the ones labelled as 'is_large'.
565 | * refresh-%: Refresh a single import, i.e. refresh-go will refresh 'imports/go_import.owl'.
566 | * no-mirror-refresh-%: Refresh a single import without updating the mirror, i.e. refresh-go will refresh 'imports/go_import.owl'.
567 | * mirror-%: Refresh a single mirror.
568 |
569 | Editor utilities:
570 | * validate_idranges: Make sure your ID ranges file is formatted correctly
571 | * normalize_src: Load and safe your geno-edit file after you to make sure its serialised correctly
572 | * explain_unsat: If you have unsatisfiable classes, this command will create a markdown file (tmp/explain_unsat.md) which will explain all your unsatisfiable classes
573 | * validate-all-tsv: Check all your tsv files for possible problems in syntax. Use ALL_TSV_FILES variable to list files
574 | * validate-tsv: Check a tsv file for syntactic problems with tsvalid. Use TSV variable to pass filepath, e.g. make TSV=../my.tsv validate-tsv.
575 | * release_diff: Create a diff between the current release and the new release
576 |
577 | Additional build commands (advanced users)
578 | * all: Run the entire pipeline (like prepare_release), but without copying the release files to the release directory.
579 | * all_subsets: Build all subsets
580 | * custom_reports: Generate all custom sparql reports you have configured in your geno-odk.yaml file.
581 | * all_assets: Build all assets
582 | * show_assets: Print a list of all assets that would be build by the release pipeline
583 | * all_mappings: Update all SSSOM mapping sets
584 |
585 | Additional QC commands (advanced users)
586 | * robot_reports: Run all configured ROBOT reports
587 | * validate_profile_%: Run an OWL2 DL profile validation check, for example validate_profile_geno-edit.owl.
588 | * reason_test: Run a basic reasoning test
589 |
590 | Examples:
591 | * sh run.sh make IMP=false prepare_release
592 | * sh run.sh make update_repo
593 | * sh run.sh make test
594 |
595 | Tricks:
596 | * Add -B to the end of your command to force re-running it even if nothing has changed
597 | * Use the IMAGE parameter to the run.sh script to use a different image like odklite
598 | * Use ODK_DEBUG=yes sh run.sh make ... to print information about timing and debugging
599 |
600 | endef
601 | export data
602 |
603 | include geno.Makefile
--------------------------------------------------------------------------------
/src/ontology/README-editors.md:
--------------------------------------------------------------------------------
1 | These notes are for the EDITORS of geno
2 |
3 | This project was created using the [ontology development kit](https://github.com/INCATools/ontology-development-kit). See the site for details.
4 |
5 | For more details on ontology management, please see the [OBO tutorial](https://github.com/jamesaoverton/obo-tutorial) or the [Gene Ontology Editors Tutorial](https://go-protege-tutorial.readthedocs.io/en/latest/)
6 |
7 | You may also want to read the [GO ontology editors guide](http://go-ontology.readthedocs.org/)
8 |
9 | ## Requirements
10 |
11 | 1. Protege (for editing)
12 | 2. A git client (we assume command line git)
13 | 3. [docker](https://www.docker.com/get-docker) (for managing releases)
14 |
15 | ## Editors Version
16 |
17 | Make sure you have an ID range in the [idranges file](geno-idranges.owl)
18 |
19 | If you do not have one, get one from the maintainer of this repo.
20 |
21 | The editors version is [geno-edit.owl](geno-edit.owl)
22 |
23 | ** DO NOT EDIT geno.obo OR geno.owl in the top level directory **
24 |
25 | [../../geno.owl](../../geno.owl) is the release version
26 |
27 | To edit, open the file in Protege. First make sure you have the repository cloned, see [the GitHub project](https://github.com/monarch-initiative/GENO-ontology) for details.
28 |
29 | You should discuss the git workflow you should use with the maintainer
30 | of this repo, who should document it here. If you are the maintainer,
31 | you can contact the odk developers for assistance. You may want to
32 | copy the flow an existing project, for example GO: [Gene Ontology
33 | Editors Tutorial](https://go-protege-tutorial.readthedocs.io/en/latest/).
34 |
35 | In general, it is bad practice to commit changes to master. It is
36 | better to make changes on a branch, and make Pull Requests.
37 |
38 | ## ID Ranges
39 |
40 | These are stored in the file
41 |
42 | * [geno-idranges.owl](geno-idranges.owl)
43 |
44 | ** ONLY USE IDs WITHIN YOUR RANGE!! **
45 |
46 | If you have only just set up this repository, modify the idranges file
47 | and add yourself or other editors. Note Protege does not read the file
48 | - it is up to you to ensure correct Protege configuration.
49 |
50 |
51 | ### Setting ID ranges in Protege
52 |
53 | We aim to put this up on the technical docs for OBO on http://obofoundry.org/
54 |
55 | For now, consult the [GO Tutorial on configuring Protege](http://go-protege-tutorial.readthedocs.io/en/latest/Entities.html#new-entities)
56 |
57 | ## Imports
58 |
59 | All import modules are in the [imports/](imports/) folder.
60 |
61 | There are two ways to include new classes in an import module
62 |
63 | 1. Reference an external ontology class in the edit ontology. In Protege: "add new entity", then paste in the PURL
64 | 2. Add to the imports/geno_terms.txt file
65 |
66 | After doing this, you can run
67 |
68 | `./run.sh make all_imports`
69 |
70 | to regenerate imports.
71 |
72 | Note: the geno_terms.txt file may include 'starter' classes seeded from
73 | the ontology starter kit. It is safe to remove these.
74 |
75 | ## Design patterns
76 |
77 | You can automate (class) term generation from design patterns by placing DOSDP
78 | yaml file and tsv files under src/patterns. Any pair of files in this
79 | folder that share a name (apart from the extension) are assumed to be
80 | a DOSDP design pattern and a corresponding tsv specifying terms to
81 | add.
82 |
83 | Design patterns can be used to maintain and generate complete terms
84 | (names, definitions, synonyms etc) or to generate logical axioms
85 | only, with other axioms being maintained in editors file. This can be
86 | specified on a per-term basis in the TSV file.
87 |
88 | Design pattern docs are checked for validity via Travis, but can be
89 | tested locally using
90 |
91 | `./run.sh make patterns`
92 |
93 | In addition to running standard tests, this command generates an owl
94 | file (`src/patterns/pattern.owl`), which demonstrates the relationships
95 | between design patterns.
96 |
97 | (At the time of writing, the following import statements need to be
98 | added to `src/patterns/pattern.owl` for all imports generated in
99 | `src/imports/*_import.owl`. This will be automated in a future release.')
100 |
101 | To compile design patterns to terms run:
102 |
103 | `./run.sh make ../patterns/definitions.owl`
104 |
105 | This generates a file (`src/patterns/definitions.owl`). You then need
106 | to add an import statement to the editor's file to import the
107 | definitions file.
108 |
109 |
110 | ## Release Manager notes
111 |
112 | You should only attempt to make a release AFTER the edit version is
113 | committed and pushed, AND the travis build passes.
114 |
115 | These instructions assume you have
116 | [docker](https://www.docker.com/get-docker). This folder has a script
117 | [run.sh](run.sh) that wraps docker commands.
118 |
119 | to release:
120 |
121 | first type
122 |
123 | git branch
124 |
125 | to make sure you are on master
126 |
127 | cd src/ontology
128 | ./build.sh
129 |
130 | If this looks good type:
131 |
132 | ./prepare_release.sh
133 |
134 | This generates derived files such as geno.owl and geno.obo and places
135 | them in the top level (../..).
136 |
137 | Note that the versionIRI value automatically will be added, and will
138 | end with YYYY-MM-DD, as per OBO guidelines.
139 |
140 | Commit and push these files.
141 |
142 | git commit -a
143 |
144 | And type a brief description of the release in the editor window
145 |
146 | Finally type:
147 |
148 | git push origin master
149 |
150 | IMMEDIATELY AFTERWARDS (do *not* make further modifications) go here:
151 |
152 | * https://github.com/monarch-initiative/GENO-ontology/releases
153 | * https://github.com/monarch-initiative/GENO-ontology/releases/new
154 |
155 | __IMPORTANT__: The value of the "Tag version" field MUST be
156 |
157 | vYYYY-MM-DD
158 |
159 | The initial lowercase "v" is REQUIRED. The YYYY-MM-DD *must* match
160 | what is in the `owl:versionIRI` of the derived geno.owl (`data-version` in
161 | geno.obo). This will be today's date.
162 |
163 | This cannot be changed after the fact, be sure to get this right!
164 |
165 | Release title should be YYYY-MM-DD, optionally followed by a title (e.g. "january release")
166 |
167 | You can also add release notes (this can also be done after the fact). These are in markdown format.
168 | In future we will have better tools for auto-generating release notes.
169 |
170 | Then click "publish release"
171 |
172 | __IMPORTANT__: NO MORE THAN ONE RELEASE PER DAY.
173 |
174 | The PURLs are already configured to pull from github. This means that
175 | BOTH ontology purls and versioned ontology purls will resolve to the
176 | correct ontologies. Try it!
177 |
178 | * http://purl.obolibrary.org/obo/geno.owl <-- current ontology PURL
179 | * http://purl.obolibrary.org/obo/geno/releases/YYYY-MM-DD.owl <-- change to the release you just made
180 |
181 | For questions on this contact Chris Mungall or email obo-admin AT obofoundry.org
182 |
183 | # Travis Continuous Integration System
184 |
185 | Check the build status here: [](https://travis-ci.org/monarch-initiative/GENO-ontology)
186 |
187 | Note: if you have only just created this project you will need to authorize travis for this repo.
188 |
189 | 1. Go to [https://travis-ci.org/profile/monarch-initiative](https://travis-ci.org/profile/monarch-initiative)
190 | 2. click the "Sync account" button
191 | 3. Click the tick symbol next to GENO-ontology
192 |
193 | Travis builds should now be activated
--------------------------------------------------------------------------------
/src/ontology/archive/catalog-v001.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/ontology/archive/geno-developer-defs.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | developer annotations
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | Used to persist a record of annotations that are no longer relevant for a given term.
38 | obsolete annotation
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | Used to capture specific issues for ontology developers to address or resolve.
48 | open developer issue
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | Used to organize developer notes related to a specifc effort to refactor the ontology.
58 | ontology refactor note
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | Used to explain ratoinale for including a given term in an ontology - why /when it is needed, how it is used, how it might be differnted from similar terms, etc.
68 | ontology use case note
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | Used to organize feedback for a specific related ontology (here, the Sequence Ontology).
78 | SO feedback
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 | Used to record alternate labels for a given term in the GENO ontology.
88 | GENO_alternate_label
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/src/ontology/archive/geno-se.owl:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | GENO ontology layer containing annotation properties / axioms related to Shahim's urigen plugin and refactor tools.
12 | http://urigen.vivo-isf.org
13 | http://purl.obolibrary.org/obo/geno.owl
14 |
15 |
16 |
17 |
18 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | ontology-iri
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | server-url
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/src/ontology/archive/geno_examples.owl:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 | 1-29-16: Created an exemplar effective genotype containing an intrinsic sex-qualified genotype component, and an extrinsic genotype component:
12 |
13 | shha<tbx392>/shha<tbx392> [AB](male); cdkn1ca<MO3-cdkn1ca (n.s.)>
14 |
15 | Five phenotype annotations are asserted at different levels of this genotype:
16 | 1. abnormal(ly) absent adaxial cell -> shha<tbx392>/shha<tbx392>[AB](male);cdkn1ca<MO3-cdkn1ca (n.s.)>
17 | 2. abnormal(ly) disrupted diencephalon development -> shha<tbx392>/shha<tbx392>[AB]male
18 | 3. abnormal(ly) increased occurrence neutrophil migration -> shha<tbx392>/shha<tbx392>[AB]
19 | 4. abnormal(ly) malformed endocardium cell -> tbx392
20 | 5. abnormal(ly) absent dorso-rostral cluster -> cdkn1ca<MO3-cdkn1ca (n.s.)>
21 |
22 | A second effective genotype was also created, whose intrinsic component is sex-agnostic and unlike the sex-qualified effective genotype, will inherit all phenotypes asserted on its component sex-agnostic genotype and its parts):
23 |
24 | shha<tbx392>/shha<tbx392>[AB]; cdkn1ca<MO3-cdkn1ca (n.s.)>
25 |
26 | ----------
27 |
28 | Recall that we don't want to propagate phenotypes up from sex-agnostic genotypes (or their parts) up to sex-qualified ones (or their parent effective genotype) For example, from shha<tbx392>/shha<tbx392>[AB] to shha<tbx392>/shha<tbx392>[AB]male. This is because it may not be the case that a phenotype assessed without consideration to sex will apply on a sex-specific background (i.e. it may be a sex-specific phenotype).
29 |
30 | So, the sex-qualified effective genotype shha<tbx392>/shha<tbx392>[AB](male);cdkn1ca<MO3-cdkn1ca (n.s.)> will NOT inherit phenotypes asserted on its component sex-agnostic genotype and its parts). It therefore inherits only two phenotypes: 1 from its component sex-qualified intrinsic genotype, and 1 from its component extrinsic genotype. It does not inherit phenotypes asserted on its component sex-agnostic intrinsic genotype, or the parts of this genotype.
31 |
32 | By contrast, the sex-agnostic effective genotype shha<tbx392>/shha<tbx392>[AB];cdkn1ca<MO3-cdkn1ca (n.s.)> will inherit phenotypes asserted on its component sex-agnostic genotype and its parts.
33 |
34 |
35 |
36 |
37 |
38 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | GENO_alternative_label
53 |
54 |
55 |
56 |
57 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | association3
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | association4
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | association5
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 | association2
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 | shha<tbx392>/shha<tbx392>[AB];cdkn1ca<MO3-cdkn1ca(n.s.)>
117 | Second effective genotype created to test propagation to sex-agnostic effective genotypes.
118 |
119 | 11-25-15 (4 total phenotype assertions).
120 | This individual should have:
121 | Asserted Phenos: 0
122 | Inferred Phenos: 4 (1 from the assertion on its component sex-agnostic intrinsic genotype, 1 from the assertion on the point mutation part of this genotype, 1 from the assertion on its component extrinsic genotype, and one from the assertion on a sex-qualified intrinsic genotype parent of its own sex-agnostic intrinsic genotype component (this is inter-genotype propagation) )
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 | phenotype4 asserted on point mutation
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 | phenotype5 asserted on extrinsic genotype
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 | phenotype2 asserted on sex-qualified intrinsic genotype
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 | phenotype3 asserted on sex-agnostic intrinsic genotype
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 | phenotype1 asserted on sex-qualified effective genotype
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 | association1
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 | cdkn1ca<MO3-cdkn1ca(n.s.)>
186 | 11-25-15 (2 total phenotype assertions).
187 | This individual should have:
188 | Asserted Phenos: 1
189 | Inferred Phenos: 1 (from asserton on its parent effective genotype)
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 | shha<tbx392>
201 | 11-25-15 (4 total phenotype assertions).
202 | This individual should have:
203 | Asserted Phenos: 0
204 | Inferred Phenos: 4 (1 from the assertion on its parent effective genotype, 1 from the assertion on its parent sex-qualified intrinsic genotype, 1 from the assertion on its parent sex-agnostic intrinsic genotype, and 1 from the assertion on its component point mutation)
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 | shha<tbx392>/shha<tbx392>
217 | 11-25-15 (4 total phenotype assertions).
218 | This individual should have:
219 | Asserted Phenos: 0
220 | Inferred Phenos: 4 (1 from the assertion on its parent effective genotype, 1 from the assertion on its parent sex-qualified intrinsic genotype, 1 from the assertion on its parent sex-agnostic intrinsic genotype, and 1 from the assertion on its component point mutation)
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 | 11-25-15 (4 phenotype assertions).
230 | This individual should have:
231 | Asserted Phenos: 0
232 | Inferred Phenos: 4 (all phenotypes asserted on genotypes that include a sequence- or expression-variant of shha get propagated to the shha gene)
233 |
234 | Note that the phenotype asserted on the cdkn1ca-containing extrinsic genotype is (correctly) not propagated to shha, even though it is propagated to the shha<tbx392>/shha<tbx392> [AB](male); cdkn1ca<MO3-cdkn1ca (n.s.)> effective genotype. This is an excellent example of how having a separate property for inferred phenotypes is useful (in avoiding such undue inheritance). If our propagation property chains were for the same property used to assert phenotype causation, then the phenotype asserted on the cdkn1ca variant would (incorrectly) propagate to shha.
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 | 11-25-15 (2 total phenotype assertions).
243 | This individual should have:
244 | Asserted Phenos: 0
245 | Inferred Phenos: 2 (1 from the assertion on the cdkn1ca-containing extrinsic genotype/reagent-targeted gene, and one from the assertion on the effective genotype that containns this extrinsic genotype/reagent-targeted gene)
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 | tbx392
255 | 11-25-15 (4 total phenotype assertions).
256 | This individual should have:
257 | Asserted Phenos: 1
258 | Inferred Phenos: 3 (1 from the assertion on its parent effective genotype, 1 from the assertion on its parent sex-qualified intrinsic genotype, and 1 from the assertion on its parent sex-agnostic intrinsic genotype)
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 | shha<tbx392>/shha<tbx392>[AB](male);cdkn1ca<MO3-cdkn1ca(n.s.)>
269 | 11-25-15 (3 total phenotype assertions).
270 | This individual should have:
271 | Asserted Phenos: 1
272 | Inferred Phenos: 2 (1 from the assertion on its component sex-qualified intrinsic genotype, and 1 from the assesrtion on its component extrinsic genotype)
273 |
274 | Recall that we don't want to propagate phenotypes up from sex-agnostic genotypes (or their parts) up to sex-qualified ones (or their parent effective genotype) For example, from shha<tbx392>/shha<tbx392>[AB] to shha<tbx392>/shha<tbx392>[AB]male. This is because it may not be the case that a phenotype assessed without consideration to sex will apply on a sex-specific background (i.e. it may be a sex-specific phenotype). This is why phenotypes asserted on the sex-agnostic genotype and its parts are not inherited by the sex-qualified genotype, or sex-qualified effective genotype.
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 | shha<tbx392>/shha<tbx392> [AB]
287 | 11-25-15 (4 total phenotype assertions).
288 | This individual should have:
289 | Asserted Phenos: 1
290 | Inferred Phenos: 3 (1 from the assertion on its parent effective genotype, 1 from the assertion on its parent sex-qualified intrinsic genotype, and 1 from the assertion on its component point mutation)
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 | shha<tbx392>/shha<tbx392> [AB](male)
302 | 11-25-15 (2 total phenotype assertions).
303 | This individual should have:
304 | Asserted Phenos: 1
305 | Inferred Phenos: 1 (from assertion on its parent effective genotype)
306 |
307 | Recall that we don't want to propagate phenotypes up from sex-agnostic genotypes (or their parts) up to sex-qualified ones (or their parent effective genotype) For example, from shha<tbx392>/shha<tbx392>[AB] to shha<tbx392>/shha<tbx392>[AB]male. This is because it may not be the case that a phenotype assessed without consideration to sex will apply on a sex-specific background (i.e. it may be a sex-specific phenotype). This is why phenotypes asserted on the sex-agnostic genotype and its parts are not inherited by the sex-qualified genotype, or sex-qualified effective genotype.
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 | AB
319 |
320 |
321 |
322 |
323 |
330 |
331 |
332 | Strictlyand organizational to group subrelations - should not be used directly.
333 |
334 |
335 | has_specified_output some
336 | ('genomic material'
337 | and (bears_concretization_of some 'variant locus'))
338 |
339 |
340 | Range: organism or ('is part of' some organism) or ('derives from' some organism)
341 |
342 |
343 | Strictly an organizational to group subrelations - should not be used directly.
344 |
345 |
346 | Strictlyand organizational to group subrelations - should not be used directly.
347 |
348 |
349 | Strictlyand organizational to group subrelations - should not be used directly.
350 |
351 |
352 | Strictlyand organizational to group subrelations - should not be used directly.
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
--------------------------------------------------------------------------------
/src/ontology/archive/geno_examples1.owl:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | association2
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | association1
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | cdkn1ca<MO3-cdkn1ca>
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | shha<tbx392>
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 | shha<tbx392>/shha<tbx392>
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 | tbx392
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 | shha<tbx392>/shha<tbx392> [AB]; cdkn1ca<MO3-cdkn1ca (n.s.)>
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 | shha<tbx392>/shha<tbx392> [AB]
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 | shha<tbx392>/shha<tbx392> [AB](male)
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 | AB
153 |
154 |
155 |
156 |
157 |
164 |
165 |
166 | Strictlyand organizational to group subrelations - should not be used directly.
167 |
168 |
169 | Strictlyand organizational to group subrelations - should not be used directly.
170 |
171 |
172 | Strictlyand organizational to group subrelations - should not be used directly.
173 |
174 |
175 | Strictlyand organizational to group subrelations - should not be used directly.
176 |
177 |
178 | has_specified_output some
179 | ('genomic material'
180 | and (bears_concretization_of some 'variant locus'))
181 |
182 |
183 | Strictlyand organizational to group subrelations - should not be used directly.
184 |
185 |
186 | Range: organism or ('is part of' some organism) or ('derives from' some organism)
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
--------------------------------------------------------------------------------
/src/ontology/archive/geno_imports.owl:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/ontology/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | ./run.sh make all
3 |
--------------------------------------------------------------------------------
/src/ontology/catalog-v001.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/ontology/geno-idranges.owl:
--------------------------------------------------------------------------------
1 | ## ID Ranges File
2 | Prefix: rdf:
3 | Prefix: idsfor:
4 | Prefix: dc:
5 | Prefix: xsd:
6 | Prefix: allocatedto:
7 | Prefix: xml:
8 | Prefix: idprefix:
9 | Prefix: iddigits:
10 | Prefix: rdfs:
11 | Prefix: idrange:
12 | Prefix: owl:
13 |
14 | Ontology:
15 |
16 |
17 | Annotations:
18 | idsfor: "GENO",
19 | idprefix: "http://purl.obolibrary.org/obo/GENO_",
20 | iddigits: 7
21 |
22 | AnnotationProperty: idprefix:
23 |
24 |
25 | AnnotationProperty: iddigits:
26 |
27 |
28 | AnnotationProperty: idsfor:
29 |
30 |
31 | AnnotationProperty: allocatedto:
32 |
33 | Datatype: idrange:1
34 |
35 | Annotations:
36 | allocatedto: "ONTOLOGY-CREATOR"
37 |
38 | EquivalentTo:
39 | xsd:integer[>= 0 , <= 999999]
40 |
41 |
42 | Datatype: idrange:2
43 |
44 | Annotations:
45 | allocatedto: "ADDITIONAL EDITOR"
46 |
47 | EquivalentTo:
48 | xsd:integer[>= 1000000 , <= 1999999]
49 |
50 |
51 | Datatype: xsd:integer
52 | Datatype: rdf:PlainLiteral
53 |
54 |
--------------------------------------------------------------------------------
/src/ontology/geno-odk.yaml:
--------------------------------------------------------------------------------
1 | id: geno
2 | title: "GENO ontology"
3 | github_org: monarch-initiative
4 | git_main_branch: develop
5 | repo: GENO-ontology
6 | report_fail_on: None
7 | export_formats:
8 | - owl
9 | - obo
10 | - json
11 | release_artefacts:
12 | - base
13 | - full
14 | primary_release: full
15 | import_group:
16 | products:
17 | - id: ro
18 | - id: omo
19 | module_type: mirror
20 | # - id: iao
21 | # - id: faldo
22 | # - id: go
23 | # - id: hp
24 | # - id: hsapdv
25 | # - id: mp
26 | # - id: ncbitaxon
27 | # - id: oban
28 | - id: obi
29 | # - id: pato
30 | # - id: pco
31 | # - id: so
32 | # - id: uberon
33 | robot_java_args: '-Xmx8G'
34 | robot_report:
35 | fail_on: ERROR
36 | use_base_iris: TRUE
37 | report_on:
38 | - geno-base.owl
39 | - edit
--------------------------------------------------------------------------------
/src/ontology/geno.Makefile:
--------------------------------------------------------------------------------
1 | ## Customize Makefile settings for geno
2 | ##
3 | ## If you need to customize your Makefile, make
4 | ## changes here rather than in the main Makefile
5 |
6 | json:
7 | robot -vvv convert -I http://www.geneontology.org/formats/oboInOwl -f json -o out.json
--------------------------------------------------------------------------------
/src/ontology/imports/catalog-v001.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/ontology/imports/faldo_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/ontology/imports/faldo_terms.txt:
--------------------------------------------------------------------------------
1 | FALDO:0000000
2 | FALDO:0000001
3 | FALDO:0000002
4 |
5 |
--------------------------------------------------------------------------------
/src/ontology/imports/go_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | definition
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 | database_cross_reference
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 | BFO:0000050
222 | external
223 | part_of
224 | part_of
225 | part of
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 | BFO:0000051
235 | external
236 | has_part
237 | has_part
238 | has part
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 | RO:0002091
247 | external
248 | starts_during
249 | starts_during
250 | starts_during
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 | RO:0002093
259 | external
260 | ends_during
261 | ends_during
262 | ends_during
263 |
264 |
265 |
266 |
267 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 | A biological process represents a specific objective that the organism is genetically programmed to achieve. Biological processes are often described by their outcome or ending state, e.g., the biological process of cell division results in the creation of two daughter cells (a divided cell) from a single parent cell. A biological process is accomplished by a particular set of molecular functions carried out by specific gene products (or macromolecular complexes), often in a highly regulated manner and in a particular temporal sequence.
282 | janelomax
283 | 2012-09-19T15:05:24Z
284 | GO:0000004
285 | GO:0007582
286 | GO:0044699
287 | Wikipedia:Biological_process
288 | biological process
289 | physiological process
290 | biological_process
291 | single organism process
292 | single-organism process
293 | GO:0008150
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 | Note that, in addition to forming the root of the biological process ontology, this term is recommended for use for the annotation of gene products whose biological process is unknown. When this term is used for annotation, it indicates that no information was available about the biological process of the gene product annotated as of the date the annotation was made; the evidence code "no data" (ND), is used to indicate this.
304 | biological_process
305 |
306 |
307 |
308 |
309 | A biological process represents a specific objective that the organism is genetically programmed to achieve. Biological processes are often described by their outcome or ending state, e.g., the biological process of cell division results in the creation of two daughter cells (a divided cell) from a single parent cell. A biological process is accomplished by a particular set of molecular functions carried out by specific gene products (or macromolecular complexes), often in a highly regulated manner and in a particular temporal sequence.
310 | GOC:pdt
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 | A biological process whose specific outcome is the progression of an integrated living unit: an anatomical structure (which may be a subcellular structure, cell, tissue, or organ), or organism over time from an initial condition to a later condition.
320 | janelomax
321 | 2012-12-19T12:21:31Z
322 | GO:0044767
323 | development
324 | biological_process
325 | single-organism developmental process
326 | GO:0032502
327 |
328 |
329 |
330 |
331 | developmental process
332 |
333 |
334 |
335 |
336 | A biological process whose specific outcome is the progression of an integrated living unit: an anatomical structure (which may be a subcellular structure, cell, tissue, or organ), or organism over time from an initial condition to a later condition.
337 | GOC:isa_complete
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
--------------------------------------------------------------------------------
/src/ontology/imports/go_terms.txt:
--------------------------------------------------------------------------------
1 | GO:0008150
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/imports/hp_terms.txt:
--------------------------------------------------------------------------------
1 | HP:0000000
2 | HP:0000001
3 | HP:0000002
4 |
5 |
--------------------------------------------------------------------------------
/src/ontology/imports/hsapdv_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | definition
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | database_cross_reference
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | BFO:0000050
90 | human_stages_ontology
91 | part_of
92 | part_of
93 | part of
94 |
95 |
96 |
97 |
98 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 | A spatiotemporal region encompassing some part of the life cycle of an organism.
113 | UBERON:0000105
114 | developmental stage
115 | stage
116 | human_stages_ontology
117 | HsapDv:0000000
118 | human life cycle stage
119 |
120 |
121 |
122 |
123 | A spatiotemporal region encompassing some part of the life cycle of an organism.
124 | UBERON:0000105
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
--------------------------------------------------------------------------------
/src/ontology/imports/hsapdv_terms.txt:
--------------------------------------------------------------------------------
1 | http://purl.obolibrary.org/obo/HsapDv_0000000
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/imports/iao_terms.txt:
--------------------------------------------------------------------------------
1 | IAO:0000577
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/imports/mp_terms.txt:
--------------------------------------------------------------------------------
1 | MP:0000000
2 | MP:0000001
3 | MP:0000002
4 |
5 |
--------------------------------------------------------------------------------
/src/ontology/imports/ncbitaxon_terms.txt:
--------------------------------------------------------------------------------
1 | NCBITaxon:1
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/imports/oban_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/ontology/imports/oban_terms.txt:
--------------------------------------------------------------------------------
1 | OBAN:0000000
2 | OBAN:0000001
3 | OBAN:0000002
4 |
5 |
--------------------------------------------------------------------------------
/src/ontology/imports/obi_terms.txt:
--------------------------------------------------------------------------------
1 | OBI:0000011
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/imports/omo_terms.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/ontology/imports/pato_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/ontology/imports/pato_terms.txt:
--------------------------------------------------------------------------------
1 | PATO:0000001
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/imports/pco_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/ontology/imports/pco_terms.txt:
--------------------------------------------------------------------------------
1 | PCO:0000000
2 | PCO:0000001
3 | PCO:0000002
4 |
5 |
--------------------------------------------------------------------------------
/src/ontology/imports/ro_terms.txt:
--------------------------------------------------------------------------------
1 | BFO:0000050
2 | RO:0002202
3 |
4 |
--------------------------------------------------------------------------------
/src/ontology/imports/so_terms.txt:
--------------------------------------------------------------------------------
1 | SO:0000000
2 | SO:0000001
3 | SO:0000002
4 |
5 |
--------------------------------------------------------------------------------
/src/ontology/imports/uberon_import.owl:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/ontology/imports/uberon_terms.txt:
--------------------------------------------------------------------------------
1 | UBERON:0001062
2 |
3 |
--------------------------------------------------------------------------------
/src/ontology/json.json:
--------------------------------------------------------------------------------
1 | {
2 | "graphs" : [ {
3 | "nodes" : [ ],
4 | "edges" : [ ],
5 | "id" : "http://purl.obolibrary.org/obo/json",
6 | "meta" : {
7 | "subsets" : [ ],
8 | "xrefs" : [ ],
9 | "basicPropertyValues" : [ {
10 | "pred" : "http://www.w3.org/2000/01/rdf-schema#comment",
11 | "val" : "\n This is an OWL translation of an ontology whose native representational form is .obo. The translation was performed using the oboInOwl xslt library. For details, see http://www.berkeleybop.org/obo-conv.cgi\n "
12 | }, {
13 | "pred" : "http://www.w3.org/2000/01/rdf-schema#comment",
14 | "val" : "OBO Format metamodel. This meta-ontology is self-describing. OBO metamodel properties are described using OBO metamodel properties"
15 | }, {
16 | "pred" : "http://www.w3.org/2000/01/rdf-schema#label",
17 | "val" : ""
18 | } ],
19 | "version" : "http://purl.obolibrary.org/obo/geno/releases/2019-09-09"
20 | },
21 | "equivalentNodesSets" : [ ],
22 | "logicalDefinitionAxioms" : [ ],
23 | "domainRangeAxioms" : [ ],
24 | "propertyChainAxioms" : [ ]
25 | } ]
26 | }
--------------------------------------------------------------------------------
/src/ontology/keeprelations.txt:
--------------------------------------------------------------------------------
1 | BFO:0000050
--------------------------------------------------------------------------------
/src/ontology/ontologyterms.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/src/ontology/ontologyterms.txt
--------------------------------------------------------------------------------
/src/ontology/patterns.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | ./run.sh make patterns
3 |
--------------------------------------------------------------------------------
/src/ontology/pre_odk/catalog-v001.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/ontology/pre_odk/geno_imports.owl:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/ontology/prepare_release.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | ./run.sh make prepare_release
3 |
--------------------------------------------------------------------------------
/src/ontology/reports/README.md:
--------------------------------------------------------------------------------
1 | # Reports folder
2 |
3 | Files are added to this during the release process
4 |
--------------------------------------------------------------------------------
/src/ontology/reports/geno-base.owl-obo-report.tsv:
--------------------------------------------------------------------------------
1 | Level Rule Name Subject Property Value
2 | WARN annotation_whitespace obsolete_approximates_sequence IAO:0000116 Created subproperties 'approximates_sequence' and 'resolves to sequence'. Genotypes and other sequence variant artifacts are not always expected to completely specify a sequence, but rather provide some approximation based on available knowledge. The 'resolves_to_sequence' property can be used when the sequence variant artifact is able to completely resolve a sequence, and the 'approximates_sequence' property can be used when it does not.
3 | WARN annotation_whitespace obsolete_resolves_to_sequence IAO:0000116 Created subproperties 'approximates_sequence' and 'resolves to sequence'. Genotypes and other sequence variant artifacts are not always expected to completely specify a sequence, but rather provide some approximation based on available knowledge. The 'resolves_to_sequence' property can be used when the sequence variant artifact is able to completely resolve a sequence, and the 'approximates_sequence' property can be used when it does not.
4 | WARN duplicate_label_synonym reference sequence IAO:0000118 reference sequence
5 | WARN duplicate_label_synonym wild-type allele IAO:0000118 wild-type allele
6 | WARN equivalent_class_axiom_no_genus genomic sequence is_sequence_of genomic feature
7 | WARN invalid_xref background genome oboInOwl:hasDbXref OBI:genetic population background information
8 | WARN invalid_xref gene allele oboInOwl:hasDbXref SO:0001023 ! allele
9 | WARN invalid_xref obsolete sequence feature collection oboInOwl:hasDbXref perhaps not same as SO:sequence collection, as here we explicitly include features that can have an extent of zero (and SO:sequence collection is a collection of regions that have an extent of at least one)
10 | WARN invalid_xref variant genome oboInOwl:hasDbXref SO:0001506 ! variant_genome (definition of SO term here is too vague to know if has same meaning as GENO class here)
11 | WARN invalid_xref gene part oboInOwl:hasDbXref SO:0000831 (gene member region)
12 | WARN invalid_xref obsolete sequence feature collection oboInOwl:hasDbXref SO:0001260 ! sequence_collection
13 | WARN missing_definition gene trap insertion IAO:0000115
14 | WARN missing_definition taxonomic group IAO:0000115
15 | WARN missing_definition mus musculus strain IAO:0000115
16 | WARN missing_definition danio rerio strain IAO:0000115
17 | WARN missing_definition unspecified zygosity IAO:0000115
18 | WARN missing_definition heritable IAO:0000115
19 | WARN missing_definition non-heritable IAO:0000115
20 | WARN missing_definition unspecified life cycle stage IAO:0000115
21 | WARN missing_definition is_genotype_of IAO:0000115
22 | WARN missing_definition is_sequence_of IAO:0000115
23 | WARN missing_definition is_subject_of IAO:0000115
24 | WARN missing_definition biological process IAO:0000115
25 | WARN missing_definition is_variant_part_of IAO:0000115
26 | WARN missing_definition is_reference_part_of IAO:0000115
27 | WARN missing_definition trisomic homozygous IAO:0000115
28 | WARN missing_definition trisomic heterozygous IAO:0000115
29 | WARN missing_definition simple heterozygous IAO:0000115
30 | WARN missing_definition expression construct IAO:0000115
31 | WARN missing_definition wild-type gene IAO:0000115
32 | WARN missing_definition gene knockdown reagent IAO:0000115
33 | WARN missing_definition zebrafish phenotype IAO:0000115
34 | WARN missing_definition hemizygous X-linked IAO:0000115
35 | WARN missing_definition hemizygous Y-linked IAO:0000115
36 | WARN missing_definition hemizygous insertion-linked IAO:0000115
37 | WARN missing_definition chromosome sub-band IAO:0000115
38 | WARN missing_definition chromosomal band intensity IAO:0000115
39 | WARN missing_definition gpos IAO:0000115
40 | WARN missing_definition gneg IAO:0000115
41 | WARN missing_definition gvar IAO:0000115
42 | WARN missing_definition gpos100 IAO:0000115
43 | WARN missing_definition gpos75 IAO:0000115
44 | WARN missing_definition gpos50 IAO:0000115
45 | WARN missing_definition gpos25 IAO:0000115
46 | WARN missing_definition has_staining_intensity IAO:0000115
47 | WARN missing_definition gpos66 IAO:0000115
48 | WARN missing_definition gpos33 IAO:0000115
49 | WARN missing_definition reporter region IAO:0000115
50 | WARN missing_definition has_sex_agnostic_part IAO:0000115
51 | WARN missing_definition is_mutant_allele_of IAO:0000115
52 | WARN missing_definition is_sequence_part_of IAO:0000115
53 | WARN missing_definition faldo properties IAO:0000115
54 | WARN missing_definition intrinsic genotype IAO:0000115
55 | WARN missing_definition DNA sequence IAO:0000115
56 | WARN missing_definition RNA sequence IAO:0000115
57 | WARN missing_definition amino acid sequence IAO:0000115
58 | WARN missing_definition has_inferred_phenotype IAO:0000115
59 | WARN missing_definition has_asserted_phenotype IAO:0000115
60 | WARN missing_definition is_regulatory_part_of IAO:0000115
61 | WARN missing_definition phenotypic inheritance process IAO:0000115
62 | WARN missing_definition biological sequence unit IAO:0000115
63 | WARN missing_definition DNA residue IAO:0000115
64 | WARN missing_definition RNA residue IAO:0000115
65 | WARN missing_definition amino acid residue IAO:0000115
66 | WARN missing_definition related_condition IAO:0000115
67 | WARN missing_definition inferred_to_cause_condition IAO:0000115
68 | WARN missing_definition inferred_to_contribute_to_condition IAO:0000115
69 | WARN missing_definition inferred_to_correlate_with_condition IAO:0000115
70 | WARN missing_definition genotype-phenotype association IAO:0000115
71 | WARN missing_definition knockdown reagent targeted gene complement IAO:0000115
72 | WARN missing_definition pathogenic_for_condition IAO:0000115
73 | WARN missing_definition likely_pathogenic_for_condition IAO:0000115
74 | WARN missing_definition benign_for_condition IAO:0000115
75 | WARN missing_definition likely_benign_for_condition IAO:0000115
76 | WARN missing_definition has_uncertain_significance_for_condition IAO:0000115
77 | WARN missing_definition is_candidate_variant_for IAO:0000115
78 | WARN missing_definition proabalistic_quantifier IAO:0000115
79 | WARN missing_definition microsatellite alteration IAO:0000115
80 | WARN missing_definition repeat region alteration IAO:0000115
81 | WARN missing_definition oryzias latipes strain IAO:0000115
82 | WARN missing_definition mixin IAO:0000115
83 | WARN missing_definition on strand IAO:0000115
84 | WARN missing_definition gene symbol IAO:0000115
85 | WARN missing_definition reporter IAO:0000115
86 | WARN missing_definition selectable marker IAO:0000115
87 | WARN missing_definition selectable marker region IAO:0000115
88 | WARN missing_definition mosaic IAO:0000115
89 | INFO lowercase_definition obsolete sequence feature collection IAO:0000115 a collection more than one sequence features (ie a collection of discontinuous sequence features)
90 | INFO lowercase_definition human population IAO:0000115 a population of homo sapiens grouped together in virtue of their sharing some commonality (either an inherent attribute or an externally assigned role)
91 | INFO lowercase_definition obsolete sequence feature collection attribute IAO:0000115 sequence attribute that can inhere only in a collection of more than one sequence features
92 | INFO lowercase_definition obsolete dominant inheritance IAO:0000115 disposition inhering in a genetic locus variant that is realized in its inheritance by some offspring such that at least a partial variant-associated phenotype is apparent in heterozygotes
93 | INFO lowercase_definition obsolete_is_phenotype_of_genotype IAO:0000115 shortcut relation used to link a phenotype directly to a genotype of an organism
94 | INFO lowercase_definition aneusomic IAO:0000115 a sequence attribute of a chromosome or chromosomal region that has been abnormally duplicated or lost, as the result of a non-disjunction event or unbalanced translocation.
95 | INFO lowercase_definition homoplasmic IAO:0000115 an allelic state where a single allele exists at a particular location in the organellar genome (mitochondrial or plastid) of a cell/organism.
96 | INFO lowercase_definition heteroplasmic IAO:0000115 an allelic state where more than one type of allele exists at a particular location in the organellar genome (mitochondrial or plastid) of a cell/organism.
97 | INFO lowercase_definition has_zygosity IAO:0000115 a relation to link a single locus complement to its zygosity.
98 | INFO lowercase_definition is_targeted_by IAO:0000115 relation between an molecular agent and its molecular target
99 | INFO lowercase_definition obsolete gametic IAO:0000115 a quality inhering in a feature in virtue of its presence only in the genome of gametes (germ cells).
100 | INFO missing_superclass genomic variation complement rdfs:subClassOf
101 | INFO missing_superclass reference sequence rdfs:subClassOf
102 | INFO missing_superclass variant single locus complement rdfs:subClassOf
103 | INFO missing_superclass reference allele rdfs:subClassOf
104 | INFO missing_superclass danio rerio gene rdfs:subClassOf
105 | INFO missing_superclass homo sapiens gene rdfs:subClassOf
106 | INFO missing_superclass mus musculus gene rdfs:subClassOf
107 | INFO missing_superclass transgene part rdfs:subClassOf
108 | INFO missing_superclass extrachromosomal replicon rdfs:subClassOf
109 | INFO missing_superclass allele rdfs:subClassOf
110 | INFO missing_superclass gene part rdfs:subClassOf
111 | INFO missing_superclass DNA sequence rdfs:subClassOf
112 | INFO missing_superclass RNA sequence rdfs:subClassOf
113 | INFO missing_superclass amino acid sequence rdfs:subClassOf
114 | INFO missing_superclass variant genomic genotype rdfs:subClassOf
115 | INFO missing_superclass biological sequence unit rdfs:subClassOf
116 | INFO missing_superclass allelic genotype rdfs:subClassOf
117 | INFO missing_superclass diplotype rdfs:subClassOf
118 |
--------------------------------------------------------------------------------
/src/ontology/reports/geno-edit.owl-obo-report.tsv:
--------------------------------------------------------------------------------
1 | Level Rule Name Subject Property Value
2 | WARN annotation_whitespace obsolete_approximates_sequence IAO:0000116 Created subproperties 'approximates_sequence' and 'resolves to sequence'. Genotypes and other sequence variant artifacts are not always expected to completely specify a sequence, but rather provide some approximation based on available knowledge. The 'resolves_to_sequence' property can be used when the sequence variant artifact is able to completely resolve a sequence, and the 'approximates_sequence' property can be used when it does not.
3 | WARN annotation_whitespace obsolete_resolves_to_sequence IAO:0000116 Created subproperties 'approximates_sequence' and 'resolves to sequence'. Genotypes and other sequence variant artifacts are not always expected to completely specify a sequence, but rather provide some approximation based on available knowledge. The 'resolves_to_sequence' property can be used when the sequence variant artifact is able to completely resolve a sequence, and the 'approximates_sequence' property can be used when it does not.
4 | WARN duplicate_label_synonym reference sequence IAO:0000118 reference sequence
5 | WARN duplicate_label_synonym wild-type allele IAO:0000118 wild-type allele
6 | WARN equivalent_class_axiom_no_genus genomic sequence is_sequence_of genomic feature
7 | WARN invalid_xref background genome oboInOwl:hasDbXref OBI:genetic population background information
8 | WARN invalid_xref gene allele oboInOwl:hasDbXref SO:0001023 ! allele
9 | WARN invalid_xref obsolete sequence feature collection oboInOwl:hasDbXref perhaps not same as SO:sequence collection, as here we explicitly include features that can have an extent of zero (and SO:sequence collection is a collection of regions that have an extent of at least one)
10 | WARN invalid_xref variant genome oboInOwl:hasDbXref SO:0001506 ! variant_genome (definition of SO term here is too vague to know if has same meaning as GENO class here)
11 | WARN invalid_xref gene part oboInOwl:hasDbXref SO:0000831 (gene member region)
12 | WARN invalid_xref obsolete sequence feature collection oboInOwl:hasDbXref SO:0001260 ! sequence_collection
13 | WARN missing_definition gene trap insertion IAO:0000115
14 | WARN missing_definition taxonomic group IAO:0000115
15 | WARN missing_definition mus musculus strain IAO:0000115
16 | WARN missing_definition danio rerio strain IAO:0000115
17 | WARN missing_definition unspecified zygosity IAO:0000115
18 | WARN missing_definition heritable IAO:0000115
19 | WARN missing_definition non-heritable IAO:0000115
20 | WARN missing_definition unspecified life cycle stage IAO:0000115
21 | WARN missing_definition is_genotype_of IAO:0000115
22 | WARN missing_definition is_sequence_of IAO:0000115
23 | WARN missing_definition is_subject_of IAO:0000115
24 | WARN missing_definition biological process IAO:0000115
25 | WARN missing_definition is_variant_part_of IAO:0000115
26 | WARN missing_definition is_reference_part_of IAO:0000115
27 | WARN missing_definition trisomic homozygous IAO:0000115
28 | WARN missing_definition trisomic heterozygous IAO:0000115
29 | WARN missing_definition simple heterozygous IAO:0000115
30 | WARN missing_definition expression construct IAO:0000115
31 | WARN missing_definition wild-type gene IAO:0000115
32 | WARN missing_definition gene knockdown reagent IAO:0000115
33 | WARN missing_definition zebrafish phenotype IAO:0000115
34 | WARN missing_definition hemizygous X-linked IAO:0000115
35 | WARN missing_definition hemizygous Y-linked IAO:0000115
36 | WARN missing_definition hemizygous insertion-linked IAO:0000115
37 | WARN missing_definition chromosome sub-band IAO:0000115
38 | WARN missing_definition chromosomal band intensity IAO:0000115
39 | WARN missing_definition gpos IAO:0000115
40 | WARN missing_definition gneg IAO:0000115
41 | WARN missing_definition gvar IAO:0000115
42 | WARN missing_definition gpos100 IAO:0000115
43 | WARN missing_definition gpos75 IAO:0000115
44 | WARN missing_definition gpos50 IAO:0000115
45 | WARN missing_definition gpos25 IAO:0000115
46 | WARN missing_definition has_staining_intensity IAO:0000115
47 | WARN missing_definition gpos66 IAO:0000115
48 | WARN missing_definition gpos33 IAO:0000115
49 | WARN missing_definition reporter region IAO:0000115
50 | WARN missing_definition has_sex_agnostic_part IAO:0000115
51 | WARN missing_definition is_mutant_allele_of IAO:0000115
52 | WARN missing_definition is_sequence_part_of IAO:0000115
53 | WARN missing_definition faldo properties IAO:0000115
54 | WARN missing_definition intrinsic genotype IAO:0000115
55 | WARN missing_definition DNA sequence IAO:0000115
56 | WARN missing_definition RNA sequence IAO:0000115
57 | WARN missing_definition amino acid sequence IAO:0000115
58 | WARN missing_definition has_inferred_phenotype IAO:0000115
59 | WARN missing_definition has_asserted_phenotype IAO:0000115
60 | WARN missing_definition is_regulatory_part_of IAO:0000115
61 | WARN missing_definition phenotypic inheritance process IAO:0000115
62 | WARN missing_definition biological sequence unit IAO:0000115
63 | WARN missing_definition DNA residue IAO:0000115
64 | WARN missing_definition RNA residue IAO:0000115
65 | WARN missing_definition amino acid residue IAO:0000115
66 | WARN missing_definition related_condition IAO:0000115
67 | WARN missing_definition inferred_to_cause_condition IAO:0000115
68 | WARN missing_definition inferred_to_contribute_to_condition IAO:0000115
69 | WARN missing_definition inferred_to_correlate_with_condition IAO:0000115
70 | WARN missing_definition genotype-phenotype association IAO:0000115
71 | WARN missing_definition knockdown reagent targeted gene complement IAO:0000115
72 | WARN missing_definition pathogenic_for_condition IAO:0000115
73 | WARN missing_definition likely_pathogenic_for_condition IAO:0000115
74 | WARN missing_definition benign_for_condition IAO:0000115
75 | WARN missing_definition likely_benign_for_condition IAO:0000115
76 | WARN missing_definition has_uncertain_significance_for_condition IAO:0000115
77 | WARN missing_definition is_candidate_variant_for IAO:0000115
78 | WARN missing_definition proabalistic_quantifier IAO:0000115
79 | WARN missing_definition microsatellite alteration IAO:0000115
80 | WARN missing_definition repeat region alteration IAO:0000115
81 | WARN missing_definition oryzias latipes strain IAO:0000115
82 | WARN missing_definition mixin IAO:0000115
83 | WARN missing_definition on strand IAO:0000115
84 | WARN missing_definition gene symbol IAO:0000115
85 | WARN missing_definition reporter IAO:0000115
86 | WARN missing_definition selectable marker IAO:0000115
87 | WARN missing_definition selectable marker region IAO:0000115
88 | WARN missing_definition mosaic IAO:0000115
89 | INFO lowercase_definition obsolete sequence feature collection IAO:0000115 a collection more than one sequence features (ie a collection of discontinuous sequence features)
90 | INFO lowercase_definition human population IAO:0000115 a population of homo sapiens grouped together in virtue of their sharing some commonality (either an inherent attribute or an externally assigned role)
91 | INFO lowercase_definition obsolete sequence feature collection attribute IAO:0000115 sequence attribute that can inhere only in a collection of more than one sequence features
92 | INFO lowercase_definition obsolete dominant inheritance IAO:0000115 disposition inhering in a genetic locus variant that is realized in its inheritance by some offspring such that at least a partial variant-associated phenotype is apparent in heterozygotes
93 | INFO lowercase_definition obsolete_is_phenotype_of_genotype IAO:0000115 shortcut relation used to link a phenotype directly to a genotype of an organism
94 | INFO lowercase_definition aneusomic IAO:0000115 a sequence attribute of a chromosome or chromosomal region that has been abnormally duplicated or lost, as the result of a non-disjunction event or unbalanced translocation.
95 | INFO lowercase_definition homoplasmic IAO:0000115 an allelic state where a single allele exists at a particular location in the organellar genome (mitochondrial or plastid) of a cell/organism.
96 | INFO lowercase_definition heteroplasmic IAO:0000115 an allelic state where more than one type of allele exists at a particular location in the organellar genome (mitochondrial or plastid) of a cell/organism.
97 | INFO lowercase_definition has_zygosity IAO:0000115 a relation to link a single locus complement to its zygosity.
98 | INFO lowercase_definition is_targeted_by IAO:0000115 relation between an molecular agent and its molecular target
99 | INFO lowercase_definition obsolete gametic IAO:0000115 a quality inhering in a feature in virtue of its presence only in the genome of gametes (germ cells).
100 | INFO missing_superclass genomic variation complement rdfs:subClassOf
101 | INFO missing_superclass reference sequence rdfs:subClassOf
102 | INFO missing_superclass variant single locus complement rdfs:subClassOf
103 | INFO missing_superclass reference allele rdfs:subClassOf
104 | INFO missing_superclass danio rerio gene rdfs:subClassOf
105 | INFO missing_superclass homo sapiens gene rdfs:subClassOf
106 | INFO missing_superclass mus musculus gene rdfs:subClassOf
107 | INFO missing_superclass transgene part rdfs:subClassOf
108 | INFO missing_superclass extrachromosomal replicon rdfs:subClassOf
109 | INFO missing_superclass allele rdfs:subClassOf
110 | INFO missing_superclass gene part rdfs:subClassOf
111 | INFO missing_superclass DNA sequence rdfs:subClassOf
112 | INFO missing_superclass RNA sequence rdfs:subClassOf
113 | INFO missing_superclass amino acid sequence rdfs:subClassOf
114 | INFO missing_superclass variant genomic genotype rdfs:subClassOf
115 | INFO missing_superclass biological sequence unit rdfs:subClassOf
116 | INFO missing_superclass allelic genotype rdfs:subClassOf
117 | INFO missing_superclass diplotype rdfs:subClassOf
118 |
--------------------------------------------------------------------------------
/src/ontology/run.bat:
--------------------------------------------------------------------------------
1 | docker run -v %cd%\..\..\:/work -w /work/src/ontology --rm -ti obolibrary/odkfull %*
2 |
--------------------------------------------------------------------------------
/src/ontology/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Wrapper script for docker.
3 | #
4 | # This is used primarily for wrapping the GNU Make workflow.
5 | # Instead of typing "make TARGET", type "./run.sh make TARGET".
6 | # This will run the make workflow within a docker container.
7 | #
8 | # The assumption is that you are working in the src/ontology folder;
9 | # we therefore map the whole repo (../..) to a docker volume.
10 | #
11 | # To use singularity instead of docker, please issue
12 | # export USE_SINGULARITY=
13 | # before running this script.
14 | #
15 | # See README-editors.md for more details.
16 |
17 | if [ -f run.sh.conf ]; then
18 | . ./run.sh.conf
19 | fi
20 |
21 | # Look for a GitHub token
22 | if [ -n "$GH_TOKEN" ]; then
23 | :
24 | elif [ -f ../../.github/token.txt ]; then
25 | GH_TOKEN=$(cat ../../.github/token.txt)
26 | elif [ -f $XDG_CONFIG_HOME/ontology-development-kit/github/token ]; then
27 | GH_TOKEN=$(cat $XDG_CONFIG_HOME/ontology-development-kit/github/token)
28 | elif [ -f "$HOME/Library/Application Support/ontology-development-kit/github/token" ]; then
29 | GH_TOKEN=$(cat "$HOME/Library/Application Support/ontology-development-kit/github/token")
30 | fi
31 |
32 | ODK_IMAGE=${ODK_IMAGE:-odkfull}
33 | TAG_IN_IMAGE=$(echo $ODK_IMAGE | awk -F':' '{ print $2 }')
34 | if [ -n "$TAG_IN_IMAGE" ]; then
35 | # Override ODK_TAG env var if IMAGE already includes a tag
36 | ODK_TAG=$TAG_IN_IMAGE
37 | ODK_IMAGE=$(echo $ODK_IMAGE | awk -F':' '{ print $1 }')
38 | fi
39 | ODK_TAG=${ODK_TAG:-latest}
40 | ODK_JAVA_OPTS=${ODK_JAVA_OPTS:--Xmx8G}
41 | ODK_DEBUG=${ODK_DEBUG:-no}
42 |
43 | TIMECMD=
44 | if [ x$ODK_DEBUG = xyes ]; then
45 | # If you wish to change the format string, take care of using
46 | # non-breaking spaces (U+00A0) instead of normal spaces, to
47 | # prevent the shell from tokenizing the format string.
48 | echo "Running ${IMAGE} with ${ODK_JAVA_OPTS} of memory for ROBOT and Java-based pipeline steps."
49 | TIMECMD="/usr/bin/time -f ### DEBUG STATS ###\nElapsed time: %E\nPeak memory: %M kb"
50 | fi
51 |
52 | VOLUME_BIND=$PWD/../../:/work
53 | WORK_DIR=/work/src/ontology
54 |
55 | if [ -n "$ODK_BINDS" ]; then
56 | VOLUME_BIND="$VOLUME_BIND,$ODK_BINDS"
57 | fi
58 |
59 | if [ -n "$USE_SINGULARITY" ]; then
60 |
61 | singularity exec --cleanenv $ODK_SINGULARITY_OPTIONS \
62 | --env "ROBOT_JAVA_ARGS=$ODK_JAVA_OPTS,JAVA_OPTS=$ODK_JAVA_OPTS" \
63 | --bind $VOLUME_BIND \
64 | -W $WORK_DIR \
65 | docker://obolibrary/$ODK_IMAGE:$ODK_TAG $TIMECMD "$@"
66 | else
67 | BIND_OPTIONS="-v $(echo $VOLUME_BIND | sed 's/,/ -v /')"
68 | docker run $ODK_DOCKER_OPTIONS $BIND_OPTIONS -w $WORK_DIR \
69 | -e ROBOT_JAVA_ARGS="$ODK_JAVA_OPTS" -e JAVA_OPTS="$ODK_JAVA_OPTS" \
70 | --rm -ti obolibrary/$ODK_IMAGE:$ODK_TAG $TIMECMD "$@"
71 | fi
72 |
73 | case "$@" in
74 | *update_repo*|*release*)
75 | echo "Please remember to update your ODK image from time to time: https://oboacademy.github.io/obook/howto/odk-update/."
76 | ;;
77 | esac
--------------------------------------------------------------------------------
/src/ontology/test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | ./run.sh make test
3 |
--------------------------------------------------------------------------------
/src/ontology/tmp/README.md:
--------------------------------------------------------------------------------
1 | # This folder contains files that are regenerated with every release to keep the src/ontology folder clean
--------------------------------------------------------------------------------
/src/patterns/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/monarch-initiative/GENO-ontology/4542a19703dae4c5ac22960854de680a1b7b427e/src/patterns/README.md
--------------------------------------------------------------------------------
/src/patterns/definitions.owl:
--------------------------------------------------------------------------------
1 | Prefix(:=)
2 | Prefix(owl:=)
3 | Prefix(rdf:=)
4 | Prefix(xml:=)
5 | Prefix(xsd:=)
6 | Prefix(rdfs:=)
7 |
8 |
9 | Ontology(
10 |
11 | )
--------------------------------------------------------------------------------
/src/patterns/dosdp-patterns/external.txt:
--------------------------------------------------------------------------------
1 | http://purl.obolibrary.org/obo/upheno/patterns/abnormalAnatomicalEntity.yaml
--------------------------------------------------------------------------------
/src/patterns/pattern.owl:
--------------------------------------------------------------------------------
1 | Prefix(:=)
2 | Prefix(owl:=)
3 | Prefix(rdf:=)
4 | Prefix(xml:=)
5 | Prefix(xsd:=)
6 | Prefix(rdfs:=)
7 |
8 |
9 | Ontology(
10 |
11 | )
--------------------------------------------------------------------------------
/src/scripts/update_repo.sh:
--------------------------------------------------------------------------------
1 | echo "This (experimental) update script will create a new repo according to your config file. It will:"
2 | echo "(1) overwrite your repositories Makefile, ODK sparql queries (your custom queries wont be touched) and docker wrapper (run.sh)."
3 | echo "(2) and add missing files, if any."
4 |
5 | set -e
6 |
7 | OID=geno
8 | ROOTDIR=../..
9 | SRCDIR=..
10 | CONFIG=$OID"-odk.yaml"
11 |
12 | rm -rf target
13 | mkdir target
14 | /tools/odk.py seed -c -g -C $CONFIG
15 | ls -l target/$OID/src
16 | ls -l $SRCDIR/
17 | cp target/$OID/src/scripts/update_repo.sh $SRCDIR/scripts/
18 | rsync -r -u --ignore-existing --exclude 'patterns/data/default/example.tsv' --exclude 'patterns/dosdp-patterns/example.yaml' target/$OID/src/ $SRCDIR/
19 | cp target/$OID/src/ontology/Makefile $SRCDIR/ontology/
20 | cp target/$OID/src/ontology/run.sh $SRCDIR/ontology/
21 | cp -r target/$OID/src/sparql/* $SRCDIR/sparql/
22 | mkdir -p $ROOTDIR/.github
23 | mkdir -p $ROOTDIR/.github/workflows
24 | cp -n target/$OID/.github/workflows/qc.yml $ROOTDIR/.github/workflows/qc.yml
25 |
26 |
27 |
28 | echo "WARNING: These files should be manually migrated: mkdocs.yaml, .gitignore, src/ontology/catalog.xml (if you added a new import or component)"
29 | echo "WARNING: Your QC workflows have not been updated automatically. Please update the ODK version number(s) in .github/workflows/qc.yml."
30 | echo "Ontology repository update successfully completed."
--------------------------------------------------------------------------------
/src/scripts/validate_id_ranges.sc:
--------------------------------------------------------------------------------
1 | import $ivy.`net.sourceforge.owlapi:owlapi-distribution:4.5.16`
2 | import $ivy.`com.outr::scribe-slf4j:2.7.12`
3 | import org.semanticweb.owlapi.apibinding.OWLManager
4 | import org.semanticweb.owlapi.model._
5 | import org.semanticweb.owlapi.vocab.OWLFacet
6 | import java.io.File
7 | import scala.collection
8 | import scala.collection.mutable
9 | import scala.jdk.CollectionConverters._
10 | @main
11 | def main(id_range_file: os.Path) = {
12 | val o = OWLManager.createOWLOntologyManager().loadOntology(IRI.create(id_range_file.toIO))
13 | val allMyFacets = mutable.ListBuffer.empty[MyFacet]
14 | for (dt <- o.getDatatypesInSignature().asScala) {
15 | val defs = o.getAxioms(dt)
16 | for (ax <- defs.asScala) {
17 | val range = ax.getDataRange()
18 | val f = new MyFacet()
19 | f.id = dt.toString()
20 | range.accept(new OWLDataRangeVisitor() {
21 | override
22 | def visit(owlDatatype: OWLDatatype) = ()
23 | override
24 | def visit(owlDataOneOf: OWLDataOneOf) = ()
25 | override
26 | def visit(owlDataComplementOf: OWLDataComplementOf) = ()
27 | override
28 | def visit(owlDataIntersectionOf: OWLDataIntersectionOf) = ()
29 | override
30 | def visit(owlDataUnionOf: OWLDataUnionOf) = ()
31 | override
32 | def visit(owlDatatypeRestriction: OWLDatatypeRestriction) = {
33 | for (fr <- owlDatatypeRestriction.getFacetRestrictions().asScala) {
34 | var i = fr.getFacetValue().parseInteger()
35 | if(fr.getFacet().equals(OWLFacet.MIN_INCLUSIVE)) {
36 | f.min = i
37 | } else if(fr.getFacet().equals(OWLFacet.MAX_INCLUSIVE)) {
38 | f.max = i
39 | } else if(fr.getFacet().equals(OWLFacet.MIN_EXCLUSIVE)) {
40 | i += 1
41 | f.min = i
42 | } else if(fr.getFacet().equals(OWLFacet.MAX_EXCLUSIVE)) {
43 | i -= 1
44 | f.max = i
45 | } else {
46 | log("Unknown range restriction: "+fr)
47 | }
48 | }
49 | }
50 | })
51 | log("Testing range: "+f)
52 | testFacetViolation(f,allMyFacets)
53 | allMyFacets.append(f)
54 | }
55 | }
56 | }
57 | def testFacetViolation(f: MyFacet , allMyFacets: collection.Seq[MyFacet]) = {
58 | for (f_p <- allMyFacets) {
59 | if (((f.min <= f_p.max) && (f_p.min <= f.max))) {
60 | throw new IllegalStateException(f + " overlaps with " + f_p + "!")
61 | }
62 | }
63 | }
64 | def log(o: Object) = {
65 | println(o.toString())
66 | }
67 | class MyFacet {
68 | var min: Int = _
69 | var max: Int = _
70 | var id: String = _
71 | override
72 | def toString(): String = {
73 | return "Facet{" + id + "}[min:" + min + " max:" + max + "]"
74 | }
75 | }
--------------------------------------------------------------------------------
/src/sparql/README.md:
--------------------------------------------------------------------------------
1 | # Sparql checks
2 |
3 | [SPARQL](https://www.w3.org/TR/rdf-sparql-query/) is a W3C standard
4 | query language for RDF. This directory contains useful SPARQL queries
5 | for perfoming over the ontology.
6 |
7 | SPARQL can be executed on a triplestore or directly on any OWL
8 | file. The queries here are all executed on either geno-edit.obo or
9 | downstream products in the [ontology](../ontology/) folder. We use
10 | `robot` as this allows easy execution over any Obo-format or OWL file.
11 |
12 | We break the queries into 3 categories:
13 |
14 | ## Constraint Violation checks
15 |
16 | These are all named `*violation.sparql`. A subset of these are
17 | configured to be executed via travis. If these return any results,
18 | then the build will fail.
19 |
20 | Consult the individual sparql files to see the intent of the check
21 |
22 | ## Construct queries
23 |
24 | These are named `construct*.sparql`, and always have the form `CONSTRUCT ...`.
25 |
26 | These are used to generate new OWL axioms that can be inserted back
27 | into the ontology.
28 |
29 | ## Reports
30 |
31 | The remaining SPARQL queries are for informative purposes. A subset
32 | may be executed with each release.
--------------------------------------------------------------------------------
/src/sparql/basic-report.sparql:
--------------------------------------------------------------------------------
1 | prefix oio:
2 | prefix def:
3 | prefix owl:
4 |
5 | SELECT ?cls ?def (group_concat(?xref) as ?xrefs) WHERE
6 | {
7 | ?cls a owl:Class .
8 | OPTIONAL { ?cls oio:hasDbXref ?xref } .
9 | OPTIONAL { ?cls def: ?def } .
10 | FILTER (!isBlank(?cls))
11 | }
12 | GROUP BY ?cls ?def
13 |
--------------------------------------------------------------------------------
/src/sparql/class-count-by-prefix.sparql:
--------------------------------------------------------------------------------
1 | prefix owl:
2 | prefix obo:
3 |
4 | SELECT ?prefix (COUNT(DISTINCT ?cls) AS ?numberOfClasses) WHERE
5 | {
6 | ?cls a owl:Class .
7 | FILTER (!isBlank(?cls))
8 | BIND( STRBEFORE(STRAFTER(str(?cls),"http://purl.obolibrary.org/obo/"), "_") AS ?prefix)
9 | }
10 | GROUP BY ?prefix
11 |
--------------------------------------------------------------------------------
/src/sparql/def-lacks-xref-violation.sparql:
--------------------------------------------------------------------------------
1 | prefix oio:
2 | prefix def:
3 | prefix owl:
4 |
5 | SELECT ?cls ?def (group_concat(?xref) as ?xrefs) WHERE
6 | {
7 | ?cls a owl:Class .
8 | OPTIONAL { ?cls oio:hasDbXref ?xref } .
9 | OPTIONAL { ?cls def: ?def } .
10 | FILTER (!isBlank(?cls))
11 | }
12 | GROUP BY ?cls ?def
13 |
--------------------------------------------------------------------------------
/src/sparql/edges.sparql:
--------------------------------------------------------------------------------
1 | prefix owl:
2 | prefix rdfs:
3 | prefix rdf:
4 |
5 | SELECT ?x ?p ?y
6 | WHERE {
7 | {?x rdfs:subClassOf [
8 | a owl:Restriction ;
9 | owl:onProperty ?p ;
10 | owl:someValuesFrom ?y ]
11 | }
12 | UNION {
13 | ?x rdfs:subClassOf ?y .
14 | BIND(rdfs:subClassOf AS ?p)
15 | }
16 | ?x a owl:Class .
17 | ?y a owl:Class .
18 | }
19 |
--------------------------------------------------------------------------------
/src/sparql/equivalent-classes-violation.sparql:
--------------------------------------------------------------------------------
1 | prefix oio:
2 | prefix owl:
3 | prefix rdfs:
4 |
5 | SELECT ?baseClass ?baseLabel ?equivalentClass ?equivalentLabel WHERE
6 | {
7 | ?baseClass owl:equivalentClass ?equivalentClass .
8 | ?baseClass rdfs:label ?baseLabel .
9 | ?equivalentClass rdfs:label ?equivalentLabel .
10 |
11 | FILTER (!isBlank(?baseClass)) .
12 | FILTER (!isBlank(?equivalentClass))
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/src/sparql/geno_terms.sparql:
--------------------------------------------------------------------------------
1 | SELECT DISTINCT ?term
2 | WHERE {
3 | { ?s1 ?p1 ?term . }
4 | UNION
5 | { ?term ?p2 ?o2 . }
6 | FILTER(isIRI(?term) && (STRSTARTS(str(?term), "http://purl.obolibrary.org/obo/GENO_")))
7 | }
8 |
--------------------------------------------------------------------------------
/src/sparql/illegal-date-violation.sparql:
--------------------------------------------------------------------------------
1 | PREFIX dct:
2 | PREFIX xsd:
3 |
4 | SELECT DISTINCT ?term ?property ?value WHERE
5 | {
6 | VALUES ?property {dct:date dct:issued dct:created}
7 | ?term ?property ?value .
8 | FILTER (datatype(?value) != xsd:date || !regex(str(?value), '^\\d{4}-\\d\\d-\\d\\d$'))
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/src/sparql/inject-subset-declaration.ru:
--------------------------------------------------------------------------------
1 | PREFIX :
2 | PREFIX rdf:
3 | PREFIX rdfs:
4 |
5 | INSERT { ?y rdfs:subPropertyOf . }
6 |
7 | WHERE {
8 | ?x ?y .
9 | FILTER(isIRI(?y))
10 | FILTER(regex(str(?y),"^(http://purl.obolibrary.org/obo/)") || regex(str(?y),"^(http://www.ebi.ac.uk/efo/)") || regex(str(?y),"^(https://w3id.org/biolink/)") || regex(str(?y),"^(http://purl.obolibrary.org/obo)"))
11 | }
--------------------------------------------------------------------------------
/src/sparql/inject-synonymtype-declaration.ru:
--------------------------------------------------------------------------------
1 | PREFIX :
2 | PREFIX rdf:
3 | PREFIX rdfs:
4 |
5 | INSERT { ?y rdfs:subPropertyOf . }
6 |
7 | WHERE {
8 | ?x ?y .
9 | FILTER(isIRI(?y))
10 | FILTER(regex(str(?y),"^(http://purl.obolibrary.org/obo/)") || regex(str(?y),"^(http://www.ebi.ac.uk/efo/)") || regex(str(?y),"^(https://w3id.org/biolink/)") || regex(str(?y),"^(http://purl.obolibrary.org/obo)"))
11 | }
--------------------------------------------------------------------------------
/src/sparql/iri-range-advanced-violation.sparql:
--------------------------------------------------------------------------------
1 | PREFIX never_in_taxon:
2 | PREFIX present_in_taxon:
3 | PREFIX oboInOwl:
4 | PREFIX dcterms:
5 | PREFIX rdfs:
6 | PREFIX foaf:
7 |
8 | SELECT ?term ?property ?value
9 | WHERE {
10 | VALUES ?property {
11 | never_in_taxon:
12 | present_in_taxon:
13 | rdfs:seeAlso
14 | foaf:depicted_by
15 | oboInOwl:inSubset
16 | dcterms:contributor }
17 | ?term ?property ?value .
18 | FILTER(isIRI(?term) && (STRSTARTS(str(?term), "http://purl.obolibrary.org/obo/GENO_")))
19 | FILTER (!isIRI(?value))
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/src/sparql/iri-range-violation.sparql:
--------------------------------------------------------------------------------
1 | PREFIX never_in_taxon:
2 | PREFIX present_in_taxon:
3 | PREFIX oboInOwl:
4 | PREFIX dcterms:
5 | PREFIX foaf:
6 |
7 | SELECT ?term ?property ?value
8 | WHERE {
9 | VALUES ?property {
10 | never_in_taxon:
11 | present_in_taxon:
12 | foaf:depicted_by
13 | oboInOwl:inSubset
14 | dcterms:contributor }
15 | ?term ?property ?value .
16 | FILTER(isIRI(?term) && (STRSTARTS(str(?term), "http://purl.obolibrary.org/obo/GENO_")))
17 | FILTER (!isIRI(?value))
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/src/sparql/label-with-iri-violation.sparql:
--------------------------------------------------------------------------------
1 | PREFIX rdfs:
2 |
3 | SELECT ?term ?value
4 | WHERE {
5 | ?term rdfs:label ?value .
6 | FILTER (REGEX(?value, "http[s]?[:]"))
7 | FILTER(isIRI(?term) && (STRSTARTS(str(?term), "http://purl.obolibrary.org/obo/GENO_")))
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/src/sparql/labels.sparql:
--------------------------------------------------------------------------------
1 | PREFIX owl:
2 | PREFIX rdf:
3 | PREFIX rdfs:
4 |
5 | SELECT ?x (STR(?lab) AS ?label) WHERE {
6 | ?x rdf:type owl:Class .
7 | OPTIONAL {?x rdfs:label ?lab}
8 | }
9 | ORDER BY ?x
10 |
--------------------------------------------------------------------------------
/src/sparql/multiple-replaced_by-violation.sparql:
--------------------------------------------------------------------------------
1 | PREFIX replaced_by:
2 |
3 | SELECT DISTINCT ?entity ?property ?value WHERE {
4 | VALUES ?property {
5 | replaced_by:
6 | }
7 | ?entity ?property ?value1 .
8 | ?entity ?property ?value2 .
9 | FILTER(?value1!=?value2)
10 | BIND(CONCAT(str(?value1), CONCAT("|", str(?value2))) as ?value)
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/src/sparql/nolabels-violation.sparql:
--------------------------------------------------------------------------------
1 | PREFIX owl:
2 | PREFIX rdf:
3 | PREFIX rdfs:
4 | PREFIX replaced_by:
5 |
6 | SELECT ?cls WHERE {
7 | ?cls a owl:Class
8 | FILTER NOT EXISTS {?cls rdfs:label ?lab}
9 | FILTER NOT EXISTS {?cls replaced_by: ?replCls}
10 | FILTER (!isBlank(?cls))
11 | FILTER ( regex(str(?cls), "^http://purl.obolibrary.org/obo/GO_"))
12 | }
13 | ORDER BY ?cls
14 |
--------------------------------------------------------------------------------
/src/sparql/obsolete-violation.sparql:
--------------------------------------------------------------------------------
1 | prefix xsd:
2 | PREFIX owl: