Subject: [bug#61148] [PATCH 3/5] gnu: Add wfa2-lib.

From: Efraim Flashner <[email-masked]>
Date: Sun, 29 Jan 2023 15:12:36 +0200

* gnu/packages/bioinformatics.scm (wfa2-lib): New variable.
---
 gnu/packages/bioinformatics.scm | 34 +++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index fa0a6c0dd6..7b5d5c5e8c 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -15710,6 +15710,40 @@ (define-public tabixpp
 some of the details of opening and jumping in tabix-indexed files.")
    (license license:expat)))
 
+(define-public wfa2-lib
+  (let ((commit "188b522ae634add3c692ca7547595b7266f1fa19")
+        (revision "1"))
+    (package
+      (name "wfa2-lib")
+      (version (git-version "2.3.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/smarco/WFA2-lib")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32 "1pq844zsl7v5zk6pzkbh5j2k2g1ac54nlvgyihla2wlwi0ibndax"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+         #:configure-flags
+         #~(list "-DOPENMP=ON")))
+      (native-inputs
+       (list pkg-config))
+      (home-page "https://github.com/ekg/tabixpp")
+      (synopsis "Wavefront alignment algorithm library")
+      (description "The @acronym{wavefront alignment, WFA} algorithm is an exact
+gap-affine algorithm that takes advantage of homologous regions between the
+sequences to accelerate the alignment process.  Unlike to traditional dynamic
+programming algorithms that run in quadratic time, the WFA runs in time
+@code{O(ns+s^2)}, proportional to the sequence length @code{n} and the alignment
+score @code{s}, using @code{O(s^2)} memory (or @code{O(s)} using the
+ultralow/BiWFA mode).  Moreover, the WFA algorithm exhibits simple computational
+patterns that the modern compilers can automatically vectorize for different
+architectures without adapting the code.")
+      (license license:expat))))
+
 (define-public smithwaterman
   (let ((commit "2610e259611ae4cde8f03c72499d28f03f6d38a7"))
     (package
-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted