From 50319950fa33913fb8217d019cc7bd67bab4ad0d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 04:15:26 -0500 Subject: gn: Add edirect-11. * gn/packages/bioinformatics.scm (edirect-11): New variable. --- gn/packages/bioinformatics.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index bdd0322..0c88442 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1050,3 +1050,18 @@ reads.") ;; Free for non-commercial use by academic, government, and ;; non-profit/not-for-profit institutions (license license:non-copyleft))) + +(define-public edirect-11 + (package + (inherit edirect) + (name "edirect") + (version "11.8.20190730") + (source + (origin + (method url-fetch) + (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect" + "/versions/" version + "/edirect-" version ".tar.gz")) + (sha256 + (base32 + "037sn5qmari98z5pmmrf9zx3il017nfp67p5hvq1pqzxhv6i29l3")))))) -- cgit v1.2.3 From 1de344e71b1dd972e7ef69df2535f7464db9151a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 04:43:44 -0500 Subject: gn: pindel: Don't use unstable tarball. * gn/packages/bioinformatics.scm (pindel)[source]: Download using 'git-fetch'. --- gn/packages/bioinformatics.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 0c88442..5b77fb1 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -939,12 +939,13 @@ manipulations on VCF files.") (name "pindel") (version "0.2.5b8") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/genome/pindel/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/genome/pindel.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "06bsf0psxwf7h5p3j97xkh9k5qrwhxh6xn942y1j1m2inyhgs8bz")))) + (base32 "16a32fbgv1n58nfcxa1nyphrdrad80sgpinfa9p028n6plwycpww")))) (build-system gnu-build-system) (inputs `(("samtools" ,samtools) -- cgit v1.2.3 From 6d4485f5908139e9dbf6cd86ab4ee21f424690d0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 04:52:59 -0500 Subject: gn: pindel: Update package definition. * gn/packages/bioinformatics.scm (pindel)[arguments]: Use 'invoke' when possible. Parameterize custom 'check phase. --- gn/packages/bioinformatics.scm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 5b77fb1..5b00e58 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -969,7 +969,7 @@ manipulations on VCF files.") ;; The second run actually compiles the program. Now Makefile.local ;; is available, and we should treat an exiting make with an error as ;; a true error. - (zero? (system* "make")))) + (invoke "make"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) @@ -980,13 +980,11 @@ manipulations on VCF files.") ;; There are multiple test targets, so in order to run all ;; tests, we must run the separate make targets. (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (and - (zero? (system* "make" "acceptance-tests")) - (zero? (system* "make" "coverage-tests")) - (zero? (system* "make" "cppcheck")) - (zero? (system* "make" "functional-tests")) - (zero? (system* "make" "regression-tests")))))))) + (lambda _ + (for-each (lambda (target) + (invoke "make" target)) + '("acceptance-tests" "coverage-tests" "cppcheck" + "functional-tests" "regression-tests"))))))) (home-page "https://github.com/genome/pindel") (synopsis "Structural variants detector for next-gen sequencing data") (description "Pindel can detect breakpoints of large deletions, medium sized -- cgit v1.2.3 From 9d2868360926c0a700cd57fd65fb1ea2b4bf16a1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 05:56:36 -0500 Subject: gn: contra: Update source uri. * gn/packages/bioinformatics.scm (contra)[source]: Update to new folder structure. --- gn/packages/bioinformatics.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 5b00e58..eb495f9 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -69,7 +69,8 @@ (source (origin (method url-fetch) (uri (string-append - "mirror://sourceforge/contra-cnv/CONTRA.v" version ".tar.gz")) + "mirror://sourceforge/contra-cnv/CONTRA.V" + (version-major+minor version) "/CONTRA.v" version ".tar.gz")) (sha256 (base32 "0agpcm2xh5f0i9n9sx1kvln6mzdksddmh11bvzj6bh76yw5pnw91")))) -- cgit v1.2.3 From e756c88a8ccf8579b57eb3370d2ccc8cec23b5cd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 06:01:24 -0500 Subject: gn: contra: Update package definition. * gn/packages/bioinformatics.scm (contra)[arguments]: Update custom 'install phase. --- gn/packages/bioinformatics.scm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index eb495f9..d6972d6 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -88,18 +88,16 @@ (delete 'configure) (delete 'build) ; We can use Guix's BEDtools instead. (replace 'install - (lambda _ - (let* ((out (assoc-ref %outputs "out")) + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (doc (string-append out "/share/doc/contra"))) - (mkdir-p bin) - (mkdir-p doc) - (and - (zero? (system* "cp" "--recursive" "scripts" bin)) - (zero? (system* "cp" "contra.py" bin)) - (zero? (system* "cp" "baseline.py" bin)) - ;; There's only a pre-built PDF available. - (zero? (system* "cp" "CONTRA_User_Guide.2.0.pdf" doc))))))))) + (copy-recursively "scripts" (string-append bin "/scripts")) + (install-file "contra.py" bin) + (install-file "baseline.py" bin) + ;; There's only a pre-built PDF available. + (install-file "CONTRA_User_Guide.2.0.pdf" doc)) + #t))))) (home-page "http://contra-cnv.sourceforge.net/") (synopsis "Tool for copy number variation (CNV) detection for targeted resequencing data") -- cgit v1.2.3 From 06896867d9adc2e060e49222f286b306ef920e92 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 06:05:58 -0500 Subject: gn: contra: Remove bundled source. * gn/packages/bioinformatics.scm (contra)[source]: Add snippet to remove bundled sources. --- gn/packages/bioinformatics.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index d6972d6..5ee126e 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -73,7 +73,11 @@ (version-major+minor version) "/CONTRA.v" version ".tar.gz")) (sha256 (base32 - "0agpcm2xh5f0i9n9sx1kvln6mzdksddmh11bvzj6bh76yw5pnw91")))) + "0agpcm2xh5f0i9n9sx1kvln6mzdksddmh11bvzj6bh76yw5pnw91")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file "BEDTools.v2.11.2.tar.gz") #t)))) (build-system gnu-build-system) (propagated-inputs `(("python" ,python-2) -- cgit v1.2.3 From e1880fa256769bd201ead3746d612fb3283211b0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 07:04:50 -0500 Subject: gn: Remove some duplicate packages --- gn/packages/arrayfire.scm | 71 +----------------- gn/packages/beignet.scm | 71 +----------------- gn/packages/bioinformatics.scm | 131 +-------------------------------- gn/packages/clBLAS.scm | 162 ----------------------------------------- gn/packages/clFFT.scm | 158 ---------------------------------------- gn/packages/glfw.scm | 83 --------------------- gn/packages/ocl-icd.scm | 36 +-------- gn/packages/ruby.scm | 47 ------------ 8 files changed, 11 insertions(+), 748 deletions(-) delete mode 100644 gn/packages/clBLAS.scm delete mode 100644 gn/packages/clFFT.scm delete mode 100644 gn/packages/glfw.scm (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm index 39e7899..c230dc4 100644 --- a/gn/packages/arrayfire.scm +++ b/gn/packages/arrayfire.scm @@ -52,7 +52,10 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages xorg) #:use-module (gnu packages version-control) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux) + #:use-module (gnu packages opencl) + #:use-module (gn packages ocl-headers) + #:use-module (gn packages ocl-icd)) (define-public arrayfire (package @@ -292,69 +295,3 @@ (synopsis "Peer-reviewed portable C++ source libraries,BoostCompute") (description "Peer-reviewed portable C++ source libraries,BoostCompute") (license (list license:x11-style)))) - -(define-public ocl-icd - (package - (name "ocl-icd") - (version "2.2.9") - (source (origin - (method url-fetch) - (uri (string-append "https://forge.imag.fr/frs/download.php/716/ocl-icd-" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc")))) - (inputs `(("zip" ,zip) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("ruby" ,ruby) - ("libtool" ,libtool) - ("opencl-headers" ,opencl-headers) - ("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "https://forge.imag.fr/projects/ocl-icd/") - (synopsis "OpenCL implementations are provided as ICD (Installable Client Driver).") - (description "OpenCL implementations are provided as ICD (Installable Client Driver). - An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project. - This free ICD Loader can load any (free or non free) ICD") - (license (list license:gpl2 license:ruby)))) - -(define-public opencl-headers -(let ((commit "c1770dc")) - (package - (name "opencl-headers") - (version (string-append "2.1-" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-Headers.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) - (propagated-inputs '()) - (inputs '()) - (native-inputs '()) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "." (string-append - (assoc-ref outputs "out") - "/include/CL"))))))) - (synopsis "The Khronos OpenCL headers") - (description "This package provides the Khronos OpenCL headers") - (home-page "https://www.khronos.org/registry/cl/") - (license (list license:gpl2))))) diff --git a/gn/packages/beignet.scm b/gn/packages/beignet.scm index c07fa61..ea099c4 100644 --- a/gn/packages/beignet.scm +++ b/gn/packages/beignet.scm @@ -47,7 +47,10 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages version-control) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux) + #:use-module (gnu packages opencl) + #:use-module (gn packages ocl-headers) + #:use-module (gn packages ocl-icd)) (define-public beignet (package @@ -87,69 +90,3 @@ (synopsis "Intel's OpenCL framework") (description "Intel's OpenCL framework that works with Intel IvyBridge GPUs and above") (license license:gpl2))) - -(define-public ocl-icd - (package - (name "ocl-icd") - (version "2.2.9") - (source (origin - (method url-fetch) - (uri (string-append "https://forge.imag.fr/frs/download.php/716/ocl-icd-" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc")))) - (inputs `(("zip" ,zip) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("ruby" ,ruby) - ("libtool" ,libtool) - ("opencl-headers" ,opencl-headers) - ("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "https://forge.imag.fr/projects/ocl-icd/") - (synopsis "OpenCL implementations are provided as ICD (Installable Client Driver).") - (description "OpenCL implementations are provided as ICD (Installable Client Driver). - An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project. - This free ICD Loader can load any (free or non free) ICD") - (license license:gpl2))) - -(define-public opencl-headers -(let ((commit "c1770dc")) - (package - (name "opencl-headers") - (version (string-append "2.1-" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-Headers.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) - (propagated-inputs '()) - (inputs '()) - (native-inputs '()) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "." (string-append - (assoc-ref outputs "out") - "/include/CL"))))))) - (synopsis "The Khronos OpenCL headers") - (description "This package provides the Khronos OpenCL headers") - (home-page "https://www.khronos.org/registry/cl/") - (license license:gpl2)))) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 5ee126e..e5914c2 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -431,7 +431,7 @@ automatically handles index file generation and use.") ;; A part of the program is licensed GPLv2. (license (list license:non-copyleft license:gpl2))))) -(define-public vcflib ; guix duplicat, see below? +(define-public vcflib (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")) (package (name "vcflib") @@ -808,135 +808,6 @@ integration with gPLINK and Haploview, there is some support for the subsequent visualization, annotation and storage of results.") (license license:gpl3+)))) - -(define-public vcflib ; duplicate? See above - (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")) - (package - (name "vcflib") - (version (string-append "v1.0.2-" (string-take commit 7))) - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/vcflib/vcflib/archive/" - "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92" ".tar.gz")) - (file-name "vcflib-5ac0913.tar.gz") - (sha256 - (base32 "0ywshwpif059z5h0g7zzrdfzzdj2gr8xvwlwcsdxrms3p9iy35h8")))) - (build-system gnu-build-system) - (native-inputs - `(("htslib" ,htslib) - ("zlib" ,zlib) - ("python" ,python-2) - ("perl" ,perl) - ("tabixpp-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/tabixpp/archive/" - "bbc63a49acc52212199f92e9e3b8fba0a593e3f7" ".tar.gz")) - (file-name "tabixpp-src.tar.gz") - (sha256 - (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77")))) - ("intervaltree-src" - ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ekg/intervaltree/archive/" - "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz")) - (file-name "intervaltree-src.tar.gz") - (sha256 - (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks")))) - ("smithwaterman-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/smithwaterman/archive/" - "203218b47d45ac56ef234716f1bd4c741b289be1" ".tar.gz")) - (file-name "smithwaterman-src.tar.gz") - (sha256 - (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b")))) - ("multichoose-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/multichoose/archive/" - "73d35daa18bf35729b9ba758041a9247a72484a5" ".tar.gz")) - (file-name "multichoose-src.tar.gz") - (sha256 - (base32 "07aizwdabmlnjaq4p3v0vsasgz1xzxid8xcxcw3paq8kh9c1099i")))) - ("fsom-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/fsom/archive/" - "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz")) - (file-name "fsom-src.tar.gz") - (sha256 - (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3")))) - ("filevercmp-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/filevercmp/archive/" - "1a9b779b93d0b244040274794d402106907b71b7" ".tar.gz")) - (file-name "filevercmp-src.tar.gz") - (sha256 - (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450")))) - ("fastahack-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/fastahack/archive/" - "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd" ".tar.gz")) - (file-name "fastahack-src.tar.gz") - (sha256 - (base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2")))))) - (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (zero? (system* "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1")))))) - (and - (unpack "intervaltree-src" "intervaltree") - (unpack "fastahack-src" "fastahack") - (unpack "filevercmp-src" "filevercmp") - (unpack "fsom-src" "fsom") - (unpack "intervaltree-src" "intervaltree") - (unpack "multichoose-src" "multichoose") - (unpack "smithwaterman-src" "smithwaterman") - (unpack "tabixpp-src" "tabixpp"))))) - (add-after 'unpack-submodule-sources 'fix-makefile - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("Makefile") - (("^GIT_VERSION.*") "GIT_VERSION = v1.0.0")))) - (replace - 'build - (lambda* (#:key inputs make-flags #:allow-other-keys) - (with-directory-excursion "tabixpp" - (zero? (system* "make"))) - (zero? (system* "make" "CC=gcc" - (string-append "CFLAGS=\"" "-Itabixpp " - "-I" (assoc-ref inputs "htslib") "/include " "\"") "all")))) - (replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin")) - (lib (string-append (assoc-ref outputs "out") "/lib"))) - (for-each (lambda (file) - (install-file file bin)) - (find-files "bin" ".*")) - (install-file "libvcflib.a" lib))))))) - (home-page "https://github.com/vcflib/vcflib/") - (synopsis "Library for parsing and manipulating VCF files") - (description "Vcflib provides methods to manipulate and interpret -sequence variation as it can be described by VCF. It is both an API for parsing -and operating on records of genomic variation as it can be described by the VCF -format, and a collection of command-line utilities for executing complex -manipulations on VCF files.") - (license license:expat)))) - (define-public pindel (package (name "pindel") diff --git a/gn/packages/clBLAS.scm b/gn/packages/clBLAS.scm deleted file mode 100644 index 1c838fb..0000000 --- a/gn/packages/clBLAS.scm +++ /dev/null @@ -1,162 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Dennis Mungai -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gn packages clBLAS) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix packages) - #:use-module (gnu packages algebra) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bootstrap) - #:use-module (gnu packages base) - #:use-module (gnu packages curl) - #:use-module (gnu packages compression) - #:use-module (gnu packages gawk) - #:use-module (gnu packages cmake) - #:use-module (gnu packages boost) - #:use-module (gnu packages glib) - #:use-module (gnu packages image) - #:use-module (gnu packages video) - #:use-module (gnu packages textutils) - #:use-module (gnu packages gl) - #:use-module (gnu packages gcc) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages maths) - #:use-module (gnu packages mpi) - #:use-module (gnu packages ruby) - #:use-module (gnu packages web) - #:use-module (gnu packages python) - #:use-module (gnu packages xorg) - #:use-module (gnu packages version-control) - #:use-module (gnu packages linux)) - -(define-public clBLAS - (package - (name "clBLAS") - (version "v2.10") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/clMathLibraries/clBLAS/archive/" - version ".tar.gz")) - (sha256 - (base32 - "0adlb02lqzrklfybhnv4n0p37mvkvdi3vqiwa05x2mv05ywnr93j")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f - #:configure-flags '("../clBLAS-2.10/src" "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=Release" "-DBUILD_TEST=OFF"))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("cmake" ,cmake) - ("gfortran" ,gfortran) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) - (inputs `(("curl" ,curl) - ("dbus" ,dbus) - ("boost" ,boost) - ("enca" ,enca) - ("eudev" ,eudev) - ("fftw-openmpi" ,fftw-openmpi) - ("glew" ,glew) - ("libcap" ,libcap) - ("libjpeg" ,libjpeg) - ("libltdl" ,libltdl) - ("libtiff" ,libtiff) - ("mesa-utils" ,mesa-utils) - ("openmpi" ,openmpi) - ("ocl-icd" ,ocl-icd) - ("opencl-headers" ,opencl-headers) - ("randrproto" ,randrproto) - ("libxrandr" ,libxrandr) - ("xineramaproto" ,xineramaproto) - ("libxinerama" ,libxinerama) - ("libxcursor" ,libxcursor) - ("python" ,python-2))) - (home-page "http://www.glfw.org/") - (synopsis "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") - (description "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") - (license (list license:gpl2)))) - -(define-public ocl-icd - (package - (name "ocl-icd") - (version "2.2.9") - (source (origin - (method url-fetch) - (uri (string-append "https://forge.imag.fr/frs/download.php/716/ocl-icd-" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc")))) - (inputs `(("zip" ,zip) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("ruby" ,ruby) - ("libtool" ,libtool) - ("opencl-headers" ,opencl-headers) - ("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "https://forge.imag.fr/projects/ocl-icd/") - (synopsis "OpenCL implementations are provided as ICD (Installable Client Driver).") - (description "OpenCL implementations are provided as ICD (Installable Client Driver). - An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project. - This free ICD Loader can load any (free or non free) ICD") - (license (list license:gpl2 license:ruby)))) - -(define-public opencl-headers -(let ((commit "c1770dc")) - (package - (name "opencl-headers") - (version (string-append "2.1-" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-Headers.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) - (propagated-inputs '()) - (inputs '()) - (native-inputs '()) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "." (string-append - (assoc-ref outputs "out") - "/include/CL"))))))) - (synopsis "The Khronos OpenCL headers") - (description "This package provides the Khronos OpenCL headers") - (home-page "https://www.khronos.org/registry/cl/") - (license (list license:gpl2))))) diff --git a/gn/packages/clFFT.scm b/gn/packages/clFFT.scm deleted file mode 100644 index fb42c85..0000000 --- a/gn/packages/clFFT.scm +++ /dev/null @@ -1,158 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Dennis Mungai -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gn packages clFFT) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix packages) - #:use-module (gnu packages algebra) - #:use-module (gnu packages bootstrap) - #:use-module (gnu packages base) - #:use-module (gnu packages autotools) - #:use-module (gnu packages compression) - #:use-module (gnu packages curl) - #:use-module (gnu packages gawk) - #:use-module (gnu packages cmake) - #:use-module (gnu packages boost) - #:use-module (gnu packages glib) - #:use-module (gnu packages image) - #:use-module (gnu packages video) - #:use-module (gnu packages textutils) - #:use-module (gnu packages gl) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages maths) - #:use-module (gnu packages mpi) - #:use-module (gnu packages ruby) - #:use-module (gnu packages web) - #:use-module (gnu packages python) - #:use-module (gnu packages xorg) - #:use-module (gnu packages version-control) - #:use-module (gnu packages linux)) - -(define-public clFFT - (package - (name "clFFT") - (version "v2.10.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/clMathLibraries/clFFT/archive/" - version ".tar.gz")) - (sha256 - (base32 - "19hrk1lf06kch8x9dpbdj0waycn2mldrmj2y4vzi7zn2gdfw6g73")))) - (build-system cmake-build-system) - (arguments `(#:configure-flags '("../clFFT-2.10.1/src" "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=Release") #:tests? #f)) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("cmake" ,cmake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) - (inputs `(("curl" ,curl) - ("dbus" ,dbus) - ("enca" ,enca) - ("eudev" ,eudev) - ("fftw-openmpi" ,fftw-openmpi) - ("glew" ,glew) - ("libcap" ,libcap) - ("libjpeg" ,libjpeg) - ("libltdl" ,libltdl) - ("libtiff" ,libtiff) - ("mesa-utils" ,mesa-utils) - ("openmpi" ,openmpi) - ("ocl-icd" ,ocl-icd) - ("opencl-headers" ,opencl-headers) - ("randrproto" ,randrproto) - ("libxrandr" ,libxrandr) - ("xineramaproto" ,xineramaproto) - ("libxinerama" ,libxinerama) - ("libxcursor" ,libxcursor) - ("python" ,python-2))) - (home-page "http://www.glfw.org/") - (synopsis "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") - (description "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") - (license (list license:gpl2)))) - -(define-public ocl-icd - (package - (name "ocl-icd") - (version "2.2.9") - (source (origin - (method url-fetch) - (uri (string-append "https://forge.imag.fr/frs/download.php/716/ocl-icd-" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc")))) - (inputs `(("zip" ,zip) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("ruby" ,ruby) - ("libtool" ,libtool) - ("opencl-headers" ,opencl-headers) - ("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (home-page "https://forge.imag.fr/projects/ocl-icd/") - (synopsis "OpenCL implementations are provided as ICD (Installable Client Driver).") - (description "OpenCL implementations are provided as ICD (Installable Client Driver). - An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project. - This free ICD Loader can load any (free or non free) ICD") - (license (list license:gpl2 license:ruby)))) - -(define-public opencl-headers -(let ((commit "c1770dc")) - (package - (name "opencl-headers") - (version (string-append "2.1-" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-Headers.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) - (propagated-inputs '()) - (inputs '()) - (native-inputs '()) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "." (string-append - (assoc-ref outputs "out") - "/include/CL"))))))) - (synopsis "The Khronos OpenCL headers") - (description "This package provides the Khronos OpenCL headers") - (home-page "https://www.khronos.org/registry/cl/") - (license (list license:gpl2))))) diff --git a/gn/packages/glfw.scm b/gn/packages/glfw.scm deleted file mode 100644 index 6eb3a75..0000000 --- a/gn/packages/glfw.scm +++ /dev/null @@ -1,83 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Dennis Mungai -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gn packages glfw) - #:use-module ((guix licenses)) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix packages) - #:use-module (gnu packages algebra) - #:use-module (gnu packages autotools) - #:use-module (gnu packages curl) - #:use-module (gnu packages gawk) - #:use-module (gnu packages cmake) - #:use-module (gnu packages boost) - #:use-module (gnu packages glib) - #:use-module (gnu packages image) - #:use-module (gnu packages video) - #:use-module (gnu packages textutils) - #:use-module (gnu packages gl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages maths) - #:use-module (gnu packages web) - #:use-module (gnu packages databases) - #:use-module (gnu packages python) - #:use-module (gnu packages xorg) - #:use-module (gnu packages version-control) - #:use-module (gnu packages linux)) - -(define-public glfw ; guix opengl - (package - (name "glfw") - (version "3.1.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/glfw/glfw/archive/" - version ".tar.gz")) - (sha256 - (base32 - "08pixv8hd5xsccf7l8cqcijjqaq4k4da8qbp77wggal2fq445ika")))) - (build-system cmake-build-system) - (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:tests? #f)) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("cmake" ,cmake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) - (inputs `(("curl" ,curl) - ("dbus" ,dbus) - ("enca" ,enca) - ("eudev" ,eudev) - ("glew" ,glew) - ("libcap" ,libcap) - ("libjpeg" ,libjpeg) - ("libltdl" ,libltdl) - ("libtiff" ,libtiff) - ("mesa-utils" ,mesa-utils) - ("randrproto" ,randrproto) - ("libxrandr" ,libxrandr) - ("xineramaproto" ,xineramaproto) - ("libxinerama" ,libxinerama) - ("libxcursor" ,libxcursor) - ("mysql" ,mysql) - ("python" ,python-2))) - (home-page "http://www.glfw.org/") - (synopsis "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") - (description "glfw is an Open Source, multi-platform library for creating windows with OpenGL contexts and receiving input and events.") - (license (list gpl2)))) diff --git a/gn/packages/ocl-icd.scm b/gn/packages/ocl-icd.scm index 79b4853..17e85d7 100644 --- a/gn/packages/ocl-icd.scm +++ b/gn/packages/ocl-icd.scm @@ -30,6 +30,8 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) #:use-module (gnu packages ruby) + #:use-module (gnu packages opencl) + #:use-module (gn packages ocl-headers) #:use-module (guix git-download)) (define-public ocl-icd @@ -63,37 +65,3 @@ An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project. This free ICD Loader can load any (free or non free) ICD") (license license:gpl2))) - - (define-public opencl-headers -(let ((commit "c1770dc")) - (package - (name "opencl-headers") - (version (string-append "2.1-" commit )) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-Headers.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck")))) - (propagated-inputs '()) - (inputs '()) - (native-inputs '()) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "." (string-append - (assoc-ref outputs "out") - "/include/CL"))))))) - (synopsis "The Khronos OpenCL headers") - (description "This package provides the Khronos OpenCL headers") - (home-page "https://www.khronos.org/registry/cl/") - (license license:gpl2)))) diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm index e46616c..8dfb1d2 100644 --- a/gn/packages/ruby.scm +++ b/gn/packages/ruby.scm @@ -292,53 +292,6 @@ a history.") "https://github.com/pjotrp/bioruby-logger-plugin") (license #f))) -(define-public bio-table ; guix maybe ready -(package - (name "bio-table") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bio-table" version)) - (sha256 - (base32 - "1jlpls734kd41rffn2y2747nr14k5rwgaj2g3k48i9xgsfcmrn6r")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-bio-logger" ,ruby-bio-logger))) - (arguments - `(#:tests? #f)) ;; no bundler - (synopsis - "Functions and tools for tranforming and changing tab delimited and comma separated table files - useful for Excel sheets and SQL/RDF output") - (description - "Functions and tools for tranforming and changing tab delimited and comma separated table files - useful for Excel sheets and SQL/RDF output") - (home-page - "http://github.com/pjotrp/bioruby-table") - (license license:expat))) - - -(define-public bio-vcf ; guix maybe ready -(package - (name "bio-vcf") - (version "0.9.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bio-vcf" version)) - (sha256 - (base32 - "1007bn0w8l11q867lxsyqnk0vgvv12skvk9gyglv7g44knr5vh4j")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ;; no bundler/cucumber - (synopsis - "Smart lazy multi-threaded parser for VCF format with useful filtering and output rewriting (JSON, RDF etc.)") - (description - "Smart lazy multi-threaded parser for VCF format with useful filtering and output rewriting (JSON, RDF etc.)") - (home-page - "http://github.com/pjotrp/bioruby-vcf") - (license license:expat))) - (define-public ruby-faraday (package (name "ruby-faraday") -- cgit v1.2.3 From b0926f0df4f76b24dbb99da3f10a87e606fac993 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Aug 2019 07:41:00 -0500 Subject: gn: varscan: Fix build. * gn/packages/bioinformatics.scm (varscan)[arguments]: Disable tests. Update all custom phases. [home-page]: Use https. [description]: Add it. --- gn/packages/bioinformatics.scm | 55 ++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 29 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index e5914c2..b7db927 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -881,45 +881,42 @@ reads.") (base32 "0y45ympkza7qwcbcisg006286pwjbr5978n03hx5nvl09f0mapk8")))) (build-system ant-build-system) (arguments - `(#:phases + `(#:tests? #f ; build.xml does not exist + #:phases (modify-phases %standard-phases (replace 'unpack (lambda _ (mkdir "source") (chdir "source") - (and - ;; Unpack the Java archive containing the source files. - (zero? (system* "jar" "xf" (assoc-ref %build-inputs "source"))) - ;; Remove existing compiled output. - (with-directory-excursion "net/sf/varscan/" - (for-each (lambda (file) - (unless (string= (string-take-right file 5) ".java") - (zero? (system* "rm" file)))) - (find-files "." #:directories? #f)))))) + ;; Unpack the Java archive containing the source files. + (invoke "jar" "xf" (assoc-ref %build-inputs "source")) + ;; Remove existing compiled output. + (with-directory-excursion "net/sf/varscan/" + (for-each (lambda (file) + (delete-file file)) + (find-files "." "^.java$" #:directories? #f))) + #t)) (replace 'build (lambda _ - (let ((classes '())) - (and - ;; Compile the source files. - (with-directory-excursion "net/sf/varscan/" - (for-each (lambda (file) - (when (string= (string-take-right file 5) ".java") - (zero? (system* "javac" file)) - (cons )) - (find-files "." #:directories? #f))) - ;; Construct the new Java archive. - (zero? (system* "jar" "cfm" "varscan-2.4.1.jar" - "META-INF/MANIFEST.MF" - "net/sf/varscan/*.java"))))))) + ;; Compile the source files. + (with-directory-excursion "net/sf/varscan/" + (for-each (lambda (file) + (invoke "javac" file)) + (find-files "." ".java$" #:directories? #f))) + ;; Construct the new Java archive. + (apply invoke "jar" "cfm" + (string-append "varscan-" ,version ".jar") + "META-INF/MANIFEST.MF" + (find-files "net/sf/varscan" ".java$")))) (replace 'install - (lambda _ - (let ((out (string-append (assoc-ref %outputs "out") + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (string-append (assoc-ref outputs "out") "/share/java/varscan/"))) - (mkdir-p out) - (install-file "varscan-2.4.1.jar" out))))))) - (home-page "http://dkoboldt.github.io/varscan/") + (install-file (string-append "varscan-" ,version ".jar") out)) + #t))))) + (home-page "https://dkoboldt.github.io/varscan/") (synopsis "Variant detection in massively parallel sequencing data") - (description "") + (description "Variant detection in massively parallel sequencing data.") ;; Free for non-commercial use by academic, government, and ;; non-profit/not-for-profit institutions (license license:non-copyleft))) -- cgit v1.2.3 From dd3831e3c5c3c0f2437e3a6e7f96ced93e3379ab Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 20 Aug 2019 07:55:47 -0500 Subject: gn: Add custom edirect package --- gn/packages/bioinformatics.scm | 91 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 79 insertions(+), 12 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index b7db927..31be859 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -921,17 +921,84 @@ reads.") ;; non-profit/not-for-profit institutions (license license:non-copyleft))) -(define-public edirect-11 +(define-public edirect-gn (package (inherit edirect) - (name "edirect") - (version "11.8.20190730") - (source - (origin - (method url-fetch) - (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect" - "/versions/" version - "/edirect-" version ".tar.gz")) - (sha256 - (base32 - "037sn5qmari98z5pmmrf9zx3il017nfp67p5hvq1pqzxhv6i29l3")))))) + (name "edirect-gn") + (arguments + (substitute-keyword-arguments (package-arguments edirect) + ((#:phases phases) + `(modify-phases ,phases + ; (replace 'build + ; (lambda* (#:key inputs #:allow-other-keys) + ; (let ((go (string-append (assoc-ref inputs "go") "/bin/go"))) + ; (invoke go "build" "xtract.go")))) + (add-after 'unpack 'patch-programs + (lambda* (#:key inputs #:allow-other-keys) + (let ((gzip (assoc-ref inputs "gzip"))) + (substitute* '("index-bioc" + "pm-index" + "pm-invert" + "pm-stash" + "rchive.go" + "run-ncbi-converter") + (("gunzip") (string-append gzip "/bin/gunzip"))) + (substitute* "efetch" + (("exec perl") "exec")) + (substitute* '("xtract" "rchive") + ;; or add current directory to PATH + ((".*PATH.*") ""))) + #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (xtract.linux (assoc-ref inputs "xtract.Linux")) + (rchive.linux (assoc-ref inputs "rchive.Linux"))) + (for-each + (lambda (file) + (install-file file bin)) + '("edirect.pl" "archive-pubmed" "pm-prepare" "download-pubmed" + "pm-stash" "pm-refresh" "fetch-pubmed" "xtract" "has-asp" + "asp-ls" "asp-cp" "ftp-ls" "ftp-cp" "rchive" "efetch")) + (copy-file xtract.linux (string-append bin "/xtract.Linux")) + (copy-file rchive.linux (string-append bin "/rchive.Linux")) + (chmod (string-append bin "/xtract.Linux") #o555) + (chmod (string-append bin "/rchive.Linux") #o555)) + #t)) + (replace 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure 'edirect.pl' finds all perl inputs at runtime. + (let ((out (assoc-ref outputs "out")) + (path (getenv "PERL5LIB"))) + (for-each + (lambda (file) + (wrap-program (string-append out "/bin/" file) + `("PERL5LIB" ":" prefix (,path)))) + '("edirect.pl" "asp-ls" "ftp-cp" "ftp-ls"))) + #t)))))) + (inputs + `(("gzip" ,gzip) + ,@(package-inputs edirect))) + (native-inputs + `( + ;("go" ,go) + ("xtract.Linux" + ,(origin + (method url-fetch) + (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/" + "versions/" (package-version edirect) "/xtract.Linux")) + (file-name (string-append "xtract.Linux-" (package-version edirect))) + (sha256 + (base32 + "0fx6arpn38spnwszmvkkpa3498qrrlglg2l9jw91icgqbyjjq9wq")))) + ("rchive.Linux" + ,(origin + (method url-fetch) + (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/" + "versions/" (package-version edirect) "/rchive.Linux")) + (file-name (string-append "rchive.Linux-" (package-version edirect))) + (sha256 + (base32 + "134y0zprplqlplc6qmcjb97411bxkwghmq3z0qjgh0dgdbzjq1w3")))))) + ;; Due to the precompiled binaries we download: + (supported-systems "x86_64-linux"))) -- cgit v1.2.3 From cb7c4cbfa8a1c83ad8cf230d951c0b7913126c1b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 21 Aug 2019 01:37:01 -0500 Subject: gn: edirect-gn: Install missing binary. * gn/packages/bioinformatics.scm (edirect-gn)[arguments]: Install missing 'efetch' binary. Sort installed files alphabetically. Substitute call to 'exec perl' for all potentially affected files. --- gn/packages/bioinformatics.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 31be859..26337d1 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -943,7 +943,7 @@ reads.") "rchive.go" "run-ncbi-converter") (("gunzip") (string-append gzip "/bin/gunzip"))) - (substitute* "efetch" + (substitute* (find-files "." "^e") (("exec perl") "exec")) (substitute* '("xtract" "rchive") ;; or add current directory to PATH @@ -957,9 +957,10 @@ reads.") (for-each (lambda (file) (install-file file bin)) - '("edirect.pl" "archive-pubmed" "pm-prepare" "download-pubmed" - "pm-stash" "pm-refresh" "fetch-pubmed" "xtract" "has-asp" - "asp-ls" "asp-cp" "ftp-ls" "ftp-cp" "rchive" "efetch")) + '("archive-pubmed" "asp-cp" "asp-ls" "download-pubmed" + "edirect.pl" "efetch" "epost" "fetch-pubmed" "ftp-cp" + "ftp-ls" "has-asp" "pm-prepare" "pm-refresh" "pm-stash" + "rchive" "xtract")) (copy-file xtract.linux (string-append bin "/xtract.Linux")) (copy-file rchive.linux (string-append bin "/rchive.Linux")) (chmod (string-append bin "/xtract.Linux") #o555) -- cgit v1.2.3 From ed2a695c3c491183bb61260ad9769aecd156795a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 21 Aug 2019 01:43:11 -0500 Subject: gn: edirect-gn: Add native-search-path. * gn/packages/bioinformatics.scm (edirect-gn)[native-search-paths]: New field. --- gn/packages/bioinformatics.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 26337d1..b0f5d26 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1001,5 +1001,12 @@ reads.") (sha256 (base32 "134y0zprplqlplc6qmcjb97411bxkwghmq3z0qjgh0dgdbzjq1w3")))))) + (native-search-paths + ;; Ideally this should be set for LWP somewhere. + (list (search-path-specification + (variable "PERL_LWP_SSL_CA_FILE") + (file-type 'regular) + (separator #f) + (files '("/etc/ssl/certs/ca-certificates.crt"))))) ;; Due to the precompiled binaries we download: (supported-systems "x86_64-linux"))) -- cgit v1.2.3 From 9d0761ce5ea79fe050fa139a0b6213449cac41a2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 21 Aug 2019 02:28:23 -0500 Subject: gn: edirect-gn: Fix typo * gn/packages/bioinformatics.scm (edirect-gn)[supported-systems]: Replace atom with list. --- gn/packages/bioinformatics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index b0f5d26..040373c 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -1009,4 +1009,4 @@ reads.") (separator #f) (files '("/etc/ssl/certs/ca-certificates.crt"))))) ;; Due to the precompiled binaries we download: - (supported-systems "x86_64-linux"))) + (supported-systems '("x86_64-linux")))) -- cgit v1.2.3 From 0b2c14b336a931da8002b75a5b8ae23c8c54c777 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Aug 2019 05:16:31 -0500 Subject: gn: Remove some upstreamed packages --- gn/packages/bioinformatics.scm | 480 ----------------------------------------- 1 file changed, 480 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 040373c..00eab03 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -222,486 +222,6 @@ data. For whole genome sequencing data analysis, the program can also use mappability data (files created by GEM). ") (license license:gpl2+))) -(define-public tabixpp - (package - (name "tabixpp") - (version "1.0.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/tabixpp/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1s0lgks7qlvlhvcjhi2wm18nnza1bwcnic44ij7z8wfg88h4ivwn")))) - (build-system gnu-build-system) - (inputs - `(("htslib" ,htslib) - ("zlib" ,zlib))) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - ;; The build phase needs overriding the location of htslib. - (replace 'build - (lambda* (#:key inputs #:allow-other-keys) - (let ((htslib-ref (assoc-ref inputs "htslib"))) - (zero? - (system* "make" - (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a") - "HTS_HEADERS=" ; No need to check for headers here. - (string-append "LIBPATH=-L. -L" htslib-ref "/include")))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "tabix++" bin))))))) - (home-page "https://github.com/ekg/tabixpp") - (synopsis "C++ wrapper around tabix project") - (description "This is a C++ wrapper around the Tabix project which abstracts -some of the details of opening and jumping in tabix-indexed files.") - (license license:expat))) - -;; This version works with FreeBayes while the released version doesn't. The -;; released creates a variable with the name "vcf" somewhere, which is also the -;; name of a namespace in vcflib. -(define-public tabixpp-freebayes - (let ((commit "bbc63a49acc52212199f92e9e3b8fba0a593e3f7")) - (package (inherit tabixpp) - (name "tabixpp-freebayes") - (version (string-append "0-1." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/tabixpp/archive/" - commit ".tar.gz")) - (file-name (string-append name "-" version "-checkout.tar.gz")) - (sha256 - (base32 "1s06wmpgj4my4pik5kp2lc42hzzazbp5ism2y4i2ajp2y1c68g77"))))))) - -(define-public smithwaterman - ;; TODO: Upgrading smithwaterman breaks FreeBayes. - (let ((commit "203218b47d45ac56ef234716f1bd4c741b289be1")) - (package - (name "smithwaterman") - (version (string-append "0-1." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/smithwaterman/archive/" - commit ".tar.gz")) - (file-name (string-append name "-" version "-checkout.tar.gz")) - (sha256 - (base32 "1lkxy4xkjn96l70jdbsrlm687jhisgw4il0xr2dm33qwcclzzm3b")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "smithwaterman" bin))))))) - (home-page "https://github.com/ekg/smithwaterman") - (synopsis "Implementation of the Smith-Waterman algorithm") - (description "Implementation of the Smith-Waterman algorithm.") - ;; The project contains a license file for the GPLv2. The source files - ;; do not contain a license notice, so GPLv2-only is assumed here. - (license license:gpl2)))) - -(define-public multichoose - (package - (name "multichoose") - (version "1.0.3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/multichoose/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0xy86vvr3qrs4l81qis7ia1q2hnqv0xcb4a1n60smxbhqqis5w3l")))) - (build-system gnu-build-system) - (native-inputs - `(("python" ,python-2) - ("node" ,node))) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - ;; TODO: There are Python modules for these programs too. - (install-file "multichoose" bin) - (install-file "multipermute" bin))))))) - (home-page "https://github.com/ekg/multichoose") - (synopsis "Library for efficient loopless multiset combination generation -algorithm") - (description "A library implements an efficient loopless multiset -combination generation algorithm which is (approximately) described in -\"Loopless algorithms for generating permutations, combinations, and other -combinatorial configurations.\" G Ehrlich - Journal of the ACM (JACM), -1973. (Algorithm 7.)") - (license license:expat))) - -(define-public fsom - (let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3")) - (package - (name "fsom") - (version (string-append "0-1." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/fsom/archive/" - "a6ef318fbd347c53189384aef7f670c0e6ce89a3" ".tar.gz")) - (file-name (string-append name "-" version "-checkout.tar.gz")) - (sha256 - (base32 "0q6b57ppxfvsm5cqmmbfmjpn5qvx2zi5pamvp3yh8gpmmz8cfbl3")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "fsom" bin))))))) - (home-page "https://github.com/ekg/fsom") - (synopsis "Program for managing SOM (Self-Organizing Maps) neural networks") - (description "Program for managing SOM (Self-Organizing Maps) neural networks.") - (license license:gpl3)))) - -(define-public filevercmp - (let ((commit "1a9b779b93d0b244040274794d402106907b71b7")) - (package - (name "filevercmp") - (version (string-append "0-1." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/filevercmp/archive/" - commit ".tar.gz")) - (file-name "filevercmp-src.tar.gz") - (sha256 - (base32 "0yp5jswf5j2pqc6517x277s4s6h1ss99v57kxw9gy0jkfl3yh450")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "filevercmp" bin))))))) - (home-page "https://github.com/ekg/filevercmp") - (synopsis "Program to compare version strings") - (description "A program to compare version strings. It intends to be a -replacement for strverscmp.") - (license license:gpl3+)))) - -(define-public fastahack ; guix ready - (let ((commit "c68cebb4f2e5d5d2b70cf08fbdf1944e9ab2c2dd")) - (package - (name "fastahack") - (version (string-append "0-1." (string-take commit 7))) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ekg/fastahack/archive/" - commit ".tar.gz")) - (file-name (string-append name "-" version "-checkout.tar.gz")) - (sha256 - (base32 "0j25lcl3jk1kls66zzxjfyq5ir6sfcvqrdwfcva61y3ajc9ssay2")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; There are no tests to run. - #:phases - (modify-phases %standard-phases - (delete 'configure) ; There is no configure phase. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "fastahack" bin))))))) - (home-page "https://github.com/ekg/fastahack") - (synopsis "Program for indexing and sequence extraction from FASTA files") - (description "Fastahack is a small application for indexing and extracting -sequences and subsequences from FASTA files. The included Fasta.cpp library -provides a FASTA reader and indexer that can be embeddedinto applications which -would benefit from directly reading subsequences from FASTA files. The library -automatically handles index file generation and use.") - ;; There is no specific license for fastahack. - ;; A part of the program is licensed GPLv2. - (license (list license:non-copyleft license:gpl2))))) - -(define-public vcflib - (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb")) - (package - (name "vcflib") - (version (string-append "1.0.2-1." (string-take commit 7))) - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/vcflib/vcflib/archive/" - "5ac091365fdc716cc47cc5410bb97ee5dc2a2c92" ".tar.gz")) - (file-name "vcflib-5ac0913.tar.gz") - (sha256 - (base32 "0ywshwpif059z5h0g7zzrdfzzdj2gr8xvwlwcsdxrms3p9iy35h8")))) - (build-system gnu-build-system) - (native-inputs - `(("htslib" ,htslib) - ("zlib" ,zlib) - ("python" ,python-2) - ("perl" ,perl) - ("r" ,r) - ("node" ,node) - ("tabixpp-src" ,(package-source tabixpp-freebayes)) - ("smithwaterman-src" ,(package-source smithwaterman)) - ("multichoose-src" ,(package-source multichoose)) - ("fsom-src" ,(package-source fsom)) - ("filevercmp-src" ,(package-source filevercmp)) - ("fastahack-src" ,(package-source fastahack)) - ("intervaltree-src" - ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ekg/intervaltree/archive/" - "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz")) - (file-name "intervaltree-src.tar.gz") - (sha256 - (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks")))))) - (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (zero? (system* "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1")))))) - (and - (unpack "intervaltree-src" "intervaltree") - (unpack "fastahack-src" "fastahack") - (unpack "filevercmp-src" "filevercmp") - (unpack "fsom-src" "fsom") - (unpack "multichoose-src" "multichoose") - (unpack "smithwaterman-src" "smithwaterman") - (unpack "tabixpp-src" "tabixpp"))))) - (add-after 'unpack-submodule-sources 'fix-makefile - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("Makefile") - (("^GIT_VERSION.*") "GIT_VERSION = v1.0.0")))) - (replace - 'build - (lambda* (#:key inputs make-flags #:allow-other-keys) - (with-directory-excursion "tabixpp" - (zero? (system* "make"))) - (zero? (system* "make" "CC=gcc" - (string-append "CFLAGS=\"" "-Itabixpp " - "-I" (assoc-ref inputs "htslib") "/include " "\"") "all")))) - (replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin")) - ;;(include (string-append (assoc-ref outputs "out") "/include")) - (lib (string-append (assoc-ref outputs "out") "/lib"))) - (for-each (lambda (file) - (install-file file bin)) - (find-files "bin" ".*")) - ;; The header files do not correspond to libvcflib.a, therefore - ;; I left them out. - ;;(for-each (lambda (file) - ;; (install-file file include)) - ;; (find-files "src" "\\.h$")) - (install-file "libvcflib.a" lib))))))) - (home-page "https://github.com/vcflib/vcflib/") - (synopsis "Library for parsing and manipulating VCF files") - (description "Vcflib provides methods to manipulate and interpret -sequence variation as it can be described by VCF. It is both an API for parsing -and operating on records of genomic variation as it can be described by the VCF -format, and a collection of command-line utilities for executing complex -manipulations on VCF files.") - (license license:expat)))) - -(define-public bash-tap ; guix license issue - (package - (name "bash-tap") - (version "1.0.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/illusori/bash-tap/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0qs1qi38bl3ns4mpagcawv618dsk2q1lgrbddgvs0wl3ia12cyz5")))) - (build-system trivial-build-system) - (native-inputs `(("source" ,source) - ("tar" ,tar) - ("gzip" ,gzip))) - (arguments - `(#:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils)) - (let ((tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) - (path (string-append (assoc-ref %build-inputs "gzip") "/bin")) - (bin (string-append %output "/bin")) - (source (string-append (assoc-ref %build-inputs "source")))) - (setenv "PATH" path) - (mkdir-p bin) - (with-directory-excursion bin - (zero? (system* tar "xvf" source - "--strip-components=1" - "--no-anchored" - "bash-tap" - "bash-tap-bootstrap" - "bash-tap-mock"))))))) - (home-page "http://www.illusori.co.uk/projects/bash-tap/") - (synopsis "Bash port of a Test::More/Test::Builder-style TAP-compliant -test library") - (description "Bash TAP is a TAP-compliant Test::More-style testing library -for Bash shell scripts and functions. Along with the Test::More-style testing -helpers it provides helper functions for mocking commands and functions and -in-process output capturing.") - ;; The author didn't specify a license. - (license license:public-domain))) - -(define-public freebayes ; guix dependent package issues - (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb") - (revision "1")) - (package - (name "freebayes") - (version (string-append "1.0.2-" revision "." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ekg/freebayes.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 "1sbzwmcbn78ybymjnhwk7qc5r912azy5vqz2y7y81616yc3ba2a2")))) - (build-system gnu-build-system) - (inputs - `(("zlib" ,zlib) - ("htslib" ,htslib))) - (native-inputs - `(("bc" ,bc) ; Needed for running tests. - ("samtools" ,samtools) ; Needed for running tests. - ("parallel" ,parallel) ; Needed for running tests. - ("procps" ,procps) ; Needed for running tests. - ("bamtools" ,bamtools) - ("cmake" ,cmake) - ("python" ,python-2) - ("node" ,node) - ("r" ,r) - ("perl" ,perl) - ("bamtools-src" ,(package-source bamtools)) - ("vcflib-src" ,(package-source vcflib)) - ;; These are submodules for the vcflib version used in freebayes - ("tabixpp-src" ,(package-source tabixpp-freebayes)) - ("smithwaterman-src" ,(package-source smithwaterman)) - ("multichoose-src" ,(package-source multichoose)) - ("fsom-src" ,(package-source fsom)) - ("filevercmp-src" ,(package-source filevercmp)) - ("fastahack-src" ,(package-source fastahack)) - ("intervaltree-src" - ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ekg/intervaltree/archive/" - "dbb4c513d1ad3baac516fc1484c995daf9b42838" ".tar.gz")) - (file-name "intervaltree-src.tar.gz") - (sha256 - (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks")))) - ;; These submodules are needed to run the tests. - ("bash-tap-src" ,(package-source bash-tap)) - ;; ,(origin - ;; (method url-fetch) - ;; (uri (string-append "https://github.com/illusori/bash-tap/archive/" - ;; "c38fbfa401600cc81ccda66bfc0da3ea56288d03" ".tar.gz")) - ;; (file-name "bash-tap-src.tar.gz") - ;; (sha256 - ;; (base32 "07ijb1p0aa65ajpg9nkghc183iha6lwiydkckay8pghapa01j6nz")))) - ("test-simple-bash-src" - ,(origin - (method url-fetch) - (uri (string-append "https://github.com/ingydotnet/test-simple-bash/archive/" - "124673ff204b01c8e96b7fc9f9b32ee35d898acc" ".tar.gz")) - (file-name "test-simple-bash-src.tar.gz") - (sha256 - (base32 "016xf3wbgqbav9dncvfdx5k0f10z5xwq8jdszajzmcvnhz5wis14")))))) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (zero? (system* "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1")))))) - (and - (unpack "bamtools-src" "bamtools") - (unpack "vcflib-src" "vcflib") - ;;(unpack "intervaltree-src" "intervaltree") - (unpack "fastahack-src" "vcflib/fastahack") - (unpack "filevercmp-src" "vcflib/filevercmp") - (unpack "fsom-src" "vcflib/fsom") - (unpack "intervaltree-src" "vcflib/intervaltree") - (unpack "multichoose-src" "vcflib/multichoose") - (unpack "smithwaterman-src" "vcflib/smithwaterman") - (unpack "tabixpp-src" "vcflib/tabixpp") - (unpack "test-simple-bash-src" "test/test-simple-bash") - (unpack "bash-tap-src" "test/bash-tap"))))) - (add-after 'unpack-submodule-sources 'fix-makefile - (lambda* (#:key inputs #:allow-other-keys) - ;; We don't have the .git folder to get the version tag from. - ;; For this checkout of the code, it's v1.0.0. - (substitute* '("vcflib/Makefile") - (("^GIT_VERSION.*") "GIT_VERSION = v1.0.0")))) - (replace 'build - (lambda* (#:key inputs make-flags #:allow-other-keys) - (and - ;; Compile Bamtools before compiling the main project. - (with-directory-excursion "bamtools" - (system* "mkdir" "build") - (with-directory-excursion "build" - (and (zero? (system* "cmake" "../")) - (zero? (system* "make"))))) - ;; Compile vcflib before we compiling the main project. - (with-directory-excursion "vcflib" - (with-directory-excursion "tabixpp" - (let ((htslib-ref (assoc-ref inputs "htslib"))) - (zero? - (system* "make" "HTS_HEADERS=" - (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a") - (string-append "LIBPATH=-L. -L" htslib-ref "/include"))))) - (zero? (system* "make" "CC=gcc" - (string-append "CFLAGS=\"" "-Itabixpp " - "-I" (assoc-ref inputs "htslib") "/include " "\"") "all"))) - (with-directory-excursion "src" - (zero? (system* "make")))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "bin/freebayes" bin) - (install-file "bin/bamleftalign" bin)))) - ;; There are three tests that fail. All because of the -P - ;; (--perl-regexp) option in grep, which is not compiled into the - ;; version of grep in Guix. - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (system* "make" "test")))))) - (home-page "https://github.com/ekg/freebayes") - (synopsis "Haplotype-based variant detector") - (description "FreeBayes is a Bayesian genetic variant detector designed to -find small polymorphisms, specifically SNPs (single-nucleotide polymorphisms), -indels (insertions and deletions), MNPs (multi-nucleotide polymorphisms), and -complex events (composite insertion and substitution events) smaller than the -length of a short-read sequencing alignment.") - (license license:expat)))) - (define-public plink2 (package (name "plink2") -- cgit v1.2.3 From 7a69cee955f7e6cb85c6a648e9d362ed53bb36a0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Aug 2019 05:25:01 -0500 Subject: gn: bioinformatics.scm: Clean up module imports. --- gn/packages/bioinformatics.scm | 47 ++---------------------------------------- 1 file changed, 2 insertions(+), 45 deletions(-) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 00eab03..a219025 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -8,59 +8,16 @@ #:use-module (guix git-download) #:use-module (guix build-system ant) #:use-module (guix build-system gnu) - #:use-module (guix build-system cmake) - #:use-module (guix build-system perl) - #:use-module (guix build-system python) - ;; #:use-module (guix build-system ruby) - #:use-module (guix build-system r) - #:use-module (guix build-system trivial) - #:use-module (gn packages statistics) - #:use-module (gnu packages autotools) - #:use-module (gnu packages algebra) - #:use-module (gnu packages base) + #:use-module (gnu packages) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) #:use-module (gnu packages compression) - #:use-module (gnu packages databases) #:use-module (gnu packages check) - #:use-module (gnu packages cmake) - #:use-module (gnu packages compression) - #:use-module (gnu packages cpio) - #:use-module (gnu packages curl) - #:use-module (gnu packages documentation) - #:use-module (gnu packages datastructures) - #:use-module (gnu packages file) - #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) - #:use-module (gnu packages graphviz) - #:use-module (gnu packages java) - #:use-module (gnu packages linux) - #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) - #:use-module (gnu packages mpi) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages node) - #:use-module (gnu packages parallel) - #:use-module (gnu packages pcre) #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages popt) - #:use-module (gnu packages protobuf) #:use-module (gnu packages python) - #:use-module (gnu packages ruby) - #:use-module (gnu packages statistics) - #:use-module (gnu packages tbb) - #:use-module (gnu packages textutils) - #:use-module (gnu packages time) - #:use-module (gnu packages tls) - #:use-module (gnu packages vim) - #:use-module (gnu packages web) - #:use-module (gnu packages xml) - #:use-module (gnu packages bootstrap) - #:use-module (gnu packages dlang) -; #:use-module (gn packages ldc) - #:use-module (gn packages shell) - #:use-module (srfi srfi-1)) + #:use-module (gnu packages statistics)) (define-public contra (package -- cgit v1.2.3 From 77456aa56b3199ad076f3fa3de7bc1115dd0ae00 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 2 Sep 2019 09:29:10 -0500 Subject: gn: Add sniffles. * gn/packages/bioinformatics.scm (sniffles): New variable. --- gn/packages/bioinformatics.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index a219025..8b9bef3 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -7,6 +7,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system ant) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages bioinformatics) @@ -487,3 +488,43 @@ reads.") (files '("/etc/ssl/certs/ca-certificates.crt"))))) ;; Due to the precompiled binaries we download: (supported-systems '("x86_64-linux")))) + +;; TODO: Unbundle zlib, bamtools, tclap +(define-public sniffles + (package + (name "sniffles") + (version "1.0.11") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fritzsedlazeck/Sniffles.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rkwqn1ycckfzrg2wdid4cqahq8q2jmmgi7vvl8qxgpsihqfbq0j")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file (string-append "../source/bin/sniffles-core-" + ,version "/sniffles") + (string-append out "/bin"))) + #t)) + (replace 'check + (lambda _ + (with-directory-excursion "../source/test_set" + (for-each make-file-writable (find-files ".")) + (invoke (string-append "../bin/sniffles-core-" ,version "/sniffles") + "-m" "reads_region.bam" "-v" "test.vcf"))))))) + (native-inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/fritzsedlazeck/Sniffles") + (synopsis "Structural variation caller using third generation sequencing") + (description + "Sniffles is a structural variation caller using third generation sequencing +(PacBio or Oxford Nanopore). It detects all types of SVs (10bp+) using evidence +from split-read alignments, high-mismatch regions, and coverage analysis.") + (license license:expat))) -- cgit v1.2.3 From 53045359b18e247789d90ed00d78c26aa989c389 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 3 Sep 2019 02:22:28 -0500 Subject: gn: Add ngmlr, svim. * gn/packages/bioinformatics.scm (ngmlr, svim): New variables. --- gn/packages/bioinformatics.scm | 81 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) (limited to 'gn/packages/bioinformatics.scm') diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 8b9bef3..ad4db7b 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -9,6 +9,7 @@ #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) @@ -18,6 +19,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages statistics)) (define-public contra @@ -528,3 +530,82 @@ reads.") (PacBio or Oxford Nanopore). It detects all types of SVs (10bp+) using evidence from split-read alignments, high-mismatch regions, and coverage analysis.") (license license:expat))) + +;; TODO: Unbundle Complete-Striped-Smith-Waterman-Library +(define-public ngmlr + (package + (name "ngmlr") + (version "0.2.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/philres/ngmlr.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lmsy8w0kxbyfnrln7lxgmnx3d82sv2b20n2yw5742rvfhq1v31n")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-more-tools + (lambda* (#:key inputs #:allow-other-keys) + (let ((bed (assoc-ref inputs "bedtools")) + (sam (assoc-ref inputs "samtools"))) + (substitute* (find-files "test" "\\.sh$") + (("bedtools") (string-append bed "/bin/bedtools")) + (("samtools") (string-append sam "/bin/samtools"))) + #t))) + (replace 'check + (lambda _ + (with-directory-excursion "../source" + (invoke "sh" "test/test_travis.sh"))))))) + (native-inputs + `(("bedtools" ,bedtools) + ("samtools" ,samtools))) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/philres/ngmlr") + (synopsis "Long-read mapper designed to align PacBio or Oxford Nanopore") + (description + "NGMLR is a long-read mapper designed to align PacBio or Oxford Nanopore +(standard and ultra-long) to a reference genome with a focus on reads that span +structural variations.") + (license license:expat))) + +(define-public svim + (package + (name "svim") + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/eldariont/svim.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08j02in9jbq41b67dna1apnc3y30i37v44d1khml1xlx0iga720s")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python3" "-m" "unittest" "discover" "-s" "src/")))))) + (propagated-inputs + `(("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("python-pysam" ,python-pysam) + ("python-scipy" ,python-scipy) + ("minimap2" ,minimap2) + ("ngmlr" ,ngmlr) + ("samtools" ,samtools))) + (home-page "https://github.com/eldariont/svim") + (synopsis "Structural Variant Identification Method using Long Reads") + (description + "SVIM (pronounced SWIM) is a structural variant caller for long reads. It +is able to detect, classify and genotype five different classes of structural +variants. Unlike existing methods, SVIM integrates information from across the +genome to precisely distinguish similar events, such as tandem and interspersed +duplications and novel element insertions.") + (license license:gpl3))) -- cgit v1.2.3