19527: Fix p-value calculation.
authorTom Clegg <tom@curii.com>
Wed, 9 Nov 2022 20:11:48 +0000 (15:11 -0500)
committerTom Clegg <tom@curii.com>
Wed, 9 Nov 2022 20:11:48 +0000 (15:11 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

slicenumpy.go

index 1824e89d6701a0ce094d3152dcfff006fcd179e5..2e63bc19519c33e96df4b30218968bc19c712f31 100644 (file)
@@ -1485,16 +1485,20 @@ func (cmd *sliceNumpy) tv2homhet(cgs map[string]CompactGenome, maxv tileVariantI
        }
        obs := make([][]bool, (maxv+1)*2) // 2 slices (hom + het) for each variant#
        for i := range obs {
-               obs[i] = make([]bool, len(cmd.cgnames))
+               obs[i] = make([]bool, cmd.trainingSetSize)
        }
        for cgid, name := range cmd.cgnames {
+               tsid := cmd.trainingSet[cgid]
+               if tsid < 0 {
+                       continue
+               }
                cgvars := cgs[name].Variants[tagoffset*2:]
                tv0, tv1 := remap[cgvars[0]], remap[cgvars[1]]
                for v := tileVariantID(1); v <= maxv; v++ {
                        if tv0 == v && tv1 == v {
-                               obs[v*2][cgid] = true
+                               obs[v*2][tsid] = true
                        } else if tv0 == v || tv1 == v {
-                               obs[v*2+1][cgid] = true
+                               obs[v*2+1][tsid] = true
                        }
                }
        }