gnu: Add eigensoft.

* gnu/packages/bioinformatics.scm (eigensoft): New variable.
This commit is contained in:
Ricardo Wurmus 2016-07-12 15:29:19 +02:00 committed by Ricardo Wurmus
parent 42d6d0d0d6
commit 6619f9c769
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 70 additions and 0 deletions

View File

@ -1603,6 +1603,76 @@ data and settings.")
(license (license:non-copyleft "file://src/COPYING" (license (license:non-copyleft "file://src/COPYING"
"See src/COPYING in the distribution.")))) "See src/COPYING in the distribution."))))
(define-public eigensoft
(let ((revision "1")
(commit "b14d1e202e21e532536ff8004f0419cd5e259dc7"))
(package
(name "eigensoft")
(version (string-append "6.1.2-"
revision "."
(string-take commit 9)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DReichLab/EIG.git")
(commit commit)))
(file-name (string-append "eigensoft-" commit "-checkout"))
(sha256
(base32
"0f5m6k2j5c16xc3xbywcs989xyc26ncy1zfzp9j9n55n9r4xcaiq"))
(modules '((guix build utils)))
;; Remove pre-built binaries.
(snippet '(begin
(delete-file-recursively "bin")
(mkdir "bin")
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
#:make-flags '("CC=gcc")
#:phases
(modify-phases %standard-phases
;; There is no configure phase, but the Makefile is in a
;; sub-directory.
(replace 'configure
(lambda _
(chdir "src")
;; The link flags are incomplete.
(substitute* "Makefile"
(("-lgsl") "-lgsl -lm -llapack -llapacke -lpthread"))
#t))
;; The provided install target only copies executables to
;; the "bin" directory in the build root.
(add-after 'install 'actually-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
(for-each (lambda (file)
(install-file file bin))
(find-files "../bin" ".*"))
#t))))))
(inputs
`(("gsl" ,gsl)
("lapack" ,lapack)
("lapack" ,lapack "lapacke")
("openblas" ,openblas)
("perl" ,perl)
("gfortran" ,gfortran "lib")))
(home-page "https://github.com/DReichLab/EIG")
(synopsis "Tools for population genetics")
(description "The EIGENSOFT package provides tools for population
genetics and stratification correction. EIGENSOFT implements methods commonly
used in population genetics analyses such as PCA, computation of Tracy-Widom
statistics, and finding related individuals in structured populations. It
comes with a built-in plotting script and supports multiple file formats and
quantitative phenotypes.")
;; The license of the eigensoft tools is Expat, but since it's
;; linking with the GNU Scientific Library (GSL) the effective
;; license is the GPL.
(license license:gpl3+))))
(define-public edirect (define-public edirect
(package (package
(name "edirect") (name "edirect")