return 0
} else if err != nil {
return 2
+ } else if flags.NArg() > 0 {
+ err = fmt.Errorf("errant command line arguments after parsed flags: %v", flags.Args())
+ return 2
}
if *pprof != "" {
seqnames = append(seqnames, seqname)
}
sort.Strings(seqnames)
+ // Mark duplicate tags (tags that place more than once
+ // on the reference)
+ duptag := map[tagID]bool{}
+ for _, seqname := range seqnames {
+ for _, libref := range cseq.TileSequences[seqname] {
+ if _, seen := duptag[libref.Tag]; seen {
+ duptag[libref.Tag] = true
+ } else {
+ duptag[libref.Tag] = false
+ }
+ }
+ }
for _, seqname := range seqnames {
pos := 0
for _, libref := range cseq.TileSequences[seqname] {
+ if duptag[libref.Tag] {
+ continue
+ }
tiledata := reftiledata[libref]
if len(tiledata) <= taglen {
err = fmt.Errorf("bogus input data: ref tile libref %v has len %d < taglen %d", libref, len(tiledata), taglen)