Don't include het just because corresponding hom passed.
authorTom Clegg <tom@curii.com>
Fri, 4 Feb 2022 21:17:23 +0000 (16:17 -0500)
committerTom Clegg <tom@curii.com>
Fri, 4 Feb 2022 21:17:23 +0000 (16:17 -0500)
refs #18581

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

slicenumpy.go

index 601cb40eacc768df1eb6c27009096f725fb601ed..77877b3fcaaca0cf7b0b18c207c4675307ac2ffa 100644 (file)
@@ -1217,20 +1217,17 @@ func (cmd *sliceNumpy) tv2homhet(cgs map[string]CompactGenome, maxv tileVariantI
        var onehot [][]int8
        var xref []onehotXref
        for homcol := 4; homcol < len(obs); homcol += 2 {
-               p := [2]float64{
-                       pvalue(obs[homcol], cmd.chi2Cases),
-                       pvalue(obs[homcol+1], cmd.chi2Cases),
-               }
-               if cmd.chi2PValue < 1 && !(p[0] < cmd.chi2PValue || p[1] < cmd.chi2PValue) {
-                       continue
-               }
                for het := 0; het < 2; het++ {
+                       p := pvalue(obs[homcol+het], cmd.chi2Cases)
+                       if cmd.chi2PValue < 1 && !(p < cmd.chi2PValue) {
+                               continue
+                       }
                        onehot = append(onehot, bool2int8(obs[homcol+het]))
                        xref = append(xref, onehotXref{
                                tag:     tag,
                                variant: tileVariantID(homcol / 2),
                                het:     het == 1,
-                               pvalue:  p[het],
+                               pvalue:  p,
                        })
                }
        }