-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmerge.yaml
More file actions
268 lines (267 loc) · 8.06 KB
/
Copy pathmerge.yaml
File metadata and controls
268 lines (267 loc) · 8.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
---
# Standard merge configuration (Bakta and COG excluded)
# For Bakta-enabled merge, use merge_bakta.yaml instead
#
# Usage: poetry run kg merge -y merge.yaml
#
configuration:
output_directory: data/merged
checkpoint: false
# Allow domain-specific categories from METPO ontology
# METPO:1004005 represents the "growth medium" ontology class
# This preserves semantic precision for microbial growth media
category_allowlist:
- "METPO:1004005" # growth medium
curie_map:
# define non-canonical CURIE to IRI mappings (for RDF)
node_properties:
# define predicates that are to be treated as direct node properties (for RDF)
predicate_mappings:
# map non-canonical predicates to a property name (for RDF)
property_types:
# define the type for non-canonical properties for RDF export
preserve:
- primary_knowledge_source
merged_graph:
name: kg-microbe graph
source:
ncbitaxon:
name: "NCBITaxon"
input:
format: tsv
filename:
- data/transformed/ontologies/ncbitaxon_nodes.tsv
- data/transformed/ontologies/ncbitaxon_edges.tsv
chebi:
name: "CHEBI"
input:
format: tsv
filename:
- data/transformed/ontologies/chebi_nodes.tsv
- data/transformed/ontologies/chebi_edges.tsv
envo:
name: "ENVO"
input:
format: tsv
filename:
- data/transformed/ontologies/envo_nodes.tsv
- data/transformed/ontologies/envo_edges.tsv
go:
name: "GO"
input:
format: tsv
filename:
- data/transformed/ontologies/go_nodes.tsv
- data/transformed/ontologies/go_edges.tsv
# mondo:
# name: "MONDO"
# input:
# format: tsv
# filename:
# - data/transformed/ontologies/mondo_nodes.tsv
# - data/transformed/ontologies/mondo_edges.tsv
# hp:
# name: "HP"
# input:
# format: tsv
# filename:
# - data/transformed/ontologies/hp_nodes.tsv
# - data/transformed/ontologies/hp_edges.tsv
ec:
name: "EC"
input:
format: tsv
filename:
- data/transformed/ontologies/ec_nodes.tsv
- data/transformed/ontologies/ec_edges.tsv
metpo:
name: "METPO"
input:
format: tsv
filename:
- data/transformed/ontologies/metpo_nodes.tsv
- data/transformed/ontologies/metpo_edges.tsv
# Selective per-CURIE stub-import for NCIT, mesh, BTO, PO, and MICRO —
# only the IDs referenced by mappings/* are imported (not the full
# ontologies). See kg_microbe/transform_utils/ontologies_stubs/ for
# the transform.
ontologies_stubs:
name: "ontologies_stubs"
input:
format: tsv
filename:
- data/transformed/ontologies_stubs/ncit_nodes.tsv
- data/transformed/ontologies_stubs/ncit_edges.tsv
- data/transformed/ontologies_stubs/mesh_nodes.tsv
- data/transformed/ontologies_stubs/mesh_edges.tsv
- data/transformed/ontologies_stubs/bto_nodes.tsv
- data/transformed/ontologies_stubs/po_nodes.tsv
- data/transformed/ontologies_stubs/po_edges.tsv
- data/transformed/ontologies_stubs/micro_nodes.tsv
- data/transformed/ontologies_stubs/micro_edges.tsv
bacdive:
name: "bacdive"
input:
format: tsv
filename:
- data/transformed/bacdive/nodes.tsv
- data/transformed/bacdive/edges.tsv
mediadive:
name: "mediadive"
input:
format: tsv
filename:
- data/transformed/mediadive/nodes.tsv
- data/transformed/mediadive/edges.tsv
rhea_mappings:
name: "rhea_mappings"
input:
format: tsv
filename:
- data/transformed/rhea_mappings/nodes.tsv
- data/transformed/rhea_mappings/edges.tsv
upa:
input:
name: "upa"
format: tsv
filename:
- data/transformed/ontologies/upa_nodes.tsv
- data/transformed/ontologies/upa_edges.tsv
madin_etal:
input:
name: "madin_etal"
format: tsv
filename:
- data/transformed/madin_etal/nodes.tsv
- data/transformed/madin_etal/edges.tsv
metatraits:
input:
name: "metatraits"
format: tsv
filename:
- data/transformed/metatraits/nodes.tsv
- data/transformed/metatraits/edges.tsv
metatraits_gtdb:
input:
name: "metatraits_gtdb"
format: tsv
filename:
- data/transformed/metatraits_gtdb/nodes.tsv
- data/transformed/metatraits_gtdb/edges.tsv
bactotraits:
input:
name: "bactotraits"
format: tsv
filename:
- data/transformed/bactotraits/nodes.tsv
- data/transformed/bactotraits/edges.tsv
# bakta_cmm:
# name: "bakta_cmm"
# input:
# format: tsv
# filename:
# - data/transformed/bakta/cmm_bakta/nodes.tsv
# - data/transformed/bakta/cmm_bakta/edges.tsv
# bakta_pfas:
# name: "bakta_pfas"
# input:
# format: tsv
# filename:
# - data/transformed/bakta/pfas_bakta/nodes.tsv
# - data/transformed/bakta/pfas_bakta/edges.tsv
# cog:
# name: "cog"
# input:
# format: tsv
# filename:
# - data/transformed/cog/nodes.tsv
# - data/transformed/cog/edges.tsv
gtdb:
name: "GTDB Taxonomy"
input:
format: tsv
filename:
- data/transformed/gtdb/nodes.tsv
- data/transformed/gtdb/edges.tsv
# LPSN nomenclature. `lpsn` is the fast GSS/CSV base layer (taxon
# names, ranks, GTDB/NCBITaxon cross-refs); `lpsn_api` is the
# authenticated JSON-API enrichment (above-genus taxonomy, basonyms,
# publication DOIs/PMIDs, 16S INSDC accessions). The API enrichment
# nodes reference lpsn:* records minted by the GSS layer, so both are
# merged together.
lpsn:
name: "LPSN"
input:
format: tsv
filename:
- data/transformed/lpsn/nodes.tsv
- data/transformed/lpsn/edges.tsv
lpsn_api:
name: "LPSN API"
input:
format: tsv
filename:
- data/transformed/lpsn_api/nodes.tsv
- data/transformed/lpsn_api/edges.tsv
# kegg:
# name: "kegg"
# input:
# format: tsv
# filename:
# - data/transformed/kegg/nodes.tsv
# - data/transformed/kegg/edges.tsv
# ctd:
# input:
# name: "ctd"
# format: tsv
# filename:
# - data/transformed/ctd/nodes.tsv
# - data/transformed/ctd/edges.tsv
# disbiome:
# input:
# name: "disbiome"
# format: tsv
# filename:
# - data/transformed/disbiome/nodes.tsv
# - data/transformed/disbiome/edges.tsv
# wallen_etal:
# input:
# name: "wallen_etal"
# format: tsv
# filename:
# - data/transformed/wallen_etal/nodes.tsv
# - data/transformed/wallen_etal/edges.tsv
# Not feasible using kgx merge process
# uniprot_functional_microbes:
# input:
# name: "uniprot_functional_microbes"
# format: tsv
# filename:
# - data/transformed/uniprot_functional_microbes/nodes.tsv
# - data/transformed/uniprot_functional_microbes/edges.tsv
# uniprot_human:
# input:
# name: "uniprot_human"
# format: tsv
# filename:
# - data/transformed/uniprot_human/nodes.tsv
# - data/transformed/uniprot_human/edges.tsv
operations:
- name: kgx.graph_operations.summarize_graph.generate_graph_stats
args:
graph_name: kg-microbe graph
filename: merged_graph_stats.yaml
node_facet_properties:
- provided_by
edge_facet_properties:
- provided_by
- source
destination:
merged-kg-tsv:
format: tsv
compression: tar.gz
filename: merged-kg
# merged-kg-nt:
# format: nt
# compression: gz
# filename: kg_microbe.nt.gz