Skip to content

Commit 4603b84

Browse files
authored
Merge pull request #54 from INCATools/registry
registry
2 parents a30df2a + dbfde35 commit 4603b84

File tree

9 files changed

+518
-37
lines changed

9 files changed

+518
-37
lines changed

Makefile

Lines changed: 12 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ stage/%.db.gz: db/%.db
2828

2929
# INSTALL
3030
include install.Makefile
31+
#include ontologies.Makefile
3132

3233
# ---
3334
# tests
@@ -132,50 +133,25 @@ db/go.owl: STAMP
132133
db/monarch.owl:
133134
robot merge -I http://purl.obolibrary.org/obo/upheno/monarch.owl -o $@
134135

135-
db/phenio.owl:
136-
curl -L -s https://github.com/monarch-initiative/phenio/releases/download/latest/phenio.owl > $@.tmp && mv $@.tmp $@
137136

138-
db/bero.owl:
139-
curl -L -s https://github.com/berkeleybop/bero/releases/download/2022-05-26/bero.owl > $@.tmp && mv $@.tmp $@
140-
141-
db/aio.owl:
142-
curl -L -s https://raw.githubusercontent.com/berkeleybop/artificial-intelligence-ontology/main/aio.owl > $@.tmp && mv $@.tmp $@
143-
144-
db/reacto.owl:
145-
curl -L -s http://purl.obolibrary.org/obo/go/extensions/reacto.owl > $@.tmp && mv $@.tmp $@
146-
147-
db/go-lego.owl:
148-
curl -L -s http://purl.obolibrary.org/obo/go/extensions/go-lego.owl > $@.tmp && mv $@.tmp $@
149-
150-
db/bao.owl:
151-
robot merge -I http://www.bioassayontology.org/bao/bao_complete.owl -o $@
152-
153-
db/biolink.owl:
154-
robot merge -I https://w3id.org/biolink/biolink-model.owl.ttl -o $@
137+
db/reactome-Homo-sapiens.owl: download/reactome-biopax.zip db/biopax.owl
138+
unzip -p $< Homo_sapiens.owl > $@.tmp &&\
139+
robot merge -i $@.tmp -i db/biopax.owl -o $@
155140

156-
# https://github.com/ontodev/rdftab.rs/issues/21
157-
db/biopax.owl:
158-
robot convert -I http://www.biopax.org/release/biopax-level3.owl -o $@
141+
download/reactome-biopax.zip:
142+
curl -L -s https://reactome.org/download/current/biopax.zip > $@
159143

160-
# https://github.com/enanomapper/ontologies/issues/323
161-
db/enanomapper.owl:
162-
robot merge -I https://raw.githubusercontent.com/enanomapper/ontologies/master/enanomapper.owl -o $@
144+
## Additional ontologies
163145

164-
db/efo.owl: STAMP
165-
robot merge -I http://www.ebi.ac.uk/efo/efo.owl -o $@
146+
src/semsql/builder/registry/registry_schema.py: src/semsql/builder/registry/registry_schema.yaml
147+
$(RUN) gen-python $< > $@
166148

167-
db/edam.owl:
168-
curl -L -s http://edamontology.org/EDAM.owl > $@
149+
ontologies.Makefile: src/semsql/builder/registry/ontologies.yaml
150+
$(RUN) semsql generate-makefile $< > $@.tmp && mv $@.tmp $@
169151

170-
db/sweetAll.owl:
171-
robot merge -I http://sweetontology.net/sweetAll -o $@
152+
include ontologies.Makefile
172153

173-
db/reactome-Homo-sapiens.owl: download/reactome-biopax.zip db/biopax.owl
174-
unzip -p $< Homo_sapiens.owl > $@.tmp &&\
175-
robot merge -i $@.tmp -i db/biopax.owl -o $@
176154

177-
download/reactome-biopax.zip:
178-
curl -L -s https://reactome.org/download/current/biopax.zip > $@
179155

180156
#fma.owl:#
181157
# http://purl.org/sig/ont/fma.owl
@@ -232,7 +208,6 @@ $(SQLA_DIR)/%.py: $(YAML_DIR)/%.yaml
232208
bin/%:
233209
echo `poetry run which $*` '$$*' > $@ && chmod +x $@
234210

235-
236211
### DEPLOY
237212

238213
DATE = $(shell date -u +"%Y-%m-%d")

ontologies.Makefile

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
db/phenio.owl: STAMP
2+
curl -L -s https://github.com/monarch-initiative/phenio/releases/download/latest/phenio.owl > $@.tmp && mv $@.tmp $@
3+
4+
db/bero.owl: STAMP
5+
curl -L -s https://github.com/berkeleybop/bero/releases/download/2022-05-26/bero.owl > $@.tmp && mv $@.tmp $@
6+
7+
db/aio.owl: STAMP
8+
curl -L -s https://raw.githubusercontent.com/berkeleybop/artificial-intelligence-ontology/main/aio.owl > $@.tmp && mv $@.tmp $@
9+
10+
db/reacto.owl: STAMP
11+
curl -L -s http://purl.obolibrary.org/obo/go/extensions/reacto.owl > $@.tmp && mv $@.tmp $@
12+
13+
db/go-lego.owl: STAMP
14+
curl -L -s http://purl.obolibrary.org/obo/go/extensions/go-lego.owl > $@.tmp && mv $@.tmp $@
15+
16+
db/bao.owl: STAMP
17+
robot merge -I http://www.bioassayontology.org/bao/bao_complete.owl -o $@
18+
19+
db/biolink.owl: STAMP
20+
robot merge -I https://w3id.org/biolink/biolink-model.owl.ttl -o $@
21+
22+
db/biopax.owl: STAMP
23+
curl -L -s http://www.biopax.org/release/biopax-level3.owl > $@.tmp && mv $@.tmp $@
24+
25+
db/enanomapper.owl: STAMP
26+
robot merge -I http://enanomapper.github.io/ontologies/enanomapper.owl -o $@
27+
28+
db/efo.owl: STAMP
29+
robot merge -I http://www.ebi.ac.uk/efo/efo.owl -o $@
30+
31+
db/edam.owl: STAMP
32+
curl -L -s http://edamontology.org/EDAM.owl > $@.tmp && mv $@.tmp $@
33+
34+
db/sweetAll.owl: STAMP
35+
robot merge -I http://sweetontology.net/sweetAll -o $@
36+
37+
db/lov.owl: STAMP
38+
robot merge -I https://lov.linkeddata.es/lov.n3.gz -o $@
39+
40+
db/schema-dot-org.owl: STAMP
41+
curl -L -s https://schema.org/version/latest/schemaorg-current-https.rdf > $@.tmp && mv $@.tmp $@
42+
43+

src/semsql/builder/builder.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
from typing import Optional
88

99
import requests
10+
from linkml_runtime.loaders import yaml_loader
1011
from sqlalchemy import create_engine
1112
from sqlalchemy.orm import sessionmaker
1213

14+
from semsql.builder.registry import registry_schema
15+
1316
this_path = Path(__file__).parent
1417

1518

@@ -103,3 +106,27 @@ def connect(owl_file: str):
103106
Session = sessionmaker(bind=engine)
104107
session = Session()
105108
return session
109+
110+
def compile_registry(registry_path: str) -> str:
111+
"""
112+
Generate makefile content from registry
113+
114+
:param registry_path:
115+
:return:
116+
"""
117+
registry: registry_schema.Registry
118+
registry = yaml_loader.load(registry_path, target_class=registry_schema.Registry)
119+
mkfile = ""
120+
onts = []
121+
for ont in registry.ontologies.values():
122+
target = f"db/{ont.id}.owl"
123+
dependencies = ["STAMP"]
124+
if ont.has_imports or (ont.format and ont.format != 'rdfxml'):
125+
command = f"robot merge -I {ont.url} -o $@"
126+
else:
127+
command = f"curl -L -s {ont.url} > [email protected] && mv [email protected] $@"
128+
dependencies_str = " ".join(dependencies)
129+
mkfile += f"{target}: {dependencies_str}\n\t{command}\n\n"
130+
onts.append(ont.id)
131+
mkfile += f"EXTRA_ONTOLOGIES = {' '.join(onts)}"
132+
return mkfile

src/semsql/builder/cli.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,15 @@ def make(path, docker):
5050
builder.make(path, docker_config=docker_config)
5151

5252

53+
@main.command()
54+
@click.argument("registry")
55+
def generate_makefile(registry):
56+
"""
57+
Generates makefile
58+
"""
59+
print(builder.compile_registry(registry))
60+
61+
5362
@main.command()
5463
@click.option("-o", "--output")
5564
@click.argument("ontology")

src/semsql/builder/prefixes/prefixes.csv

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ allotrope.role,http://purl.allotrope.org/ontologies/role#
3737
allotrope.equipment,http://purl.allotrope.org/ontologies/equipment#
3838
allotrope,http://purl.allotrope.org/ontologies/
3939
aio,https://w3id.org/aio/
40+
NPO,http://purl.bioontology.org/ontology/npo#NPO_
41+
CHEMINF,http://semanticscience.org/resource/CHEMINF_
42+
aopkb,http://aopkb.org/aop_ontology#
43+
ENM.net,http://purl.enanomapper.net/onto/ENM_
44+
cito,http://purl.org/spar/cito/
45+
fabio,http://purl.org/spar/fabio/
46+
SIO,http://semanticscience.org/resource/SIO_
47+
doap,http://usefulinc.com/ns/doap#
48+
wikidata,http://www.wikidata.org/entity/
49+
schema,https://schema.org/
4050
ICD10CM,http://purl.bioontology.org/ontology/ICD10CM/
4151
ICD10WHO,https://icd.who.int/browse10/2019/en#/
4252
PSO,http://purl.obolibrary.org/obo/PSO_

src/semsql/builder/prefixes/prefixes_curated.csv

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,15 @@ allotrope.role,http://purl.allotrope.org/ontologies/role#
3737
allotrope.equipment,http://purl.allotrope.org/ontologies/equipment#
3838
allotrope,http://purl.allotrope.org/ontologies/
3939
aio,https://w3id.org/aio/
40+
NPO,http://purl.bioontology.org/ontology/npo#NPO_
41+
CHEMINF,http://semanticscience.org/resource/CHEMINF_
42+
aopkb,http://aopkb.org/aop_ontology#
43+
ENM.net,http://purl.enanomapper.net/onto/ENM_
44+
cito,http://purl.org/spar/cito/
45+
fabio,http://purl.org/spar/fabio/
46+
SIO,http://semanticscience.org/resource/SIO_
47+
doap,http://usefulinc.com/ns/doap#
48+
wikidata,http://www.wikidata.org/entity/
49+
schema,https://schema.org/
4050
ICD10CM,http://purl.bioontology.org/ontology/ICD10CM/
4151
ICD10WHO,https://icd.who.int/browse10/2019/en#/
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
id: semantic-sql-registry
2+
description: Registry overlap for Semantic-SQL designed to supplement OBO vocabularies
3+
license: CC0
4+
ontologies:
5+
phenio:
6+
description: Monarch Phenomics Integrated Ontology
7+
url: https://github.com/monarch-initiative/phenio/releases/download/latest/phenio.owl
8+
bero:
9+
url: https://github.com/berkeleybop/bero/releases/download/2022-05-26/bero.owl
10+
aio:
11+
url: https://raw.githubusercontent.com/berkeleybop/artificial-intelligence-ontology/main/aio.owl
12+
reacto:
13+
url: http://purl.obolibrary.org/obo/go/extensions/reacto.owl
14+
go-lego:
15+
url: http://purl.obolibrary.org/obo/go/extensions/go-lego.owl
16+
bao:
17+
url: http://www.bioassayontology.org/bao/bao_complete.owl
18+
has_imports: true
19+
biolink:
20+
url: https://w3id.org/biolink/biolink-model.owl.ttl
21+
jsonld_context: https://biolink.github.io/biolink-model/context.jsonld
22+
format: turtle
23+
#
24+
biopax:
25+
url: http://www.biopax.org/release/biopax-level3.owl
26+
enanomapper:
27+
url: http://enanomapper.github.io/ontologies/enanomapper.owl
28+
has_imports: true
29+
prefixmap:
30+
evs.ncit: http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#
31+
fix: http://purl.org/obo/owl/FIX#
32+
efo:
33+
url: http://www.ebi.ac.uk/efo/efo.owl
34+
has_imports: true
35+
edam:
36+
url: http://edamontology.org/EDAM.owl
37+
sweetAll:
38+
url: http://sweetontology.net/sweetAll
39+
has_imports: true
40+
named_prefixmaps:
41+
- sweet
42+
- prefixcc
43+
lov:
44+
url: https://lov.linkeddata.es/lov.n3.gz
45+
format: n3
46+
compression: gzip
47+
schema-dot-org:
48+
url: https://schema.org/version/latest/schemaorg-current-https.rdf

0 commit comments

Comments
 (0)