lib.bend

bend-edit-distance@0.2.1.0 · 22 lines · 0 definitions

1import Base
2import bend-edit-distance@0.2.1.0/EdlibTypes.bend as Types
3import bend-edit-distance@0.2.1.0/src/Myers.bend as Myers
4import bend-edit-distance@0.2.1.0/src/Batch.bend as Batch
5
6# Public CPU library entry point, independent of CLI and foreign transport.
7def distance(query: String, target: String) -> Nat:
8  Myers.distance(query, target)
9
10def default_config() -> Types.AlignConfig:
11  Types.default_config()
12
13def align(query: String, target: String, config: Types.AlignConfig) -> Types.AlignResult:
14  Myers.edlib_align(query, target, config)
15
16# One result per job, in input order, with independent CPU alignment leaves.
17def align_batch(jobs: List<&2, Types.AlignJob>) -> List<&2, Types.AlignResult>:
18  Batch.align_batch(jobs)
19
20# Format any path, including an explicitly empty path, independently of align.
21def alignment_to_cigar(operations: List<&2, Types.Operation>, format: Types.CigarFormat) -> String:
22  Types.alignment_to_cigar(operations, format)