-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbcftoolsFilter.wdl
57 lines (47 loc) · 1.06 KB
/
bcftoolsFilter.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
version 1.0
workflow filterPASS {
input {
File vcfgz
File vcftbi
Boolean findPass
String? SearchTerm
}
call runbcftools {
input:
vcfgz=vcfgz,
vcftbi=vcftbi,
findPass=findPass,
SearchTerm=SearchTerm
}
output {
File Outvcfgz = runbcftools.Outvcfgz
File Outvcfgztbi = runbcftools.Outvcfgztbi
}
}
task runbcftools{
input {
File vcfgz
File vcftbi
Boolean findPass
String? SearchTerm
}
Boolean FiltTerm = if defined(SearchTerm) then true else false
Int disk_space_gb = 2*ceil(size(vcfgz, "GB"))
String vcf_basename = basename(vcfgz, ".vcf.gz")
command {
bcftools view ${true="-f 'PASS,.'" false="" findPass} ~{"-i " + SearchTerm} ~{vcfgz} > ~{vcf_basename}.pass.vcf
bgzip ~{vcf_basename}.pass.vcf
tabix -p vcf ~{vcf_basename}.pass.vcf.gz
}
runtime {
docker: "trinhanne/sambcfhts:v1.13.3"
memory: "5 GB"
cpu: "1"
disks: "local-disk " + disk_space_gb + " HDD"
preemptible: 3
}
output {
File Outvcfgz = "~{vcf_basename}.pass.vcf.gz"
File Outvcfgztbi = "~{vcf_basename}.pass.vcf.gz.tbi"
}
}