@@ -57,7 +57,8 @@ function build_work_list(prefix, grm_ids; pval=0.05)
57
57
end
58
58
end
59
59
end
60
- return reduce (vcat, transpose (influence_curves)), n_obs, file_tmlereport_pairs
60
+ influence_curves = length (influence_curves) > 0 ? reduce (vcat, transpose (influence_curves)) : influence_curves
61
+ return influence_curves, n_obs, file_tmlereport_pairs
61
62
end
62
63
63
64
@@ -152,6 +153,15 @@ function save_results(outfilename, τs, variances, std_errors, file_queryreport_
152
153
end
153
154
end
154
155
156
+ function save_empty_results (outfilename, τs, file_queryreport_pairs)
157
+ jldopen (outfilename, " w" ) do io
158
+ io[" TAUS" ] = τs
159
+ io[" VARIANCES" ] = []
160
+ io[" SOURCEFILE_REPORTID_PAIRS" ] = file_queryreport_pairs
161
+ io[" STDERRORS" ] = []
162
+ end
163
+ end
164
+
155
165
156
166
corrected_stderrors (variances, n_obs) =
157
167
sqrt .(view (maximum (variances, dims= 1 ), 1 , :) ./ n_obs)
@@ -166,10 +176,13 @@ function sieve_variance_plateau(parsed_args)
166
176
grm, grm_ids = readGRM (parsed_args[" grm-prefix" ])
167
177
168
178
influence_curves, n_obs, file_queryreport_pairs = build_work_list (prefix, grm_ids; pval= pval)
169
- variances = compute_variances (influence_curves, grm, τs, n_obs)
170
- std_errors = corrected_stderrors (variances, n_obs)
171
-
172
- save_results (outfilename, τs, variances, std_errors, file_queryreport_pairs)
179
+ # If the work list is not empty
180
+ if length (influence_curves) > 0
181
+ variances = compute_variances (influence_curves, grm, τs, n_obs)
182
+ std_errors = corrected_stderrors (variances, n_obs)
183
+ save_results (outfilename, τs, variances, std_errors, file_queryreport_pairs)
184
+ # Otherwise save empty structure
185
+ else
186
+ save_empty_results (outfilename, τs, file_queryreport_pairs)
187
+ end
173
188
end
174
-
175
-
0 commit comments