From 4135f2dc2fa062386e0bb3b876dc175a382fb2d1 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Sat, 19 Feb 2022 22:07:14 -0500 Subject: [PATCH] Skip input files that aren't needed because -max-tag. refs #18581 Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- slicenumpy.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/slicenumpy.go b/slicenumpy.go index 0cc9896b59..cb218041ef 100644 --- a/slicenumpy.go +++ b/slicenumpy.go @@ -8,6 +8,7 @@ import ( "bufio" "bytes" "encoding/gob" + "errors" "flag" "fmt" "io" @@ -363,6 +364,7 @@ func (cmd *sliceNumpy) RunCommand(prog string, args []string, stdin io.Reader, s throttleMem := throttle{Max: cmd.threads} // TODO: estimate using mem and data size throttleNumpyMem := throttle{Max: cmd.threads/2 + 1} log.Info("generating annotations and numpy matrix for each slice") + var errSkip = errors.New("skip infile") var done int64 for infileIdx, infile := range infiles { infileIdx, infile := infileIdx, infile @@ -400,6 +402,9 @@ func (cmd *sliceNumpy) RunCommand(prog string, args []string, stdin io.Reader, s seq[tv.Tag] = variants } for _, cg := range ent.CompactGenomes { + if cmd.filter.MaxTag >= 0 && cg.StartTag > tagID(cmd.filter.MaxTag) { + return errSkip + } if !matchGenome.MatchString(cg.Name) { continue } @@ -413,7 +418,9 @@ func (cmd *sliceNumpy) RunCommand(prog string, args []string, stdin io.Reader, s } return nil }) - if err != nil { + if err == errSkip { + return nil + } else if err != nil { return err } tagstart := cgs[cmd.cgnames[0]].StartTag -- 2.30.2