-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstructs.wdl
132 lines (113 loc) · 2.79 KB
/
structs.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
version 1.0
# * struct Pop
#
# Identifier for one population.
struct Pop {
Int pop_id
}
#
# ** struct PopsInfo
#
# Information about population ids and names.
#
# Each pop has: a pop id (a small integer); a pop name (a string); a pop index
# (0-based index of the pop in the list of pop ids).
#
struct PopsInfo {
Array[Int] pop_ids # population IDs, used throughout to identify populations
Array[String] pop_names
Array[Pop] pops
Map[Int,Int] pop_id_to_idx # map from pop id to its index in pop_ids
Map[Int,Array[Int]] pop_alts # map from pop id to list of all other pop ids
Array[Pair[Int,Int]] pop_pairs # all two-pop sets, for cross-pop comparisons
Array[Int] sel_pop_ids # for each sweep definition in paramFiles_selection input to
# workflow run_sims_and_compute_cms2_components, the pop id of the pop in which selection is defined.
}
struct SweepInfo {
Int selPop
Float selGen
Int selBegPop
Float selBegGen
Float selCoeff
Float selFreq
}
struct ModelInfo {
String modelId
Array[String] modelIdParts
Array[Int] popIds
Array[String] popNames
SweepInfo sweepInfo
}
struct ReplicaId {
Int replicaNumGlobal
Int replicaNumGlobalOutOf
Int blockNum
Int replicaNumInBlock
Int randomSeed
}
struct ReplicaInfo {
ReplicaId replicaId
ModelInfo modelInfo
File region_haps_tar_gz
Boolean succeeded
Float durationSeconds
}
struct NormalizeAndCollateInput {
#ReplicaInfo replica_info
File replica_info_file
Array[Int] pop_ids
Array[Pair[Int,Int]] pop_pairs
#String replica_id_str
Pop sel_pop
File ihs_out
File nsl_out
File ihh12_out
File delihh_out
File derFreq_out
Array[File] xpehh_out
Array[File] fst_and_delDAF_out
File norm_bins_ihs
File norm_bins_nsl
File norm_bins_ihh12
File norm_bins_delihh
Array[File] norm_bins_xpehh
Int n_bins_ihs
Int n_bins_nsl
Int n_bins_ihh12
Int n_bins_delihh
Int n_bins_xpehh
}
struct NormalizeAndCollateBlockInput {
#ReplicaInfo replica_info
Array[File] replica_info
#Array[Int] pop_ids
#Array[Pair[Int,Int]] pop_pairs
#String replica_id_str
Pop sel_pop
Array[File] ihs_out
Array[File] nsl_out
Array[File] ihh12_out
Array[File] delihh_out
Array[File] derFreq_out
Array[Array[File]] xpehh_out
Array[Array[File]] fst_and_delDAF_out
File norm_bins_ihs
File norm_bins_nsl
File norm_bins_ihh12
File norm_bins_delihh
Array[File] norm_bins_xpehh
Int n_bins_ihs
Int n_bins_nsl
Int n_bins_ihh12
Int n_bins_delihh
Int n_bins_xpehh
}
struct ComputeResources {
Int? mem_gb
Int? cpus
Int? local_storage_gb
}
# struct AllComputeResources {
# ComputeResources compute_one_pop_cms2_components
# ComputeResources compute_two_pop_cms2_components
# }