-
Notifications
You must be signed in to change notification settings - Fork 5
/
wfmash.scm
69 lines (68 loc) · 2.63 KB
/
wfmash.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
(define-module (wfmash)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages base)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages version-control)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages maths))
(define-public wfmash
(let ((version "0.12.5")
(commit "0222f7c957fe03013b2a0c64684474c4ec4d9afb")
(package-revision "1"))
(package
(name "wfmash")
(version (string-append version "-" package-revision "+" (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/waveygang/wfmash.git")
(commit commit)
(recursive? #f)))
(file-name (git-file-name name version))
(sha256
(base32
"1xc9xmzyy7zy5dbqkj70i7xfpaqjpk0jyi2mn7dbkb5yldmw394z"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases
%standard-phases
;; This stashes our build version in the executable
(add-after 'unpack 'set-version
(lambda _
(mkdir "include")
(with-output-to-file "include/wfmash_git_version.hpp"
(lambda ()
(format #t "#define WFMASH_GIT_VERSION \"~a\"~%" version)))
#t))
(delete 'check))
#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "CXX=" ,(cxx-for-target)))))
(inputs
`(("gcc" ,gcc-12)
("gsl" ,gsl)
("gmp" ,gmp)
("make" ,gnu-make)
("pkg-config" ,pkg-config)
("jemalloc" ,jemalloc)
("htslib" ,htslib)
("git" ,git)
("zlib" ,zlib)))
(synopsis "base-accurate DNA sequence alignments using WFA and mashmap2")
(description "wfmash is a fork of MashMap that implements
base-level alignment using the wavefront alignment algorithm WFA. It
completes an alignment module in MashMap and extends it to enable
multithreaded operation. A single command-line interface simplfies
usage. The PAF output format is harmonized and made equivalent to that
in minimap2, and has been validated as input to seqwish.")
(home-page "https://github.com/ekg/wfmash")
(license license:expat))))