From: Tom Clegg Date: Tue, 10 Jan 2023 15:00:16 +0000 (-0500) Subject: Fix -min-coverage calculation broken when -case-control-only=true. X-Git-Url: https://git.arvados.org/lightning.git/commitdiff_plain/d9ece5bc1d94a9b0536516d67249beb9ac927d2a Fix -min-coverage calculation broken when -case-control-only=true. refs #19868 Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/slicenumpy.go b/slicenumpy.go index 0e956a43d5..a22d662b74 100644 --- a/slicenumpy.go +++ b/slicenumpy.go @@ -316,6 +316,13 @@ func (cmd *sliceNumpy) run(prog string, args []string, stdin io.Reader, stdout, cmd.minCoverage = int(math.Ceil(cmd.filter.MinCoverage * float64(len(cmd.cgnames)))) } + // cgnamemap[name]==true for samples that we are including in + // output + cgnamemap := map[string]bool{} + for _, name := range cmd.cgnames { + cgnamemap[name] = true + } + { samplesOutFilename := *outputDir + "/samples.csv" log.Infof("writing sample metadata to %s", samplesOutFilename) @@ -532,7 +539,7 @@ func (cmd *sliceNumpy) run(prog string, args []string, stdin io.Reader, stdout, if cmd.filter.MaxTag >= 0 && cg.StartTag > tagID(cmd.filter.MaxTag) { return errSkip } - if !matchGenome.MatchString(cg.Name) { + if !cgnamemap[cg.Name] { continue } // pad to full slice size