gnu: Add preseq.

* gnu/packages/bioinformatics.scm (preseq): New variable.
* gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch: New file.
* gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
This commit is contained in:
Ricardo Wurmus 2015-06-23 10:54:00 +02:00
parent 5bdda30b32
commit 56e373ef75
4 changed files with 128 additions and 0 deletions

View file

@ -571,6 +571,8 @@ dist_patch_DATA = \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/polkit-drop-test.patch \
gnu/packages/patches/portaudio-audacity-compat.patch \
gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch \
gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pt-scotch-build-parallelism.patch \
gnu/packages/patches/pulseaudio-fix-mult-test.patch \

View file

@ -2087,6 +2087,62 @@ (define-public plink
;; LGPLv2.1+
(license (list license:gpl2 license:lgpl2.1+))))
(define-public preseq
(package
(name "preseq")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri
(string-append "http://smithlabresearch.org/downloads/preseq-"
version ".tar.bz2"))
(sha256
(base32 "0r7sw07p6nv8ygvc17gd78lisbw5336v3vhs86b5wv8mw3pwqksc"))
(patches (list (search-patch "preseq-1.0.2-install-to-PREFIX.patch")
(search-patch "preseq-1.0.2-link-with-libbam.patch")))
(modules '((guix build utils)))
(snippet
;; Remove bundled samtools.
'(delete-file-recursively "preseq-master/samtools"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'enter-dir
(lambda _
(chdir "preseq-master")
#t))
(add-after
'unpack 'use-samtools-headers
(lambda _
(substitute* '("smithlab_cpp/SAM.cpp"
"smithlab_cpp/SAM.hpp")
(("sam.h") "samtools/sam.h"))
#t))
(delete 'configure))
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
(string-append "LIBBAM="
(assoc-ref %build-inputs "samtools")
"/lib/libbam.a"))))
(inputs
`(("gsl" ,gsl)
("samtools" ,samtools-0.1)
("zlib" ,zlib)))
(home-page "http://smithlabresearch.org/software/preseq/")
(synopsis "Program for analyzing library complexity")
(description
"The preseq package is aimed at predicting and estimating the complexity
of a genomic sequencing library, equivalent to predicting and estimating the
number of redundant reads from a given sequencing depth and how many will be
expected from additional sequencing using an initial sequencing experiment.
The estimates can then be used to examine the utility of further sequencing,
optimize the sequencing depth, or to screen multiple libraries to avoid low
complexity samples.")
(license license:gpl3+)))
(define-public sra-tools
(package
(name "sra-tools")

View file

@ -0,0 +1,37 @@
This patch has been submitted upstream: https://github.com/smithlabcode/preseq/pull/15
From 65387b0d766e6c06a15cf8d8f9183d9a4ba644bb Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 25 Jun 2015 15:01:53 +0200
Subject: [PATCH] Install to PREFIX
---
Makefile | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 4d0367a..e334f2f 100644
--- a/preseq-master/Makefile
+++ b/preseq-master/Makefile
@@ -22,6 +22,10 @@ ifndef ROOT
ROOT = $(shell pwd)
endif
+ifndef PREFIX
+PREFIX = $(ROOT)
+endif
+
ifndef SMITHLAB_CPP
SMITHLAB_CPP=$(ROOT)/smithlab_cpp/
endif
@@ -91,8 +95,8 @@ endif
$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDEARGS) $(LIBS)
install: $(PROGS)
- @mkdir -p $(ROOT)/bin
- @install -m 755 $(PROGS) $(ROOT)/bin
+ @mkdir -p $(PREFIX)/bin
+ @install -m 755 $(PROGS) $(PREFIX)/bin
clean:
@-rm -f $(PROGS) *.o *~

View file

@ -0,0 +1,33 @@
This patch has been submitted upstream: https://github.com/smithlabcode/preseq/pull/15
From a937a54d56e8a6ff06237471e568154d1fa5f267 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Thu, 25 Jun 2015 15:02:35 +0200
Subject: [PATCH] Link with libbam.a if provided via LIBBAM
---
Makefile | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Makefile b/Makefile
index e334f2f..de310e4 100644
--- a/preseq-master/Makefile
+++ b/preseq-master/Makefile
@@ -83,10 +83,17 @@ $(PROGS): $(addprefix $(SMITHLAB_CPP)/, \
preseq: continued_fraction.o load_data_for_complexity.o moment_sequence.o
ifdef SAMTOOLS_DIR
+ifdef LIBBAM
+LIBS += -pthread
+bam2mr preseq: $(addprefix $(SMITHLAB_CPP)/, SAM.o) \
+ $(LIBBAM)
+else
bam2mr preseq: $(addprefix $(SMITHLAB_CPP)/, SAM.o) \
$(addprefix $(SAMTOOLS_DIR)/, sam.o bam.o bam_import.o bam_pileup.o \
faidx.o bam_aux.o kstring.o knetfile.o sam_header.o razf.o bgzf.o)
endif
+endif # SAMTOOLS_DIR
+
%.o: %.cpp %.hpp
$(CXX) $(CXXFLAGS) -c -o $@ $< $(INCLUDEARGS)