about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2026-02-27 03:09:48 +0000
committerArun Isaac2026-02-27 03:12:57 +0000
commitb854f8c989911d450b20eee454d3275aa3d5d668 (patch)
treecb5641dae250827ae3aee4a1c4a0f73fc2c2b861
parente292b4024739e2f3bc2a2f9335b430dceb75a654 (diff)
downloadguix-bioinformatics-b854f8c989911d450b20eee454d3275aa3d5d668.tar.gz
Add parasail.
Change-Id: Ibd442b9414910bdb7566feb6c5f6523313ecbd16
-rw-r--r--gn/packages/bioinformatics.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index af7bfe7..7554321 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -4897,3 +4897,47 @@ reads, and it is one of the best haplotype-resolved assemblers for the
 trio-binning assembly given parental short reads.  For a human genome,
 hifiasm can produce the telomere-to-telomere assembly in one day.")
     (license license:expat)))
+
+(define-public parasail
+  (package
+   (name "parasail")
+   (version "2.6.2")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/jeffdaily/parasail")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "0pnw8x266b4qggv9hn4sng9z6zcq0rg7h6slcq3ka3snybzn61r8"))))
+   (build-system gnu-build-system)
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'patch-tests
+                (lambda _
+                  (substitute* "tests/test_verify_traces.c"
+                    (("ref_trace_table = parasail")
+                     "ref_trace_table = (int8_t*)parasail")
+                    ((", trace_table,")
+                     ", (int8_t*)trace_table,")))))))
+   (native-inputs
+    (list autoconf
+          automake
+          libtool))
+   (home-page "https://github.com/jeffdaily/parasail")
+   (synopsis "Pairwise sequence alignment library")
+   (description "parasail is a SIMD C (C99) library containing
+implementations of the Smith-Waterman (local),
+Needleman-Wunsch (global), and various semi-global pairwise sequence
+alignment algorithms.  Here, semi-global means insertions before the
+start or after the end of either the query or target sequence are
+optionally not penalized.  parasail implements most known algorithms
+for vectorized pairwise sequence alignment, including diagonal
+[Wozniak, 1997], blocked [Rognes and Seeberg, 2000], striped [Farrar,
+2007], and prefix scan [Daily, 2015].  Therefore, parasail is a
+reference implementation for these algorithms in addition to providing
+an implementation of the best-performing algorithm(s) to date on
+today's most advanced CPUs.")
+   (license license:bsd-2)))