guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add samtools


From: Ricardo Wurmus
Subject: Re: [PATCH] gnu: Add samtools
Date: Fri, 12 Dec 2014 10:48:57 +0100

Attached is an updated patch.

>> +    (synopsis "Efficient utilities on manipulating alignments in the SAM 
>> format")
>
> What about “Utilities to manipulate nucleotide sequence alignments”, to
> make it clearer that it’s bioinfo-related?

I chose to reword it as "Utilities to efficiently manipulate nucleotide
sequence alignments"; is this okay?

>> +    (description
>> +     "Samtools implements various utilities for post-processing alignments 
>> in
>> +the SAM, BAM, and CRAM formats, including indexing, variant calling (in
>> +conjunction with bcftools), and a simple alignment viewer.")
>
> Likewise, maybe replace “alignments” with “nucleotide sequence
> alignments” or something to that effect?

I agree.  See attached patch.

>From c4cae6d77e00491cfd78fe03da8ab617bc1732f2 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Thu, 11 Dec 2014 15:48:22 +0100
Subject: [PATCH] gnu: Add samtools

* gnu/packages/bioinformatics.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
---
 gnu-system.am                   |  1 +
 gnu/packages/bioinformatics.scm | 84 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)
 create mode 100644 gnu/packages/bioinformatics.scm

diff --git a/gnu-system.am b/gnu-system.am
index e923340..d4d0b51 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -45,6 +45,7 @@ GNU_SYSTEM_MODULES =                          \
   gnu/packages/base.scm                                \
   gnu/packages/bash.scm                                \
   gnu/packages/bdw-gc.scm                      \
+  gnu/packages/bioinformatics.scm              \
   gnu/packages/bittorrent.scm                  \
   gnu/packages/bison.scm                       \
   gnu/packages/boost.scm                       \
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
new file mode 100644
index 0000000..6f6178a
--- /dev/null
+++ b/gnu/packages/bioinformatics.scm
@@ -0,0 +1,84 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Ricardo Wurmus <address@hidden>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages bioinformatics)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python))
+
+(define-public samtools
+  (package
+    (name "samtools")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/samtools/"
+                       version "/samtools-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1y5p2hs4gif891b4ik20275a8xf3qrr1zh9wpysp4g8m0g1jckf2"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (alist-cons-after
+        'unpack
+        'patch-makefile-curses
+        (lambda _
+          (substitute* "Makefile"
+            (("-lcurses") "-lncurses")))
+        (alist-cons-after
+         'unpack
+         'patch-tests
+         (lambda* (#:key inputs #:allow-other-keys)
+           (let ((bash (assoc-ref inputs "bash")))
+             (substitute* "test/test.pl"
+               ;; The test script calls out to /bin/bash
+               (("/bin/bash")
+                (string-append bash "/bin/bash"))
+               ;; There are two failing tests upstream relating to the "stats"
+               ;; subcommand in test_usage_subcommand ("did not have Usage"
+               ;; and "usage did not mention samtools stats"), so we disable
+               ;; them.
+               (("(test_usage_subcommand\\(.*\\);)" cmd)
+                (string-append "unless ($subcommand eq 'stats') {" cmd 
"};")))))
+         (alist-delete
+          'configure
+          %standard-phases)))))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("ncurses" ,ncurses)
+              ("perl" ,perl)
+              ("python" ,python)
+              ("zlib" ,zlib)))
+    (home-page "http://samtools.sourceforge.net";)
+    (synopsis "Utilities to efficiently manipulate nucleotide sequence 
alignments")
+    (description
+     "Samtools implements various utilities for post-processing nucleotide
+sequence alignments in the SAM, BAM, and CRAM formats, including indexing,
+variant calling (in conjunction with bcftools), and a simple alignment
+viewer.")
+    (license license:expat)))
-- 
1.9.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]