@graphty/graph-io 0.3.17 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +64 -3
- package/dist/chunks/{escape-scjHxjpr.js → escape-CWExcecC.js} +3 -2
- package/dist/chunks/{escape-scjHxjpr.js.map → escape-CWExcecC.js.map} +1 -1
- package/dist/chunks/exporter-CbMZyVt-.js +735 -0
- package/dist/chunks/exporter-CbMZyVt-.js.map +1 -0
- package/dist/chunks/importer-BAP4PrxR.js +2194 -0
- package/dist/chunks/importer-BAP4PrxR.js.map +1 -0
- package/dist/chunks/{importer-Xg07gk7p.js → importer-BNFuV1-K.js} +5 -3
- package/dist/chunks/{importer-Xg07gk7p.js.map → importer-BNFuV1-K.js.map} +1 -1
- package/dist/chunks/{importer-BmOl9gLW.js → importer-BVGtU1NA.js} +5 -3
- package/dist/chunks/{importer-BmOl9gLW.js.map → importer-BVGtU1NA.js.map} +1 -1
- package/dist/chunks/{importer-ruMWWvVs.js → importer-BW-Ft2ps.js} +5 -3
- package/dist/chunks/{importer-ruMWWvVs.js.map → importer-BW-Ft2ps.js.map} +1 -1
- package/dist/chunks/{importer-B6rKRxzv.js → importer-Bm1_5vPS.js} +781 -104
- package/dist/chunks/importer-Bm1_5vPS.js.map +1 -0
- package/dist/chunks/importer-ByPGO-09.js +1614 -0
- package/dist/chunks/importer-ByPGO-09.js.map +1 -0
- package/dist/chunks/importer-DOepkgnG.js +1713 -0
- package/dist/chunks/importer-DOepkgnG.js.map +1 -0
- package/dist/chunks/json-elements-CZY1wiZh.js +779 -0
- package/dist/chunks/json-elements-CZY1wiZh.js.map +1 -0
- package/dist/chunks/ontology-BnrJ4I98.js +113 -0
- package/dist/chunks/ontology-BnrJ4I98.js.map +1 -0
- package/dist/chunks/{records-DSpbTE5s.js → records-BzNicMsf.js} +2 -2
- package/dist/chunks/{records-DSpbTE5s.js.map → records-BzNicMsf.js.map} +1 -1
- package/dist/chunks/{writer-DHHfHn11.js → report-BcWboivV.js} +106 -928
- package/dist/chunks/report-BcWboivV.js.map +1 -0
- package/dist/chunks/weights-CwISIpCP.js +176 -0
- package/dist/chunks/weights-CwISIpCP.js.map +1 -0
- package/dist/chunks/writer-DQiKgQJc.js +656 -0
- package/dist/chunks/writer-DQiKgQJc.js.map +1 -0
- package/dist/csv.js +5 -3
- package/dist/csv.js.map +1 -1
- package/dist/cx.d.ts +1 -0
- package/dist/cx.js +6 -0
- package/dist/cx.js.map +1 -0
- package/dist/cx2.d.ts +1 -0
- package/dist/cx2.js +10 -0
- package/dist/cx2.js.map +1 -0
- package/dist/dot.js +1 -1
- package/dist/gexf.js +15 -3
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +5 -3
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +158 -383
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +1 -1
- package/dist/json.js +1 -1
- package/dist/neo4j.js +5 -3
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.d.ts +1 -0
- package/dist/obo.js +6 -0
- package/dist/obo.js.map +1 -0
- package/dist/pajek.js +1 -1
- package/dist/src/common/json-elements.d.ts +286 -0
- package/dist/src/common/json-elements.d.ts.map +1 -0
- package/dist/src/common/json-elements.js +926 -0
- package/dist/src/common/json-elements.js.map +1 -0
- package/dist/src/common/ontology.d.ts +59 -0
- package/dist/src/common/ontology.d.ts.map +1 -0
- package/dist/src/common/ontology.js +147 -0
- package/dist/src/common/ontology.js.map +1 -0
- package/dist/src/formats/cx/importer.d.ts +133 -0
- package/dist/src/formats/cx/importer.d.ts.map +1 -0
- package/dist/src/formats/cx/importer.js +2220 -0
- package/dist/src/formats/cx/importer.js.map +1 -0
- package/dist/src/formats/cx/index.d.ts +7 -0
- package/dist/src/formats/cx/index.d.ts.map +1 -0
- package/dist/src/formats/cx/index.js +7 -0
- package/dist/src/formats/cx/index.js.map +1 -0
- package/dist/src/formats/cx2/exporter.d.ts +59 -0
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -0
- package/dist/src/formats/cx2/exporter.js +864 -0
- package/dist/src/formats/cx2/exporter.js.map +1 -0
- package/dist/src/formats/cx2/importer.d.ts +169 -0
- package/dist/src/formats/cx2/importer.d.ts.map +1 -0
- package/dist/src/formats/cx2/importer.js +1652 -0
- package/dist/src/formats/cx2/importer.js.map +1 -0
- package/dist/src/formats/cx2/index.d.ts +7 -0
- package/dist/src/formats/cx2/index.d.ts.map +1 -0
- package/dist/src/formats/cx2/index.js +7 -0
- package/dist/src/formats/cx2/index.js.map +1 -0
- package/dist/src/formats/gexf/exporter.d.ts +2 -0
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
- package/dist/src/formats/gexf/exporter.js +6 -0
- package/dist/src/formats/gexf/exporter.js.map +1 -1
- package/dist/src/formats/gexf/importer.d.ts +2 -4
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +2 -4
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/index.d.ts +1 -1
- package/dist/src/formats/gexf/index.js +2 -2
- package/dist/src/formats/gexf/index.js.map +1 -1
- package/dist/src/formats/gml/exporter.js +1 -1
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/json/dialect.d.ts +8 -6
- package/dist/src/formats/json/dialect.d.ts.map +1 -1
- package/dist/src/formats/json/dialect.js +26 -3
- package/dist/src/formats/json/dialect.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts +324 -7
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +159 -126
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/formats/json/obographs.d.ts +21 -0
- package/dist/src/formats/json/obographs.d.ts.map +1 -0
- package/dist/src/formats/json/obographs.js +476 -0
- package/dist/src/formats/json/obographs.js.map +1 -0
- package/dist/src/formats/obo/importer.d.ts +90 -0
- package/dist/src/formats/obo/importer.d.ts.map +1 -0
- package/dist/src/formats/obo/importer.js +1248 -0
- package/dist/src/formats/obo/importer.js.map +1 -0
- package/dist/src/formats/obo/index.d.ts +7 -0
- package/dist/src/formats/obo/index.d.ts.map +1 -0
- package/dist/src/formats/obo/index.js +7 -0
- package/dist/src/formats/obo/index.js.map +1 -0
- package/dist/src/formats/obo/syntax.d.ts +121 -0
- package/dist/src/formats/obo/syntax.d.ts.map +1 -0
- package/dist/src/formats/obo/syntax.js +424 -0
- package/dist/src/formats/obo/syntax.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +8 -1
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sniff.d.ts +1 -1
- package/dist/src/sniff.d.ts.map +1 -1
- package/dist/src/sniff.js +25 -3
- package/dist/src/sniff.js.map +1 -1
- package/package.json +16 -1
- package/src/common/json-elements.ts +1147 -0
- package/src/common/ontology.ts +169 -0
- package/src/formats/cx/importer.ts +2733 -0
- package/src/formats/cx/index.ts +7 -0
- package/src/formats/cx2/exporter.ts +1036 -0
- package/src/formats/cx2/importer.ts +2187 -0
- package/src/formats/cx2/index.ts +7 -0
- package/src/formats/gexf/exporter.ts +11 -0
- package/src/formats/gexf/importer.ts +2 -2
- package/src/formats/gexf/index.ts +1 -1
- package/src/formats/gml/exporter.ts +1 -1
- package/src/formats/json/dialect.ts +37 -7
- package/src/formats/json/importer.ts +210 -132
- package/src/formats/json/obographs.ts +563 -0
- package/src/formats/obo/importer.ts +1695 -0
- package/src/formats/obo/index.ts +7 -0
- package/src/formats/obo/syntax.ts +466 -0
- package/src/index.ts +11 -0
- package/src/registry.ts +8 -1
- package/src/sniff.ts +48 -5
- package/dist/chunks/importer-B6rKRxzv.js.map +0 -1
- package/dist/chunks/writer-DHHfHn11.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-elements.js","sourceRoot":"","sources":["../../../src/common/json-elements.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the OBO importer and the JSON importer's `obographs` dialect share (design section 1.0, the
|
|
3
|
+
* `ontology.ts` building block): the OBO column vocabulary (names, dtypes, roles), so the `.obo` and
|
|
4
|
+
* the `.json` of one ontology give the same columns, and the OBO 1.4 rule for turning the IRIs
|
|
5
|
+
* OBO Graphs writes back into the identifiers the `.obo` file writes (section 4.6).
|
|
6
|
+
*/
|
|
7
|
+
import { type ColumnDecl } from "@graphty/graph-format";
|
|
8
|
+
/** The dtypes the OBO vocabulary uses. */
|
|
9
|
+
type OboDtype = "string" | "dict" | "bool" | "list" | "json";
|
|
10
|
+
/** One column of the OBO vocabulary. */
|
|
11
|
+
interface OboColumnSpec {
|
|
12
|
+
/** The dtype. */
|
|
13
|
+
readonly dtype: OboDtype;
|
|
14
|
+
/** The role, when the column carries one. */
|
|
15
|
+
readonly role?: "label" | "kind" | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The node columns of the OBO vocabulary, keyed by column name (design section 4.2). The names are
|
|
19
|
+
* the OBO tag names, so a Gene Ontology user finds `namespace`, `def` and `is_obsolete` under the
|
|
20
|
+
* names the GO documentation uses.
|
|
21
|
+
*/
|
|
22
|
+
export declare const OBO_NODE_COLUMNS: Readonly<Record<string, OboColumnSpec>>;
|
|
23
|
+
/** The node column that marks a node made for an undeclared reference (design section 4.2). */
|
|
24
|
+
export declare const PLACEHOLDER_COLUMN = "graphty.placeholder";
|
|
25
|
+
/**
|
|
26
|
+
* The declaration of an OBO vocabulary column.
|
|
27
|
+
* @param domain - node or edge
|
|
28
|
+
* @param name - the column name (a key of OBO_NODE_COLUMNS / OBO_EDGE_COLUMNS, or the placeholder column)
|
|
29
|
+
* @returns the declaration, nullable, with origin `{ format: "obo", id: name }`
|
|
30
|
+
*/
|
|
31
|
+
export declare function oboColumnDecl(domain: "node" | "edge", name: string): ColumnDecl;
|
|
32
|
+
/**
|
|
33
|
+
* An IRI as the identifier the `.obo` file writes (the OBO 1.4 mapping, section 5.9, read
|
|
34
|
+
* backwards): `http://purl.obolibrary.org/obo/GO_0008150` is `GO:0008150` (the prefix is the text
|
|
35
|
+
* before the first underscore), and `http://purl.obolibrary.org/obo/go#regulates` (how the OWL
|
|
36
|
+
* translation writes an unprefixed OBO id: subsets, relations, synonym types) is `regulates`.
|
|
37
|
+
* Every other IRI, and an OBO PURL that fits neither form (`.../obo/T/Female`), is kept.
|
|
38
|
+
* @param iri - the IRI
|
|
39
|
+
* @returns the CURIE or local id, or the IRI unchanged
|
|
40
|
+
*/
|
|
41
|
+
export declare function compactOboIri(iri: string): string;
|
|
42
|
+
/** The OBO synonym scopes. */
|
|
43
|
+
export declare const SYNONYM_SCOPES: ReadonlySet<string>;
|
|
44
|
+
/**
|
|
45
|
+
* The OBO synonym scope of an OBO Graphs synonym predicate (`hasExactSynonym`, with or without the
|
|
46
|
+
* oboInOwl namespace).
|
|
47
|
+
* @param pred - the predicate
|
|
48
|
+
* @returns the scope, or null for a predicate that is not one of the four
|
|
49
|
+
*/
|
|
50
|
+
export declare function synonymScopeOf(pred: string): string | null;
|
|
51
|
+
/**
|
|
52
|
+
* The OBO tag a `basicPropertyValues` predicate of OBO Graphs came from (the OBO-to-OWL mapping of
|
|
53
|
+
* the tags that are annotations), so the `.json` of an ontology fills the same columns as its
|
|
54
|
+
* `.obo`. `shorthand` is the relation's short name; every predicate not listed is a
|
|
55
|
+
* `property_value`.
|
|
56
|
+
*/
|
|
57
|
+
export declare const OBOGRAPHS_PREDICATE_TAGS: ReadonlyMap<string, string>;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=ontology.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../../src/common/ontology.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,0CAA0C;AAC1C,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,wCAAwC;AACxC,UAAU,aAAa;IACnB,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CAChD;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAiDnE,CAAC;AASH,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAa/E;AAQD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAejD;AAED,8BAA8B;AAC9B,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAoD,CAAC;AAEpG;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAQ/D,CAAC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the OBO importer and the JSON importer's `obographs` dialect share (design section 1.0, the
|
|
3
|
+
* `ontology.ts` building block): the OBO column vocabulary (names, dtypes, roles), so the `.obo` and
|
|
4
|
+
* the `.json` of one ontology give the same columns, and the OBO 1.4 rule for turning the IRIs
|
|
5
|
+
* OBO Graphs writes back into the identifiers the `.obo` file writes (section 4.6).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The node columns of the OBO vocabulary, keyed by column name (design section 4.2). The names are
|
|
9
|
+
* the OBO tag names, so a Gene Ontology user finds `namespace`, `def` and `is_obsolete` under the
|
|
10
|
+
* names the GO documentation uses.
|
|
11
|
+
*/
|
|
12
|
+
export const OBO_NODE_COLUMNS = Object.freeze({
|
|
13
|
+
type: { dtype: "dict" },
|
|
14
|
+
name: { dtype: "string", role: "label" },
|
|
15
|
+
namespace: { dtype: "dict" },
|
|
16
|
+
def: { dtype: "string" },
|
|
17
|
+
"def.xrefs": { dtype: "list" },
|
|
18
|
+
comment: { dtype: "string" },
|
|
19
|
+
synonym: { dtype: "json" },
|
|
20
|
+
xref: { dtype: "list" },
|
|
21
|
+
"xref.descriptions": { dtype: "json" },
|
|
22
|
+
alt_id: { dtype: "list" },
|
|
23
|
+
subset: { dtype: "list" },
|
|
24
|
+
replaced_by: { dtype: "list" },
|
|
25
|
+
consider: { dtype: "list" },
|
|
26
|
+
is_obsolete: { dtype: "bool" },
|
|
27
|
+
is_anonymous: { dtype: "bool" },
|
|
28
|
+
builtin: { dtype: "bool" },
|
|
29
|
+
created_by: { dtype: "string" },
|
|
30
|
+
creation_date: { dtype: "string" },
|
|
31
|
+
intersection_of: { dtype: "json" },
|
|
32
|
+
union_of: { dtype: "list" },
|
|
33
|
+
equivalent_to: { dtype: "list" },
|
|
34
|
+
disjoint_from: { dtype: "list" },
|
|
35
|
+
property_value: { dtype: "json" },
|
|
36
|
+
// Typedef frames, under typedefs: "nodes"
|
|
37
|
+
domain: { dtype: "string" },
|
|
38
|
+
range: { dtype: "string" },
|
|
39
|
+
inverse_of: { dtype: "string" },
|
|
40
|
+
transitive_over: { dtype: "list" },
|
|
41
|
+
disjoint_over: { dtype: "list" },
|
|
42
|
+
holds_over_chain: { dtype: "json" },
|
|
43
|
+
equivalent_to_chain: { dtype: "json" },
|
|
44
|
+
expand_assertion_to: { dtype: "json" },
|
|
45
|
+
expand_expression_to: { dtype: "json" },
|
|
46
|
+
is_cyclic: { dtype: "bool" },
|
|
47
|
+
is_reflexive: { dtype: "bool" },
|
|
48
|
+
is_symmetric: { dtype: "bool" },
|
|
49
|
+
is_anti_symmetric: { dtype: "bool" },
|
|
50
|
+
is_asymmetric: { dtype: "bool" },
|
|
51
|
+
is_transitive: { dtype: "bool" },
|
|
52
|
+
is_functional: { dtype: "bool" },
|
|
53
|
+
is_inverse_functional: { dtype: "bool" },
|
|
54
|
+
is_metadata_tag: { dtype: "bool" },
|
|
55
|
+
is_class_level: { dtype: "bool" },
|
|
56
|
+
// OBO Graphs only
|
|
57
|
+
propertyType: { dtype: "dict" },
|
|
58
|
+
// what has no column of its own
|
|
59
|
+
"obo.qualifiers": { dtype: "json" },
|
|
60
|
+
"obo.unrecognized": { dtype: "json" },
|
|
61
|
+
});
|
|
62
|
+
/** The edge columns of the OBO vocabulary. */
|
|
63
|
+
const OBO_EDGE_COLUMNS = Object.freeze({
|
|
64
|
+
relation: { dtype: "dict", role: "kind" },
|
|
65
|
+
qualifiers: { dtype: "json" },
|
|
66
|
+
meta: { dtype: "json" },
|
|
67
|
+
});
|
|
68
|
+
/** The node column that marks a node made for an undeclared reference (design section 4.2). */
|
|
69
|
+
export const PLACEHOLDER_COLUMN = "graphty.placeholder";
|
|
70
|
+
/**
|
|
71
|
+
* The declaration of an OBO vocabulary column.
|
|
72
|
+
* @param domain - node or edge
|
|
73
|
+
* @param name - the column name (a key of OBO_NODE_COLUMNS / OBO_EDGE_COLUMNS, or the placeholder column)
|
|
74
|
+
* @returns the declaration, nullable, with origin `{ format: "obo", id: name }`
|
|
75
|
+
*/
|
|
76
|
+
export function oboColumnDecl(domain, name) {
|
|
77
|
+
if (name === PLACEHOLDER_COLUMN) {
|
|
78
|
+
return { name, dtype: "bool", nullable: true, origin: { format: "graphty", id: "placeholder" } };
|
|
79
|
+
}
|
|
80
|
+
const spec = (domain === "node" ? OBO_NODE_COLUMNS : OBO_EDGE_COLUMNS)[name];
|
|
81
|
+
const decl = { name, dtype: spec.dtype, nullable: true, origin: { format: "obo", id: name } };
|
|
82
|
+
if (spec.dtype === "list") {
|
|
83
|
+
decl.itemDtype = "string";
|
|
84
|
+
}
|
|
85
|
+
if (spec.role !== undefined) {
|
|
86
|
+
decl.role = spec.role;
|
|
87
|
+
}
|
|
88
|
+
return decl;
|
|
89
|
+
}
|
|
90
|
+
/** The OBO PURL base every OBO Foundry IRI starts with. */
|
|
91
|
+
const OBO_PURL = "http://purl.obolibrary.org/obo/";
|
|
92
|
+
/** The oboInOwl namespace of the OBO-to-OWL mapping's annotation properties. */
|
|
93
|
+
const OBO_IN_OWL = "http://www.geneontology.org/formats/oboInOwl#";
|
|
94
|
+
/**
|
|
95
|
+
* An IRI as the identifier the `.obo` file writes (the OBO 1.4 mapping, section 5.9, read
|
|
96
|
+
* backwards): `http://purl.obolibrary.org/obo/GO_0008150` is `GO:0008150` (the prefix is the text
|
|
97
|
+
* before the first underscore), and `http://purl.obolibrary.org/obo/go#regulates` (how the OWL
|
|
98
|
+
* translation writes an unprefixed OBO id: subsets, relations, synonym types) is `regulates`.
|
|
99
|
+
* Every other IRI, and an OBO PURL that fits neither form (`.../obo/T/Female`), is kept.
|
|
100
|
+
* @param iri - the IRI
|
|
101
|
+
* @returns the CURIE or local id, or the IRI unchanged
|
|
102
|
+
*/
|
|
103
|
+
export function compactOboIri(iri) {
|
|
104
|
+
if (!iri.startsWith(OBO_PURL)) {
|
|
105
|
+
return iri;
|
|
106
|
+
}
|
|
107
|
+
const rest = iri.slice(OBO_PURL.length);
|
|
108
|
+
const hash = rest.indexOf("#");
|
|
109
|
+
if (hash > 0) {
|
|
110
|
+
const local = rest.slice(hash + 1);
|
|
111
|
+
return local.length > 0 && !rest.slice(0, hash).includes("/") ? local : iri;
|
|
112
|
+
}
|
|
113
|
+
const underscore = rest.indexOf("_");
|
|
114
|
+
if (underscore <= 0 || rest.includes("/") || underscore === rest.length - 1) {
|
|
115
|
+
return iri;
|
|
116
|
+
}
|
|
117
|
+
return `${rest.slice(0, underscore)}:${rest.slice(underscore + 1)}`;
|
|
118
|
+
}
|
|
119
|
+
/** The OBO synonym scopes. */
|
|
120
|
+
export const SYNONYM_SCOPES = new Set(["EXACT", "BROAD", "NARROW", "RELATED"]);
|
|
121
|
+
/**
|
|
122
|
+
* The OBO synonym scope of an OBO Graphs synonym predicate (`hasExactSynonym`, with or without the
|
|
123
|
+
* oboInOwl namespace).
|
|
124
|
+
* @param pred - the predicate
|
|
125
|
+
* @returns the scope, or null for a predicate that is not one of the four
|
|
126
|
+
*/
|
|
127
|
+
export function synonymScopeOf(pred) {
|
|
128
|
+
const local = pred.startsWith(OBO_IN_OWL) ? pred.slice(OBO_IN_OWL.length) : pred;
|
|
129
|
+
const match = /^has(Exact|Broad|Narrow|Related)Synonym$/.exec(local);
|
|
130
|
+
return match === null ? null : match[1].toUpperCase();
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The OBO tag a `basicPropertyValues` predicate of OBO Graphs came from (the OBO-to-OWL mapping of
|
|
134
|
+
* the tags that are annotations), so the `.json` of an ontology fills the same columns as its
|
|
135
|
+
* `.obo`. `shorthand` is the relation's short name; every predicate not listed is a
|
|
136
|
+
* `property_value`.
|
|
137
|
+
*/
|
|
138
|
+
export const OBOGRAPHS_PREDICATE_TAGS = new Map([
|
|
139
|
+
[`${OBO_IN_OWL}hasOBONamespace`, "namespace"],
|
|
140
|
+
[`${OBO_IN_OWL}hasAlternativeId`, "alt_id"],
|
|
141
|
+
[`${OBO_IN_OWL}created_by`, "created_by"],
|
|
142
|
+
[`${OBO_IN_OWL}creation_date`, "creation_date"],
|
|
143
|
+
[`${OBO_PURL}IAO_0100001`, "replaced_by"],
|
|
144
|
+
[`${OBO_IN_OWL}consider`, "consider"],
|
|
145
|
+
[`${OBO_IN_OWL}shorthand`, "shorthand"],
|
|
146
|
+
]);
|
|
147
|
+
//# sourceMappingURL=ontology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/common/ontology.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CX version 1 importer (design/graph-io/cytoscape-and-obo/design.md section 1.2; the feature
|
|
3
|
+
* and error inventory is research-cx.md): the JSON exchange format of NDEx and Cytoscape's CX
|
|
4
|
+
* support. A CX document is an array of aspect fragments (`nodes`, `edges`, `nodeAttributes`,
|
|
5
|
+
* `cartesianLayout`, `cySubNetworks`, `cyGroups`, `cyVisualProperties`, ...) that refer to each
|
|
6
|
+
* other by integer ids, in any order.
|
|
7
|
+
*
|
|
8
|
+
* The document is read through the streaming scanner of common/json-elements.ts, so its text is
|
|
9
|
+
* never held as one string; the parsed aspect elements are collected and each graph is built at the
|
|
10
|
+
* end, because a reference may precede what it names.
|
|
11
|
+
*
|
|
12
|
+
* Mapping: every edge is directed; ids follow the CX id rule (design section 1.0.2); `n` is the
|
|
13
|
+
* `name` column (the label), `r` is `represents`, `i` is `interaction`; attributes become columns
|
|
14
|
+
* typed by their `d` (Cytoscape's value rule: "" and "null" are unset, "NaN" is NaN in a double); a
|
|
15
|
+
* subnetwork's values are the unscoped ones and its own (`s`), its own winning. A collection (several
|
|
16
|
+
* `cySubNetworks`) holds one graph per subnetwork: `importAll()` returns them, `import()` reads the
|
|
17
|
+
* one `graphIndex` / `graphName` picks, `listGraphs()` lists them. Positions come from the
|
|
18
|
+
* subnetwork's view, y flipped to y-up, `z` into the `z` column; `cyGroups` give `parent` (or
|
|
19
|
+
* `parents`); per-element visual properties are one column per property (origin namespace
|
|
20
|
+
* "cx.bypass") and style rules are kept verbatim in `meta.extra.cx` and not applied
|
|
21
|
+
* (W_STYLES_NOT_IMPORTED, issue #706); provenance aspects become extension tables and list columns.
|
|
22
|
+
*/
|
|
23
|
+
import { type GraphChoiceOptions, type GraphImporter } from "../../types.js";
|
|
24
|
+
/** The format-specific options of the CX importer. */
|
|
25
|
+
export interface CxImportOptions extends GraphChoiceOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Where a node's `z` goes: "column" (default) keeps it in the f64 node column `z` (Cytoscape
|
|
28
|
+
* writes a stacking order there); "position" makes it the third component of the position.
|
|
29
|
+
*/
|
|
30
|
+
zAs?: "column" | "position" | undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The issue codes the CX importer records (design section 1.2), by name: the codes shared with
|
|
34
|
+
* the other importers (src/common/codes.ts) and the CX-specific ones. A key is the code without
|
|
35
|
+
* its severity and format prefixes.
|
|
36
|
+
*/
|
|
37
|
+
export declare const CX_ISSUE: Readonly<{
|
|
38
|
+
/** The input is empty (fatal). */
|
|
39
|
+
EMPTY_INPUT: "E_EMPTY_INPUT";
|
|
40
|
+
/** The text is not JSON (fatal). */
|
|
41
|
+
SYNTAX: "E_SYNTAX";
|
|
42
|
+
/** Invalid UTF-8 (fatal). */
|
|
43
|
+
INVALID_UTF8: "E_INVALID_UTF8";
|
|
44
|
+
/** Invalid bytes in the encoding a BOM or the encoding option chose (fatal). */
|
|
45
|
+
INVALID_ENCODING: "E_INVALID_ENCODING";
|
|
46
|
+
/** Bytes that are not UTF-8 were read as windows-1252. */
|
|
47
|
+
ENCODING_FALLBACK: "W_ENCODING_FALLBACK";
|
|
48
|
+
/** An encoding the platform cannot decode was ignored. */
|
|
49
|
+
UNKNOWN_ENCODING: "W_UNKNOWN_ENCODING";
|
|
50
|
+
/** The document is not a CX array, or it is CX2 (fatal; the message names CX2). */
|
|
51
|
+
NOT_CX: "E_CX_NOT_CX";
|
|
52
|
+
/** numberVerification holds another value than 2^48 - 1, or comes twice. */
|
|
53
|
+
NUMBER_VERIFICATION: "W_CX_NUMBER_VERIFICATION";
|
|
54
|
+
/** An old Cytoscape aspect name (visualProperties, subNetworks, ...) read under its cy name. */
|
|
55
|
+
OLD_ASPECT_NAME: "W_CX_OLD_ASPECT_NAME";
|
|
56
|
+
/** A cyGroups group whose id is not a node: the group node is added. */
|
|
57
|
+
GROUP_NODE_ADDED: "W_CX_GROUP_NODE_ADDED";
|
|
58
|
+
/** Nodes or edges of the root network that no subnetwork holds: Cytoscape shows them in no network; not read. */
|
|
59
|
+
ROOT_ONLY: "W_CX_ROOT_ONLY";
|
|
60
|
+
/** The producer marked the document as failed (fatal). */
|
|
61
|
+
STATUS_FAILED: "E_STATUS_FAILED";
|
|
62
|
+
/** The producer marked the document as successful with an error text. */
|
|
63
|
+
STATUS_WARNING: "W_STATUS_WARNING";
|
|
64
|
+
/** A member of the array that is not a one-key aspect block, or an element that is not an object. */
|
|
65
|
+
BAD_ASPECT_BLOCK: "E_BAD_ASPECT_BLOCK";
|
|
66
|
+
/** An aspect after the post-metadata or after the status, a third metaData. */
|
|
67
|
+
ASPECT_ORDER: "W_ASPECT_ORDER";
|
|
68
|
+
/** A metaData element count disagrees with what was read. */
|
|
69
|
+
COUNT_MISMATCH: "W_COUNT_MISMATCH";
|
|
70
|
+
/** A value that does not parse as its data type; the cell is unset. */
|
|
71
|
+
BAD_VALUE: "E_BAD_VALUE";
|
|
72
|
+
/** One attribute name with several data types: the column takes the wider one. */
|
|
73
|
+
WIDENED: "W_WIDENED";
|
|
74
|
+
/** A data type CX does not define; the value is kept as text. */
|
|
75
|
+
UNKNOWN_ATTR_TYPE: "W_UNKNOWN_ATTR_TYPE";
|
|
76
|
+
/** An attribute, layout, bypass, subnetwork member, view or provenance entry naming nothing. */
|
|
77
|
+
DANGLING_REFERENCE: "W_DANGLING_REFERENCE";
|
|
78
|
+
/** The same attribute twice on one element (or n and a different name attribute); the later wins. */
|
|
79
|
+
DUPLICATE_ATTRIBUTE: "W_DUPLICATE_ATTRIBUTE";
|
|
80
|
+
/** A group member naming no node. */
|
|
81
|
+
UNKNOWN_PARENT: "E_UNKNOWN_PARENT";
|
|
82
|
+
/** A group membership that would close a parent cycle; dropped. */
|
|
83
|
+
PARENT_CYCLE: "E_PARENT_CYCLE";
|
|
84
|
+
/** The style rules of cyVisualProperties are not applied (issue #706). */
|
|
85
|
+
STYLES_NOT_IMPORTED: "W_STYLES_NOT_IMPORTED";
|
|
86
|
+
/** A node without an @id. */
|
|
87
|
+
MISSING_ID: "E_MISSING_ID";
|
|
88
|
+
/** An edge without s or t. */
|
|
89
|
+
MISSING_ENDPOINT: "E_MISSING_ENDPOINT";
|
|
90
|
+
/** A node id declared twice; the second merges into the first. */
|
|
91
|
+
DUPLICATE_NODE: "W_DUPLICATE_NODE";
|
|
92
|
+
/** An edge id declared twice; the second edge is skipped. */
|
|
93
|
+
DUPLICATE_EDGE_ID: "E_DUPLICATE_EDGE_ID";
|
|
94
|
+
/** An id that is not an integer. */
|
|
95
|
+
INVALID_ID: "E_INVALID_ID";
|
|
96
|
+
/** An edge endpoint naming no node of the graph (addMissingNodes false, the default). */
|
|
97
|
+
UNKNOWN_NODE: "E_UNKNOWN_NODE";
|
|
98
|
+
/** A weight that is not a number. */
|
|
99
|
+
INVALID_WEIGHT: "E_INVALID_WEIGHT";
|
|
100
|
+
/** An id spelled as a string or a non-integer literal; read as the integer. */
|
|
101
|
+
ID_TEXT_TYPE: "W_ID_TEXT_TYPE";
|
|
102
|
+
/** An integer beyond 2^53: an id kept as its digits, a value stored as the nearest f64. */
|
|
103
|
+
PRECISION: "W_PRECISION";
|
|
104
|
+
/** Two id texts merged under `ids: "number"`. */
|
|
105
|
+
ID_MERGED: "W_ID_MERGED";
|
|
106
|
+
/** A collection read by import(): the other subnetworks are skipped. */
|
|
107
|
+
MULTIPLE_GRAPHS: "W_MULTIPLE_GRAPHS";
|
|
108
|
+
/** graphIndex or graphName names no subnetwork (fatal). */
|
|
109
|
+
GRAPH_NOT_FOUND: "E_GRAPH_NOT_FOUND";
|
|
110
|
+
/** graphName names several subnetworks (fatal). */
|
|
111
|
+
AMBIGUOUS_GRAPH_NAME: "E_AMBIGUOUS_GRAPH_NAME";
|
|
112
|
+
/** The input holds no graph (fatal). */
|
|
113
|
+
NO_GRAPH: "E_NO_GRAPH";
|
|
114
|
+
/** A column renamed because its name was taken. */
|
|
115
|
+
COLUMN_RENAMED: "W_COLUMN_RENAMED";
|
|
116
|
+
/** A column that lost its role because another column holds it. */
|
|
117
|
+
ROLE_TAKEN: "W_ROLE_TAKEN";
|
|
118
|
+
/** The sink refused the direction. */
|
|
119
|
+
DIRECTION_REFUSED: "W_DIRECTION_REFUSED";
|
|
120
|
+
/** Edges forced to the policy's direction. */
|
|
121
|
+
DIRECTION_FORCED: "W_DIRECTION_FORCED";
|
|
122
|
+
/** A common option CX has no use for. */
|
|
123
|
+
OPTION_IGNORED: "W_OPTION_IGNORED";
|
|
124
|
+
/** A builder option the caller's sink does not honour. */
|
|
125
|
+
SINK_OPTION: "W_SINK_OPTION";
|
|
126
|
+
/** The input is beyond a size limit (fatal). */
|
|
127
|
+
TOO_LARGE: "E_TOO_LARGE";
|
|
128
|
+
}>;
|
|
129
|
+
/**
|
|
130
|
+
* The CX version 1 importer plugin (design section 1.2).
|
|
131
|
+
*/
|
|
132
|
+
export declare const cxImporter: GraphImporter<CxImportOptions>;
|
|
133
|
+
//# sourceMappingURL=importer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/cx/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiFH,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAIrB,MAAM,gBAAgB,CAAC;AASxB,sDAAsD;AACtD,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACvD;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;IACjB,kCAAkC;;IAElC,oCAAoC;;IAEpC,6BAA6B;;IAE7B,gFAAgF;;IAEhF,0DAA0D;;IAE1D,0DAA0D;;IAE1D,mFAAmF;;IAEnF,4EAA4E;;IAE5E,gGAAgG;;IAEhG,wEAAwE;;IAExE,iHAAiH;;IAEjH,0DAA0D;;IAE1D,yEAAyE;;IAEzE,qGAAqG;;IAErG,+EAA+E;;IAE/E,6DAA6D;;IAE7D,uEAAuE;;IAEvE,kFAAkF;;IAElF,iEAAiE;;IAEjE,gGAAgG;;IAEhG,qGAAqG;;IAErG,qCAAqC;;IAErC,mEAAmE;;IAEnE,0EAA0E;;IAE1E,6BAA6B;;IAE7B,8BAA8B;;IAE9B,kEAAkE;;IAElE,6DAA6D;;IAE7D,oCAAoC;;IAEpC,yFAAyF;;IAEzF,qCAAqC;;IAErC,+EAA+E;;IAE/E,2FAA2F;;IAE3F,iDAAiD;;IAEjD,wEAAwE;;IAExE,2DAA2D;;IAE3D,mDAAmD;;IAEnD,wCAAwC;;IAExC,mDAAmD;;IAEnD,mEAAmE;;IAEnE,sCAAsC;;IAEtC,8CAA8C;;IAE9C,yCAAyC;;IAEzC,0DAA0D;;IAE1D,gDAAgD;;EAElD,CAAC;AAs2EH;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,eAAe,CAoGpD,CAAC"}
|