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:
		
							parent
							
								
									5bdda30b32
								
							
						
					
					
						commit
						56e373ef75
					
				
					 4 changed files with 128 additions and 0 deletions
				
			
		|  | @ -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		\ | ||||
|  |  | |||
|  | @ -2087,6 +2087,62 @@ subsequent visualization, annotation and storage of results.") | |||
|     ;; 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") | ||||
|  |  | |||
							
								
								
									
										37
									
								
								gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								gnu/packages/patches/preseq-1.0.2-install-to-PREFIX.patch
									
										
									
									
									
										Normal 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 *~ | ||||
							
								
								
									
										33
									
								
								gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								gnu/packages/patches/preseq-1.0.2-link-with-libbam.patch
									
										
									
									
									
										Normal 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) | ||||
		Reference in a new issue