Patch excessive log in obimultiplex and an error in detecting the tag.

Former-commit-id: e6f427ac743cae373247a15bf49b0a27273b2569
This commit is contained in:
2023-03-23 11:40:24 +07:00
parent 98eac2360c
commit 57474214e7
2 changed files with 8 additions and 3 deletions

View File

@ -375,7 +375,7 @@ func (pattern ApatPattern) BestMatch(sequence ApatSequence, begin, length int) (
nerr = lali - score nerr = lali - score
start = best[0] + int(pattern.pointer.pointer.patlen) - lali start = best[0] + int(pattern.pointer.pointer.patlen) - lali
end = start + lali end = start + lali
log.Println("results", score, lali, start, nerr) log.Debugln("results", score, lali, start, nerr)
return return
} }

View File

@ -7,6 +7,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"git.metabarcoding.org/lecasofts/go/obitools/pkg/goutils"
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiapat" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiapat"
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiseq" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiseq"
) )
@ -107,11 +108,13 @@ func (marker *Marker) Compile(forward, reverse string, maxError int, allowsIndel
func (marker *Marker) Match(sequence *obiseq.BioSequence) *DemultiplexMatch { func (marker *Marker) Match(sequence *obiseq.BioSequence) *DemultiplexMatch {
aseq, _ := obiapat.MakeApatSequence(sequence, false) aseq, _ := obiapat.MakeApatSequence(sequence, false)
start, end, nerr ,matched := marker.forward.BestMatch(aseq, marker.taglength,-1) start, end, nerr ,matched := marker.forward.BestMatch(aseq, marker.taglength,-1)
if matched { if matched {
sseq := sequence.String() sseq := sequence.String()
direct := sseq[start:end] direct := sseq[start:end]
ftag := strings.ToLower(sseq[(start - marker.taglength):start]) tagstart := goutils.MaxInt(start - marker.taglength,0)
ftag := strings.ToLower(sseq[tagstart:start])
m := DemultiplexMatch{ m := DemultiplexMatch{
ForwardMatch: direct, ForwardMatch: direct,
@ -161,13 +164,15 @@ func (marker *Marker) Match(sequence *obiseq.BioSequence) *DemultiplexMatch {
return &m return &m
} }
start, end, nerr ,matched = marker.reverse.BestMatch(aseq, marker.taglength,-1) start, end, nerr ,matched = marker.reverse.BestMatch(aseq, marker.taglength,-1)
if matched { if matched {
sseq := sequence.String() sseq := sequence.String()
reverse := strings.ToLower(sseq[start:end]) reverse := strings.ToLower(sseq[start:end])
rtag := strings.ToLower(sseq[(start - marker.taglength):start]) tagstart := goutils.MaxInt(start - marker.taglength,0)
rtag := strings.ToLower(sseq[tagstart:start])
m := DemultiplexMatch{ m := DemultiplexMatch{
ReverseMatch: reverse, ReverseMatch: reverse,