-
Notifications
You must be signed in to change notification settings - Fork 0
/
assemblies.wdl
49 lines (38 loc) · 1.45 KB
/
assemblies.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
# This project constitutes a work of the United States Government and is not
# subject to domestic copyright protection under 17 USC § 105. No Rights Are
# Reserved.
# This program is distributed in the hope that it will be useful. Responsibility
# for the use of the system and interpretation of documentation and results lies
# solely with the user. In no event shall FDA be liable for direct, indirect,
# special, incidental, or consequential damages resulting from the use, misuse,
# or inability to use the system and accompanying documentation. Third parties'
# use of or acknowledgment of the system does not in any way represent that
# FDA endorses such third parties or expresses any opinion with respect to their
# statements.
# This program is free software: you can redistribute it and/or modify it.
version 1.0
import "identify.wdl"
struct AssemblyInfo {
Int? n50
Float? coverage
Tool tool
}
task calculateN50 {
input {
File assembly
}
command <<<
seqtk comp ~{assembly} | cut -f 2 | sort -rn | awk '{ sum += $0; print $0, sum }' | tac | awk 'NR==1 { halftot=$2/2 } lastsize>halftot && $2<halftot { print $1 } { lastsize=$2 }'
>>>
output {
Int n50 = read_int(stdout())
}
runtime {
container: "staphb/seqtk:latest"
cpu: 1
memory: "512 MB"
}
parameter_meta {
assembly: "Assembly in FASTA format."
}
}