| // Copyright ©2014 The bíogo Authors. All rights reserved. |
| // Copyright 2021 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package krishna |
| |
| import ( |
| "sync" |
| |
| "github.com/biogo/biogo/align/pals" |
| "github.com/biogo/biogo/align/pals/dp" |
| ) |
| |
| var wlock = &sync.Mutex{} |
| |
| func writeDPHits(w *pals.Writer, target, query *pals.Packed, hits []dp.Hit, comp bool) (n int, err error) { |
| wlock.Lock() |
| defer wlock.Unlock() |
| |
| for _, hit := range hits { |
| pair, err := pals.NewPair(target, query, hit, comp) |
| if err != nil { |
| return n, err |
| } else { |
| ln, err := w.Write(pair) |
| n += ln |
| if err != nil { |
| return n, err |
| } |
| } |
| } |
| |
| return |
| } |