From db12d9b179dc5fd38a9a1e714f139772100ee867 Mon Sep 17 00:00:00 2001 From: jkgoodrich <33063077+jkgoodrich@users.noreply.github.com> Date: Wed, 9 Aug 2023 10:59:04 -0600 Subject: [PATCH] Fix callstats order in `merge_freq_arrays` --- gnomad/utils/annotations.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnomad/utils/annotations.py b/gnomad/utils/annotations.py index f4e1fbb1e..bdeaa2558 100644 --- a/gnomad/utils/annotations.py +++ b/gnomad/utils/annotations.py @@ -1312,14 +1312,17 @@ def _sum_or_diff_fields( # Iterate through the groups and their freq lists to merge callstats. callstat_ann = ["AC", "AN", "homozygote_count"] + callstat_ann_af = ["AC", "AF", "AN", "homozygote_count"] new_freq = freq_meta_idx.map( lambda x: hl.bind( - lambda y: y.annotate(AF=hl.if_else(y.AN > 0, y.AC / y.AN, 0)), + lambda y: y.annotate(AF=hl.if_else(y.AN > 0, y.AC / y.AN, 0)).select( + *callstat_ann_af + ), hl.fold( lambda i, j: hl.struct( **{ann: _sum_or_diff_fields(i[ann], j[ann]) for ann in callstat_ann} ), - x[0].select("AC", "AN", "homozygote_count"), + x[0].select(*callstat_ann), x[1:], ), )