From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: Re: [PATCH] gnu: Add bioawk. Date: Fri, 11 Mar 2016 00:00:11 +0100 Message-ID: <87mvq6j5vz.fsf@gnu.org> References: <87d1r4eno9.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38330) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ae9Z3-0006Cy-2U for guix-devel@gnu.org; Thu, 10 Mar 2016 18:00:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ae9Z0-0005e3-Ts for guix-devel@gnu.org; Thu, 10 Mar 2016 18:00:16 -0500 In-reply-to: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: guix-devel@gnu.org --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-bioawk.patch >From ec580c06e33de844f6f6cb7c4fc3b44691e141fd Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 10 Mar 2016 23:54:31 +0100 Subject: [PATCH] gnu: Add bioawk. * gnu/packages/bioinformatics.scm (bioawk): New variable. --- gnu/packages/bioinformatics.scm | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5d53dc9..d15e99d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages algebra) #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages cpio) @@ -247,6 +248,47 @@ intervals from multiple files in widely-used genomic file formats such as BAM, BED, GFF/GTF, VCF.") (license license:gpl2))) +(define-public bioawk + (package + (name "bioawk") + (version "1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/lh3/bioawk/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1daizxsk17ahi9n58fj8vpgwyhzrzh54bzqhanjanp88kgrz7gjw")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib))) + (native-inputs + `(("bison" ,bison))) + (arguments + `(#:tests? #f ; There are no tests to run. + ;; Bison must generate files, before other targets can build. + #:parallel-build? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) ; There is no configure phase. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man1"))) + (mkdir-p man) + (copy-file "awk.1" (string-append man "/bioawk.1")) + (install-file "bioawk" bin))))))) + (home-page "https://github.com/lh3/bioawk") + (synopsis "AWK with bioinformatics extensions") + (description "Bioawk is an extension to Brian Kernighan's awk, adding the +support of several common biological data formats, including optionally gzip'ed +BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names. It +also adds a few built-in functions and a command line option to use TAB as the +input/output delimiter. When the new functionality is not used, bioawk is +intended to behave exactly the same as the original BWK awk.") + (license license:x11))) + (define-public python2-pybedtools (package (name "python2-pybedtools") -- 2.5.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Dear Leo and Ricardo, Thank you for reviewing this patch. I hope it is fine now. Leo Famulari writes: > On Tue, Mar 08, 2016 at 09:10:14PM +0100, Roel Janssen wrote: >> From 990eda92a62dc25d0f5792437a82e119c5e3579f Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> Date: Tue, 8 Mar 2016 21:06:53 +0100 >> Subject: [PATCH] gnu: Add bioawk. >> >> * gnu/packages/bioinformatics.scm (bioawk): New variable. > > Thanks for the patch! > > [...] > >> + (propagated-inputs >> + `(("zlib" ,zlib))) > > I changed this to a plain input, and then checked the references of the > resulting build, and zlib is referenced. Considering that, does it need > to be propagated into the user's profile? Propagated inputs should be > avoided if possible. You're right. I simply get confused about inputs, native-inputs and propagated-inputs. I made it an input in my new patch. >> + (native-inputs >> + `(("bison" ,bison))) >> + (arguments >> + `(#:parallel-build? #f >> + #:phases >> + (modify-phases %standard-phases >> + (delete 'configure) >> + (delete 'check) > > Can you say why tests are disabled? It can be as simple as "no test > suite" if that is accurate. Sure. >> + (replace >> + 'install >> + (lambda* (#:key outputs #:allow-other-keys) >> + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) >> + (install-file "bioawk" bin))))))) > > The git repo includes a manpage 'awk.1'. Can you send an updated patch > that installs that as well? I added it as bioawk.1 instead, to avoid confusion with awk. Good catch! Ricardo Wurmus writes: > Roel Janssen writes: > >> Please let me know when something is wrong with the patch. > > In addition to Leo’s comments here are mine: > >> + (arguments >> + `(#:parallel-build? #f > > Why is parallel-build disabled? Could you add a comment? Sure. >> + #:phases >> + (modify-phases %standard-phases >> + (delete 'configure) >> + (delete 'check) > > We usually just do “#:tests? #f” with a comment, instead of deleting the > “check” phase. Sorry for the redundancy. I submitted two patches before receiving comments about this. Fixed in my new patch, and I'll apply this in future patches as well. >> + (replace >> + 'install > > Please put “'install” on the same line as “(replace”. Should I do this for other (replace ...) as well? If I want to replace the build phase, should I put it on the same line as well? >> + (lambda* (#:key outputs #:allow-other-keys) >> + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) >> + (install-file "bioawk" bin))))))) >> + (home-page "https://github.com/lh3/bioawk") >> + (synopsis "AWK with bioinformatics extensions") >> + (description "Bioawk is an extension to Brian Kernighan's awk, adding the >> +support of several common biological data formats, including optionally gzip'ed >> +BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names. It >> +also adds a few built-in functions and an command line option to use TAB as the > > “a command-line option”, not “an” Good catch! Fixed in my new patch. Kind regards, Roel Janssen --=-=-=--