forked from broadinstitute/dockstore-tool-cms2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
structs.wdl
183 lines (153 loc) · 4.32 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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
version 1.0
# * struct Pop
#
# Identifier for one population.
struct Pop {
String pop_id
}
struct PopPair {
Pop sel_pop
Pop alt_pop
}
#
# ** 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[String]+ pop_ids # population IDs, used throughout to identify populations
Array[String]+ pop_names
Array[Pop]+ pops
Map[String,String] pop_id_to_idx # map from pop id to its index in pop_ids
Map[String,Array[String]+] pop_alts # map from pop id to list of all other pop ids
Array[Array[Boolean]+]+ pop_alts_used # pop_alts_used[pop1][pop2] is true iff pop2 in pop_alts[pop1]
# pop_alts_used indicates which pop pair comparisons we need to do
#Array[Pair[String,String]] pop_pairs # all two-pop sets, for cross-pop comparisons
Array[Pop] sel_pops # 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 ComponentComputationParams {
Int n_bins_ihs
Int n_bins_nsl
Int n_bins_delihh
String? isafe_extra_flags
}
struct SimulatedHapsetsDef {
File paramFile_demographic_model
File paramFile_neutral
Array[File] paramFiles_selection
File recombFile
String experimentId #= "default"
String experiment_description #= "an experiment"
String modelId # = "model_"+basename(paramFile_demographic_model, ".par")
Int nreps_neutral
Int nreps
Int maxAttempts #= 10000000
Int numRepsPerBlock #= 1
Int numCpusPerBlock #= numRepsPerBlock
String memoryPerBlock #= "3 GB"
}
#
# struct NeutralRegionExplorerParams
#
# Parameters passed to Neutral Region Explorer
# ( http://nre.cb.bscb.cornell.edu/nre/run.html )
#
struct NeutralRegionExplorerParams {
Boolean known_genes
Boolean gene_bounds
Boolean spliced_ESTs
Boolean segmental_duplications
Boolean CNVs
Boolean self_chain
Boolean reduced_repeat_masker
Boolean simple_repeats
Boolean repeat_masker
Boolean phast_conserved_plac_mammal
String chromosomes
String human_diversity
Int minimum_region_size
Int minimum_distance_to_nearest_gene
Int maximum_distance_to_nearest_gene
String distance_unit
Array[File] regions_to_exclude_bed
Array[File] gene_regions_bed
}
struct EmpiricalHapsetsDef {
String empirical_hapsets_bundle_id
NeutralRegionExplorerParams? nre_params
File? empirical_neutral_regions_bed
File empirical_selection_regions_bed
}
struct HapsetsBundle {
String hapsets_bundle_id
PopsInfo pops_info
Array[File]+ neutral_hapsets
Array[Array[Array[File]+]+] selection_hapsets
}
struct SweepInfo {
String selPop
Float selGen
String selBegPop
Float selBegGen
Float selCoeff
Float selFreq
}
struct ModelInfo {
String modelId
Array[String] modelIdParts
Array[String] 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
Int n_attempts
}
struct NormalizeAndCollateBlockInput {
Array[File]+ replica_info
Pop sel_pop
Array[File]+ ihs_out
Array[File]+ nsl_out
Array[File]+ ihh12_out
Array[File]+ delihh_out
Array[File]+ derFreq_out
Array[File]+ iSAFE_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
ComponentComputationParams component_computation_params
Pop one_pop_components_sel_pop_used
Array[Pop]+ two_pop_components_sel_pop_used
Array[Pop]+ two_pop_components_alt_pop_used
Pop norm_one_pop_components_sel_pop_used
Array[Pop]+ norm_two_pop_components_sel_pop_used
Array[Pop]+ norm_two_pop_components_alt_pop_used
}
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
# }