@@ -16107,3 +16107,54 @@ (define-public ccwl
@acronym{EDSL, Embedded Domain Specific Language} in the Scheme programming
language.")
(license license:gpl3+)))
+
+(define-public wfmash
+ (package
+ (name "wfmash")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ekg/wfmash/releases/download/v"
+ version "/wfmash-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "031cm1arpfckvihb28vlk69mirpnmlag81zcscfba1bac58wvr7c"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Unbundle atomic-queue.
+ (delete-file-recursively "src/common/atomic_queue")
+ (substitute* "src/align/include/computeAlignments.hpp"
+ (("\"common/atomic_queue/atomic_queue.h\"")
+ "<atomic_queue/atomic_queue.h>"))))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ ;; Remove compiler flags and checks specific to x86 when not
+ ;; targeting it.
+ ,@(if (target-x86-64?)
+ '()
+ '((add-after 'unpack 'remove-x86-specific-compile-flags
+ (lambda _
+ (substitute* (find-files "." "CMakeLists\\.txt")
+ (("-mcx16") "")
+ (("-march=native") ""))
+ (substitute* "src/common/dset64.hpp"
+ (("!__x86_64__") "0")))))))))
+ (inputs
+ (list atomic-queue
+ gsl
+ htslib
+ jemalloc
+ zlib))
+ (synopsis "Base-accurate DNA sequence aligner")
+ (description "@code{wfmash} is a DNA sequence read mapper based on mash
+distances and the wavefront alignment algorithm. It is a fork of MashMap that
+implements base-level alignment via the wflign tiled wavefront global
+alignment algorithm. It completes MashMap with a high-performance alignment
+module capable of computing base-level alignments for very large sequences.")
+ (home-page "https://github.com/ekg/wfmash")
+ (license license:expat)))