From fb0abe1bc0efd9f2360c82ba0253acbd661c3acb Mon Sep 17 00:00:00 2001 From: ialarmedalien Date: Tue, 1 Sep 2020 18:15:38 -0700 Subject: [PATCH 1/2] Add edge type filtering to DJORNL queries --- spec/datasets/djornl/definitions.yaml | 2 +- spec/datasets/djornl/edge_types_filter.yaml | 8 + spec/datasets/djornl/node_type.yaml | 2 +- .../djornl/djornl_fetch_all.yaml | 8 +- .../djornl/djornl_fetch_clusters.yaml | 8 +- .../djornl/djornl_fetch_genes.yaml | 8 +- .../djornl/djornl_fetch_phenotypes.yaml | 8 +- .../djornl/djornl_search_nodes.yaml | 8 +- spec/test/djornl/results.json | 231 ++++++++++++++---- 9 files changed, 225 insertions(+), 58 deletions(-) create mode 100644 spec/datasets/djornl/edge_types_filter.yaml diff --git a/spec/datasets/djornl/definitions.yaml b/spec/datasets/djornl/definitions.yaml index ceaa5546..0c7b4395 100644 --- a/spec/datasets/djornl/definitions.yaml +++ b/spec/datasets/djornl/definitions.yaml @@ -1,4 +1,4 @@ -"$schema": "http://json-schema.org/draft-07/schema#" +$schema: "http://json-schema.org/draft-07/schema#" name: definitions title: DJORNL schema definitions description: Node and edge metadata definitions for the Dan Jacobson Exascale dataset diff --git a/spec/datasets/djornl/edge_types_filter.yaml b/spec/datasets/djornl/edge_types_filter.yaml new file mode 100644 index 00000000..06521ba4 --- /dev/null +++ b/spec/datasets/djornl/edge_types_filter.yaml @@ -0,0 +1,8 @@ +$schema: "http://json-schema.org/draft-07/schema#" +name: edge_types_filter +title: Edge Types +description: Edge types to filter on +items: + $ref: "edge_type.yaml" +default: [] +examples: [['AraNetv2-HT_high-throughput-ppi', 'AraNetv2-LC_lit-curated-ppi'], ['AraGWAS-Phenotype_Associations']] diff --git a/spec/datasets/djornl/node_type.yaml b/spec/datasets/djornl/node_type.yaml index e839c2d0..b322ee81 100644 --- a/spec/datasets/djornl/node_type.yaml +++ b/spec/datasets/djornl/node_type.yaml @@ -1,4 +1,4 @@ -"$schema": "http://json-schema.org/draft-07/schema#" +$schema: "http://json-schema.org/draft-07/schema#" name: node_type title: Node Type description: Node types in Dan Jacobson Exascale dataset diff --git a/spec/stored_queries/djornl/djornl_fetch_all.yaml b/spec/stored_queries/djornl/djornl_fetch_all.yaml index c663efeb..94754976 100644 --- a/spec/stored_queries/djornl/djornl_fetch_all.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_all.yaml @@ -5,13 +5,7 @@ params: additionalProperties: false properties: edge_types: - type: array - title: Edge types - description: Permitted edge types - items: - $ref: "../../datasets/djornl/edge_type.yaml" - default: [] - examples: [['AraNetv2-HT_high-throughput-ppi', 'AraNetv2-LC_lit-curated-ppi'],['AraGWAS-Phenotype_Associations']] + $ref: "../../datasets/djornl/edge_types_filter.yaml" query: | LET nodes = ( FOR v IN djornl_node diff --git a/spec/stored_queries/djornl/djornl_fetch_clusters.yaml b/spec/stored_queries/djornl/djornl_fetch_clusters.yaml index f8b099c6..7169cbbe 100644 --- a/spec/stored_queries/djornl/djornl_fetch_clusters.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_clusters.yaml @@ -15,17 +15,21 @@ params: examples: [['markov_i2:5', 'markov_i6:2'],['markov_i6:1']] distance: $ref: "../../datasets/distance.yaml" + edge_types: + $ref: "../../datasets/djornl/edge_types_filter.yaml" query: | LET node_ids = ( FOR n IN djornl_node FILTER n.clusters ANY IN @cluster_ids - FOR node IN 0..@distance ANY n djornl_edge + FOR v, e, p IN 0..@distance ANY n djornl_edge OPTIONS {bfs: true, uniqueVertices: "global"} - RETURN DISTINCT node._id + FILTER length(@edge_types) == 0 || p.edges[*].edge_type ALL IN @edge_types + RETURN DISTINCT v._id ) LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids + AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) RETURN edge ) LET nodes = ( diff --git a/spec/stored_queries/djornl/djornl_fetch_genes.yaml b/spec/stored_queries/djornl/djornl_fetch_genes.yaml index c0e5867b..3e0de05b 100644 --- a/spec/stored_queries/djornl/djornl_fetch_genes.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_genes.yaml @@ -14,17 +14,21 @@ params: examples: [["AT1G01010"],["AT1G01020","AT1G01070"]] distance: $ref: "../../datasets/distance.yaml" + edge_types: + $ref: "../../datasets/djornl/edge_types_filter.yaml" query: | LET node_ids = ( FOR n IN djornl_node FILTER n._key IN @keys AND n.node_type == 'gene' - FOR node IN 0..@distance ANY n djornl_edge + FOR v, e, p IN 0..@distance ANY n djornl_edge OPTIONS {bfs: true, uniqueVertices: "global"} - RETURN DISTINCT node._id + FILTER length(@edge_types) == 0 || p.edges[*].edge_type ALL IN @edge_types + RETURN DISTINCT v._id ) LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids + AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) RETURN edge ) LET nodes = ( diff --git a/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml b/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml index b76337a2..9190bb32 100644 --- a/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml @@ -14,17 +14,21 @@ params: examples: [["As2"],["As2", "Na23"]] distance: $ref: "../../datasets/distance.yaml" + edge_types: + $ref: "../../datasets/djornl/edge_types_filter.yaml" query: | LET node_ids = ( FOR n IN djornl_node FILTER n._key IN @keys AND n.node_type == 'pheno' - FOR node IN 0..@distance ANY n djornl_edge + FOR v, e, p IN 0..@distance ANY n djornl_edge OPTIONS {bfs: true, uniqueVertices: "global"} - RETURN DISTINCT node._id + FILTER length(@edge_types) == 0 || p.edges[*].edge_type ALL IN @edge_types + RETURN DISTINCT v._id ) LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids + AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) RETURN edge ) LET nodes = ( diff --git a/spec/stored_queries/djornl/djornl_search_nodes.yaml b/spec/stored_queries/djornl/djornl_search_nodes.yaml index db70cf2d..695b6275 100644 --- a/spec/stored_queries/djornl/djornl_search_nodes.yaml +++ b/spec/stored_queries/djornl/djornl_search_nodes.yaml @@ -11,6 +11,8 @@ params: examples: ['GO:0005515', 'organelle machinery'] distance: $ref: "../../datasets/distance.yaml" + edge_types: + $ref: "../../datasets/djornl/edge_types_filter.yaml" query: | LET node_ids = ( FOR g IN djornl_node_view @@ -29,13 +31,15 @@ query: | ) OR PHRASE(g.go_terms, @search_text) OR PHRASE(g.transcript, @search_text) - FOR node IN 0..@distance ANY g djornl_edge + FOR v, e, p IN 0..@distance ANY g djornl_edge OPTIONS {bfs: true, uniqueVertices: "global"} - RETURN DISTINCT node._id + FILTER length(@edge_types) == 0 || p.edges[*].edge_type ALL IN @edge_types + RETURN DISTINCT v._id ) LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids + AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) RETURN edge ) LET nodes = ( diff --git a/spec/test/djornl/results.json b/spec/test/djornl/results.json index 4a3cbed2..12f85bfb 100644 --- a/spec/test/djornl/results.json +++ b/spec/test/djornl/results.json @@ -69,7 +69,7 @@ ], "djornl_fetch_all": [ { - "params": {}, + "params": {"edge_types": []}, "results": { "nodes": [ "As2", @@ -230,26 +230,26 @@ } }, { - "params": { "keys": ["Mary Poppins"], "distance": 0 }, + "params": { "keys": ["Mary Poppins"], "distance": 0, "edge_types": [] }, "results": {"nodes": [], "edges": []} }, { - "params": { "keys": ["Mary Poppins"], "distance": 1 }, + "params": { "keys": ["Mary Poppins"], "distance": 1, "edge_types": [] }, "results": {"nodes": [], "edges": []} }, { - "params": { "keys": ["Mary Poppins"], "distance": 5 }, + "params": { "keys": ["Mary Poppins"], "distance": 5, "edge_types": [] }, "results": {"nodes": [], "edges": []} }, { - "params": { "keys": ["AT1G01010"], "distance": 0 }, + "params": { "keys": ["AT1G01010"], "distance": 0, "edge_types": [] }, "results": { "nodes": ["AT1G01010"], "edges": [] } }, { - "params": { "keys": ["AT1G01010"], "distance": 1 }, + "params": { "keys": ["AT1G01010"], "distance": 1, "edge_types": [] }, "results": { "nodes": [ "AT1G01010", @@ -266,7 +266,7 @@ } }, { - "params": { "keys": ["AT1G01010"], "distance": 5 }, + "params": { "keys": ["AT1G01010"], "distance": 5, "edge_types": [] }, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060"], "edges": [ @@ -283,7 +283,7 @@ } }, { - "params": { "keys": ["AT1G01010"], "distance": 5 }, + "params": { "keys": ["AT1G01010"], "distance": 5, "edge_types": [] }, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060"], "edges": [ @@ -300,14 +300,14 @@ } }, { - "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 0 }, + "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 0, "edge_types": [] }, "results": { "nodes": ["AT1G01020", "AT1G01070"], "edges": [] } }, { - "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 1 }, + "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 1, "edge_types": [] }, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01070"], "edges": [ @@ -318,19 +318,45 @@ } }, { - "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 5 }, + "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 1, "edge_types": ["AraGWAS-Phenotype_Associations"] }, "results": { - "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "AT1G01070"], + "nodes": ["As2", "As75", "AT1G01020", "AT1G01070"], "edges": [ "As2__AT1G01020__AraGWAS-Phenotype_Associations__8.4", - "As2__AT1G01040__AraGWAS-Phenotype_Associations__5.4", - "As75__AT1G01020__AraGWAS-Phenotype_Associations__39.9", + "As75__AT1G01020__AraGWAS-Phenotype_Associations__39.9" + ] + } + }, + { + "params": {"keys": ["AT1G01020", "AT1G01070"], "distance": 5, "edge_types": [] }, + "results": { + "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "AT1G01070"], + "edges": [ + "As2__AT1G01020__AraGWAS-Phenotype_Associations__8.4", + "As2__AT1G01040__AraGWAS-Phenotype_Associations__5.4", + "As75__AT1G01020__AraGWAS-Phenotype_Associations__39.9", + "AT1G01010__AT1G01020__AraNetv2-HT_high-throughput-ppi__2.3", + "AT1G01010__AT1G01030__AraNetv2-HT_high-throughput-ppi__2.4", + "AT1G01010__AT1G01040__AraNetv2-DC_domain-co-occurrence__2.5", + "AT1G01010__AT1G01040__AraNetv2-LC_lit-curated-ppi__170.5", + "AT1G01030__AT1G01050__AraNetv2-CX_pairwise-gene-coexpression__2.6", + "AT1G01050__AT1G01060__AraNetv2-LC_lit-curated-ppi__2.7" + ] + } + }, + { + "params": { + "keys": ["AT1G01020", "AT1G01070"], + "distance": 5, + "edge_types": ["AraNetv2-CX_pairwise-gene-coexpression", "AraNetv2-DC_domain-co-occurrence", "AraNetv2-HT_high-throughput-ppi"] + }, + "results": { + "nodes": ["AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01070"], + "edges": [ "AT1G01010__AT1G01020__AraNetv2-HT_high-throughput-ppi__2.3", "AT1G01010__AT1G01030__AraNetv2-HT_high-throughput-ppi__2.4", "AT1G01010__AT1G01040__AraNetv2-DC_domain-co-occurrence__2.5", - "AT1G01010__AT1G01040__AraNetv2-LC_lit-curated-ppi__170.5", - "AT1G01030__AT1G01050__AraNetv2-CX_pairwise-gene-coexpression__2.6", - "AT1G01050__AT1G01060__AraNetv2-LC_lit-curated-ppi__2.7" + "AT1G01030__AT1G01050__AraNetv2-CX_pairwise-gene-coexpression__2.6" ] } } @@ -346,26 +372,26 @@ } }, { - "params": {"keys": ["Mary Poppins"], "distance": 0}, + "params": {"keys": ["Mary Poppins"], "distance": 0, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"keys": ["Mary Poppins"], "distance": 1}, + "params": {"keys": ["Mary Poppins"], "distance": 1, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"keys": ["Mary Poppins"], "distance": 5}, + "params": {"keys": ["Mary Poppins"], "distance": 5, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"keys": ["As2"], "distance": 0}, + "params": {"keys": ["As2"], "distance": 0, "edge_types": []}, "results": { "nodes": ["As2"], "edges": [] } }, { - "params": {"keys": ["As2"], "distance": 1}, + "params": {"keys": ["As2"], "distance": 1, "edge_types": []}, "results": { "nodes": ["As2", "AT1G01020", "AT1G01040"], "edges": [ @@ -375,7 +401,7 @@ } }, { - "params": {"keys": ["As2"], "distance": 5}, + "params": {"keys": ["As2"], "distance": 5, "edge_types": []}, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060"], "edges": [ @@ -392,14 +418,14 @@ } }, { - "params": {"keys": ["As2", "Na23"], "distance": 0}, + "params": {"keys": ["As2", "Na23"], "distance": 0, "edge_types": []}, "results": { "nodes": ["As2", "Na23"], "edges": [] } }, { - "params": {"keys": ["As2", "Na23"], "distance": 1}, + "params": {"keys": ["As2", "Na23"], "distance": 1, "edge_types": []}, "results": { "nodes": ["As2", "Na23", "AT1G01020", "AT1G01040"], "edges": [ @@ -409,7 +435,7 @@ } }, { - "params": {"keys": ["As2", "Na23"], "distance": 5}, + "params": {"keys": ["As2", "Na23"], "distance": 5, "edge_types": []}, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "Na23"], "edges": [ @@ -424,30 +450,63 @@ "AT1G01050__AT1G01060__AraNetv2-LC_lit-curated-ppi__2.7" ] } + }, + { + "params": {"keys": ["As2", "Na23"], "distance": 0, "edge_types": []}, + "results": { + "nodes": ["As2", "Na23"], + "edges": [] + } + }, + { + "params": { + "keys": ["As2", "Na23"], + "distance": 5, + "edge_types": ["AraNetv2-CX_pairwise-gene-coexpression", "AraNetv2-DC_domain-co-occurrence", "AraNetv2-HT_high-throughput-ppi", "AraNetv2-LC_lit-curated-ppi"] + }, + "results": { + "nodes": ["As2", "Na23"], + "edges": [] + } + }, + { + "params": { + "keys": ["As2", "Na23"], + "distance": 5, + "edge_types": ["AraGWAS-Phenotype_Associations"] + }, + "results": { + "nodes": ["As2", "As75", "AT1G01020", "AT1G01040", "Na23"], + "edges": [ + "As2__AT1G01020__AraGWAS-Phenotype_Associations__8.4", + "As2__AT1G01040__AraGWAS-Phenotype_Associations__5.4", + "As75__AT1G01020__AraGWAS-Phenotype_Associations__39.9" + ] + } } ], "djornl_search_nodes": [ { - "params": {"search_text": "Mary Poppins", "distance": 0}, + "params": {"search_text": "Mary Poppins", "distance": 0, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"search_text": "Mary Poppins", "distance": 1}, + "params": {"search_text": "Mary Poppins", "distance": 1, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"search_text": "Mary Poppins", "distance": 5}, + "params": {"search_text": "Mary Poppins", "distance": 5, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"search_text": "GO:0005515", "distance": 0}, + "params": {"search_text": "GO:0005515", "distance": 0, "edge_types": []}, "results": { "nodes": ["AT1G01040", "AT1G01090"], "edges": [] } }, { - "params": {"search_text": "GO:0005515", "distance": 1}, + "params": {"search_text": "GO:0005515", "distance": 1, "edge_types": []}, "results": { "nodes": ["As2", "AT1G01010", "AT1G01040", "AT1G01080", "AT1G01090"], "edges": [ @@ -459,7 +518,7 @@ } }, { - "params": {"search_text": "GO:0005515", "distance": 5}, + "params": {"search_text": "GO:0005515", "distance": 5, "edge_types": []}, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "AT1G01080", "AT1G01090"], "edges": [ @@ -475,6 +534,33 @@ "AT1G01080__AT1G01090__AraNetv2-LC_lit-curated-ppi__2.8" ] } + }, + { + "params": {"search_text": "GO:0005515", "distance": 0, "edge_types": ["AraGWAS-Phenotype_Associations"]}, + "results": { + "nodes": ["AT1G01040", "AT1G01090"], + "edges": [] + } + }, + { + "params": {"search_text": "GO:0005515", "distance": 1, "edge_types": ["AraGWAS-Phenotype_Associations"]}, + "results": { + "nodes": ["As2", "AT1G01040", "AT1G01090"], + "edges": [ + "As2__AT1G01040__AraGWAS-Phenotype_Associations__5.4" + ] + } + }, + { + "params": {"search_text": "GO:0005515", "distance": 5, "edge_types": ["AraGWAS-Phenotype_Associations"]}, + "results": { + "nodes": ["As2", "As75", "AT1G01020", "AT1G01040", "AT1G01090"], + "edges": [ + "As2__AT1G01020__AraGWAS-Phenotype_Associations__8.4", + "As2__AT1G01040__AraGWAS-Phenotype_Associations__5.4", + "As75__AT1G01020__AraGWAS-Phenotype_Associations__39.9" + ] + } } ], "djornl_fetch_clusters": [ @@ -506,26 +592,26 @@ } }, { - "params": {"cluster_ids": ["MaryPoppins:1"], "distance": 0}, + "params": {"cluster_ids": ["MaryPoppins:1"], "distance": 0, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"cluster_ids": ["MaryPoppins:1"], "distance": 1}, + "params": {"cluster_ids": ["MaryPoppins:1"], "distance": 1, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"cluster_ids": ["MaryPoppins:1"], "distance": 5}, + "params": {"cluster_ids": ["MaryPoppins:1"], "distance": 5, "edge_types": []}, "results": {"nodes": [], "edges": []} }, { - "params": {"cluster_ids": ["markov_i6:1"], "distance": 0}, + "params": {"cluster_ids": ["markov_i6:1"], "distance": 0, "edge_types": []}, "results": { "nodes": ["AT1G01040", "AT1G01090"], "edges": [] } }, { - "params": {"cluster_ids": ["markov_i6:1"], "distance": 1}, + "params": {"cluster_ids": ["markov_i6:1"], "distance": 1, "edge_types": []}, "results": { "nodes": ["As2", "AT1G01010", "AT1G01040", "AT1G01080", "AT1G01090"], "edges": [ @@ -537,7 +623,7 @@ } }, { - "params": {"cluster_ids": ["markov_i6:1"], "distance": 5}, + "params": {"cluster_ids": ["markov_i6:1"], "distance": 5, "edge_types": []}, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "AT1G01080", "AT1G01090"], "edges": [ @@ -555,14 +641,14 @@ } }, { - "params": {"cluster_ids": ["markov_i2:5", "markov_i6:2"], "distance": 0}, + "params": {"cluster_ids": ["markov_i2:5", "markov_i6:2"], "distance": 0, "edge_types": []}, "results": { "nodes": ["AT1G01020", "AT1G01070"], "edges": [] } }, { - "params": {"cluster_ids": ["markov_i2:5", "markov_i6:2"], "distance": 1}, + "params": {"cluster_ids": ["markov_i2:5", "markov_i6:2"], "distance": 1, "edge_types": []}, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01070"], "edges": [ @@ -573,7 +659,7 @@ } }, { - "params": {"cluster_ids": ["markov_i2:5", "markov_i6:2"], "distance": 5}, + "params": {"cluster_ids": ["markov_i2:5", "markov_i6:2"], "distance": 5, "edge_types": []}, "results": { "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "AT1G01070"], "edges": [ @@ -588,6 +674,69 @@ "AT1G01050__AT1G01060__AraNetv2-LC_lit-curated-ppi__2.7" ] } + }, + { + "params": { + "cluster_ids": ["markov_i2:5", "markov_i6:2"], + "distance": 0, + "edge_types": ["AraNetv2-HT_high-throughput-ppi"] + }, + "results": { + "nodes": ["AT1G01020", "AT1G01070"], + "edges": [] + } + }, + { + "params": { + "cluster_ids": ["markov_i2:5", "markov_i6:2"], + "distance": 1, + "edge_types": ["AraNetv2-HT_high-throughput-ppi"] + }, + "results": { + "nodes": ["AT1G01010", "AT1G01020", "AT1G01070"], + "edges": [ + "AT1G01010__AT1G01020__AraNetv2-HT_high-throughput-ppi__2.3" + ] + } + }, + { + "params": { + "cluster_ids": ["markov_i2:5", "markov_i6:2"], + "distance": 5, + "edge_types": ["AraNetv2-HT_high-throughput-ppi"] + }, + "results": { + "nodes": ["AT1G01010", "AT1G01020", "AT1G01030", "AT1G01070"], + "edges": [ + "AT1G01010__AT1G01020__AraNetv2-HT_high-throughput-ppi__2.3", + "AT1G01010__AT1G01030__AraNetv2-HT_high-throughput-ppi__2.4" + ] + } + }, + { + "params": { + "cluster_ids": ["markov_i2:5", "markov_i6:2"], + "distance": 5, + "edge_types": [ + "AraGWAS-Phenotype_Associations", + "AraNetv2-HT_high-throughput-ppi", + "AraNetv2-LC_lit-curated-ppi", + "AraNetv2-CX_pairwise-gene-coexpression" + ] + }, + "results": { + "nodes": ["As2", "As75", "AT1G01010", "AT1G01020", "AT1G01030", "AT1G01040", "AT1G01050", "AT1G01060", "AT1G01070"], + "edges": [ + "As2__AT1G01020__AraGWAS-Phenotype_Associations__8.4", + "As2__AT1G01040__AraGWAS-Phenotype_Associations__5.4", + "As75__AT1G01020__AraGWAS-Phenotype_Associations__39.9", + "AT1G01010__AT1G01020__AraNetv2-HT_high-throughput-ppi__2.3", + "AT1G01010__AT1G01030__AraNetv2-HT_high-throughput-ppi__2.4", + "AT1G01010__AT1G01040__AraNetv2-LC_lit-curated-ppi__170.5", + "AT1G01030__AT1G01050__AraNetv2-CX_pairwise-gene-coexpression__2.6", + "AT1G01050__AT1G01060__AraNetv2-LC_lit-curated-ppi__2.7" + ] + } } ] } From 718eecc0f93014f16733f2405057a1820d2b8667 Mon Sep 17 00:00:00 2001 From: ialarmedalien Date: Wed, 2 Sep 2020 10:53:41 -0700 Subject: [PATCH 2/2] reorder filtering in spec queries. Add type to edge_types_filter --- spec/datasets/djornl/edge_types_filter.yaml | 1 + spec/stored_queries/djornl/djornl_fetch_all.yaml | 2 +- spec/stored_queries/djornl/djornl_fetch_clusters.yaml | 2 +- spec/stored_queries/djornl/djornl_fetch_genes.yaml | 2 +- spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml | 2 +- spec/stored_queries/djornl/djornl_search_nodes.yaml | 2 +- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/spec/datasets/djornl/edge_types_filter.yaml b/spec/datasets/djornl/edge_types_filter.yaml index 06521ba4..3bce0661 100644 --- a/spec/datasets/djornl/edge_types_filter.yaml +++ b/spec/datasets/djornl/edge_types_filter.yaml @@ -2,6 +2,7 @@ $schema: "http://json-schema.org/draft-07/schema#" name: edge_types_filter title: Edge Types description: Edge types to filter on +type: array items: $ref: "edge_type.yaml" default: [] diff --git a/spec/stored_queries/djornl/djornl_fetch_all.yaml b/spec/stored_queries/djornl/djornl_fetch_all.yaml index 94754976..90757835 100644 --- a/spec/stored_queries/djornl/djornl_fetch_all.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_all.yaml @@ -13,7 +13,7 @@ query: | ) LET edges = ( FOR e IN djornl_edge - FILTER length(@edge_types) > 0 && e.edge_type IN @edge_types || length(@edge_types) == 0 + FILTER length(@edge_types) == 0 || e.edge_type IN @edge_types RETURN e ) RETURN {nodes, edges} diff --git a/spec/stored_queries/djornl/djornl_fetch_clusters.yaml b/spec/stored_queries/djornl/djornl_fetch_clusters.yaml index 7169cbbe..9b18c6bf 100644 --- a/spec/stored_queries/djornl/djornl_fetch_clusters.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_clusters.yaml @@ -29,7 +29,7 @@ query: | LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids - AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) + AND (length(@edge_types) == 0 || edge.edge_type IN @edge_types) RETURN edge ) LET nodes = ( diff --git a/spec/stored_queries/djornl/djornl_fetch_genes.yaml b/spec/stored_queries/djornl/djornl_fetch_genes.yaml index 3e0de05b..d8b1e008 100644 --- a/spec/stored_queries/djornl/djornl_fetch_genes.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_genes.yaml @@ -28,7 +28,7 @@ query: | LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids - AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) + AND (length(@edge_types) == 0 || edge.edge_type IN @edge_types) RETURN edge ) LET nodes = ( diff --git a/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml b/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml index 9190bb32..e1d2a426 100644 --- a/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml +++ b/spec/stored_queries/djornl/djornl_fetch_phenotypes.yaml @@ -28,7 +28,7 @@ query: | LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids - AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) + AND (length(@edge_types) == 0 || edge.edge_type IN @edge_types) RETURN edge ) LET nodes = ( diff --git a/spec/stored_queries/djornl/djornl_search_nodes.yaml b/spec/stored_queries/djornl/djornl_search_nodes.yaml index 695b6275..1279a4bb 100644 --- a/spec/stored_queries/djornl/djornl_search_nodes.yaml +++ b/spec/stored_queries/djornl/djornl_search_nodes.yaml @@ -39,7 +39,7 @@ query: | LET edges = ( FOR edge IN djornl_edge FILTER edge._from IN node_ids AND edge._to IN node_ids - AND (edge.edge_type IN @edge_types || length(@edge_types) == 0) + AND (length(@edge_types) == 0 || edge.edge_type IN @edge_types) RETURN edge ) LET nodes = (