def configured_found

bend-edit-distance@0.2.2.0 · src/Myers.bend:629

import bend-edit-distance@0.2.2.0/src/Myers.bend as Myers
import Base
import bend-edit-distance@0.2.2.0/src/Sequence.bend as S
import bend-edit-distance@0.2.2.0/EdlibTypes.bend as E
import bend-edit-distance@0.2.2.0/src/Alignment.bend as A

629def configured_found(task: E.Task, mode: E.Mode, +query: String, +target: String,
630                        +pairs: List<&2, E.EqualityPair>, format: E.CigarFormat,
631                        best: A.Best) -> E.AlignResult:
632  match task mode best:
633    case E.Distance{} _ _:
634      A.result(query, target, task, pairs, format, best, True{})
635    case _ E.HW{} A.Best{+score, +locations}:
636      +qn +tn = S.length(query) S.length(target)
637      rq rt = String.reverse(query) String.reverse(target)
638      resolved = hw_locations(List.length(&2, A.Location, locations), locations,
639        rt, tn, build_peq(ceil_div(qn, 32n), rq, pairs), qn, U32.to_nat(score))
640      A.result(query, target, task, pairs, format, A.Best{score, resolved}, True{})
641    case _ _ _:
642      # NW/SHW always start at zero; only PATH needs reconstruction.
643      A.result(query, target, task, pairs, format, best, True{})

Uses (18)

Used by (1)