diff mbox series

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

Message ID 8cd6e9d8b601af9fd507a60dd8efbd0b255eba96.1674997469.git.efraim@flashner.co.il
State New
Headers show
Series Update vcflib | expand

Commit Message

Efraim Flashner Jan. 29, 2023, 1:12 p.m. UTC
* gnu/packages/bioinformatics.scm (wfa2-lib): New variable.
---
 gnu/packages/bioinformatics.scm | 34 +++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
diff mbox series

Patch

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