[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: Add bedtools
From: |
Ricardo Wurmus |
Subject: |
Re: [PATCH] gnu: Add bedtools |
Date: |
Mon, 15 Dec 2014 16:46:13 +0100 |
Thanks for the review and the suggestions. Attached is an updated patch
for bedtools.
Python has been marked as a native input as it is only required at build
time to run a script that creates shell script wrappers for the various
executables. I hope that's correct.
>From 5d1d383417992369e6fa3f81331e87471183ffc6 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Thu, 11 Dec 2014 17:37:16 +0100
Subject: [PATCH] gnu: Add bedtools
* gnu/packages/bioinformatics.scm (bedtools): New variable.
---
gnu/packages/bioinformatics.scm | 49 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6f6178a..d608a34 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -28,6 +28,55 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python))
+(define-public bedtools
+ (package
+ (name "bedtools")
+ (version "2.22.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
"https://github.com/arq5x/bedtools2/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16aq0w3dmbd0853j32xk9jin4vb6v6fgakfyvrsmsjizzbn3fpfl"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("python" ,python-2)))
+ (inputs `(("samtools" ,samtools)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:test-target "test"
+ #:phases
+ (alist-cons-after
+ 'unpack 'patch-makefile-SHELL-definition
+ (lambda _
+ ;; patch-makefile-SHELL cannot be used here as it does not
+ ;; yet patch definitions with `:='. Since changes to
+ ;; patch-makefile-SHELL result in a full rebuild, features
+ ;; of patch-makefile-SHELL are reimplemented here.
+ (substitute* "Makefile"
+ (("^SHELL := .*$") (string-append "SHELL := " (which "bash") " -e
\n"))))
+ (alist-delete
+ 'configure
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+ (mkdir-p bin)
+ (for-each (lambda (file)
+ (copy-file file (string-append bin (basename file))))
+ (find-files "bin" ".*"))))
+ %standard-phases)))))
+ (home-page "https://github.com/arq5x/bedtools2")
+ (synopsis "Swiss army knife for genome arithmetic")
+ (description
+ "Collectively, the bedtools utilities are a swiss-army knife of tools for
+a wide-range of genomics analysis tasks. The most widely-used tools enable
+genome arithmetic: that is, set theory on the genome. For example, bedtools
+allows one to intersect, merge, count, complement, and shuffle genomic
+intervals from multiple files in widely-used genomic file formats such as BAM,
+BED, GFF/GTF, VCF.")
+ (license license:gpl2)))
+
(define-public samtools
(package
(name "samtools")
--
1.9.3