-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprep.wdl
69 lines (67 loc) · 1.44 KB
/
prep.wdl
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
version 1.0
workflow steamerprep {
input {
File? in_TEs
File? in_Frags
File? in_QCbar
Int in_mem
}
parameter_meta {
in_TEs: "Path to .gz or .csv file containing TEs"
in_Frags: "Path to .gz or .csv file containing Fragments"
in_QCbar: "Path to .gz or .csv file containing QC'd barcodes"
in_mem: "Memory in GB"
}
call make_bedfiles {
input:
TEs = in_TEs,
Frags = in_Frags,
QCbar = in_QCbar,
mem = in_mem
}
call intersect_bedfiles {
input:
Frags = make_bedfiles.outFrags,
TEs = make_bedfiles.outTEs,
mem = in_mem
}
output {
File prepped = intersect_bedfiles.intersected
}
}
task make_bedfiles {
input {
File? TEs
File? Frags
File? QCbar
Int mem
}
command <<<
run_steamer create-bed-for-fragments ~{Frags} ~{QCbar} && run_steamer create-bed-for-tes ~{TEs}
>>>
output {
File outFrags = "Frag.bed"
File outTEs = "TEs.bed"
}
runtime {
docker: "quay.io/welch-lab/steamer:latest"
memory: mem + "GB"
}
}
task intersect_bedfiles {
input {
File? Frags
File? TEs
Int mem
}
command <<<
bedtools intersect -a ~{TEs} -b ~{Frags} -wb -sorted > bed_intersect.bed
>>>
output {
File intersected = "bed_intersect.bed"
}
runtime {
docker: "quay.io/welch-lab/steamer:latest"
memory: mem + "GB"
}
}