-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery
74 lines (53 loc) · 4.57 KB
/
query
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
/****** Queries ***********/
Workflow connections:
SELECT
workflow.id as wf_id,
workflow.update_time as wf_updated,
ws_in.id as in_id,
ws_in.tool_id as in_tool,
ws_in.tool_version as in_tool_v,
ws_out.id as out_id,
ws_out.tool_id as out_tool,
ws_out.tool_version as out_tool_v,
wsi.name as tool_inputs,
wfc.output_name as tool_outputs,
sw.published as published
FROM workflow_step_connection wfc
LEFT JOIN workflow_step ws_in ON ws_in.id = wfc.output_step_id
LEFT JOIN workflow_step_input wsi ON wfc.input_step_input_id = wsi.id
LEFT JOIN workflow_step ws_out ON ws_out.id = wsi.workflow_step_id
LEFT JOIN workflow_output as wo ON wsi.workflow_step_id = wfc.output_step_id
LEFT JOIN workflow on ws_in.workflow_id = workflow.id
LEFT JOIN stored_workflow as sw on sw.latest_workflow_id = workflow.id
WHERE workflow.id in (
SELECT workflow.id
FROM stored_workflow
LEFT JOIN workflow on stored_workflow.latest_workflow_id = workflow.id
)
MATCH (a:Tool { name: "trimmomatic"}), (b:Tool { name: "bowtie2"}), p = shortestPath((a)-[*]-(b)) WHERE length(p) > 1 RETURN p
MATCH p = (a:Tool {name: "trimmomatic"}) - [r*..10] - (b:Tool {name: "bowtie2"}) RETURN p LIMIT 10
MATCH p = (a:Tool {name: "bowtie2"}) - [r*..10] - (b:Datatype {name: "bam"}) RETURN DISTINCT p LIMIT 10
MATCH p = (a:Tool {name: "trimmomatic"}) - [r*..6] - (b:Tool {name: "bowtie2"}) RETURN DISTINCT p LIMIT 10
MATCH p=()-[r:IS_CONNECTED_BY]->() RETURN p LIMIT 25
MATCH p = (a:Tool {name: "bowtie2"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) RETURN a,v,o LIMIT 10
MATCH p = (a:Tool {name: "trimmomatic"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool{name: "bowtie2"}) RETURN a,v,o,wc,i,iv,ot
MATCH p = (a:Tool {name: "bowtie2"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool{name: "featurecounts"}) RETURN a,v,o,wc,i,iv,ot
MATCH p = (a:Tool {name: "bowtie2"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(dt:Datatype)
WHERE v.name IN ["2.3.2.2","0.4"]
RETURN a,v,o,dt
LIMIT 10
MATCH p = (a:Tool {name: "bowtie2"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(od:Datatype) WITH a,v,o,od MATCH (o) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool{name: "featurecounts"}) RETURN a,v,o,od,wc,i,iv,ot
MATCH p = (a:Tool {name: "trimmomatic"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(od:Datatype) WITH a,v,o,od MATCH (o) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool{name: "bowtie2"}) RETURN a,v,o,od,wc,i,iv,ot LIMIT 10
MATCH p = (a:Tool {name: "trimmomatic"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(od:Datatype) WITH a,v,o,od MATCH (o) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool) RETURN a,v,o,od,wc,i,iv,ot LIMIT 20
MATCH p = (a:Tool {name: "trimmomatic"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(od:Datatype) WITH a,v,o,od MATCH (o) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool{name: "featurecounts"}) RETURN a,v,o,od,wc,i,iv,ot
MATCH p = (a:Tool {name: "freebayes"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] -(od:Datatype) RETURN a,v,o,od LIMIT 100
MATCH p = (a:Tool {name: "bowtie2"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(od:Datatype) WITH a,v,o,od MATCH (o) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version) <-[:HAS_VERSION] -(ot:Tool) RETURN a,v,o,od,wc,i,iv,ot LIMIT 20
MATCH (a:Tool {name: "trimmomatic"}) -[:HAS_VERSION] ->(v:Version) -[:GENERATES_OUTPUT] ->(o:ToolOutput) -[:HAS_DATATYPE] ->(od:Datatype)
WITH a,v,o,od
MATCH (o) -[:IS_CONNECTED_BY] ->(wc:WorkflowConnection) -[:TO_INPUT] ->(i:ToolInput) -[:FEEDS_INTO] ->(iv:Version)
WITH a,v,o,od,wc,i,iv
MATCH (iv) -[:USAGE] ->(tu:ToolUsage)
MATCH (tu)
WHERE toFloat(tu.usage) > 1000
RETURN a,v,o,od,wc,i,iv,tu
LIMIT 10