Subject: [bug#47930] [PATCH] gnu: Add pbgzip.

From: Efraim Flashner <[email-masked]>
Date: Fri, 30 Apr 2021 14:53:41 +0300

On Fri, Apr 30, 2021 at 01:48:48PM +0200, Roel Janssen wrote:
> On Fri, 2021-04-30 at 10:30 +0200, Xinglu Chen wrote:
> > On Thu, Apr 29 2021, Roel Janssen wrote:
> > 
> > > +(define-public pbgzip
> > > +  (let ((commit "2b09f97b5f20b6d83c63a5c6b408d152e3982974"))
> > > +    (package
> > > +      (name "pbgzip")
> > > +      (version (string-take commit 7))
> > 
> > Maybe you missed my previous suggestions?
> > 
> >   https://issues.guix.gnu.org/47930#2
> > 
> 
> I'm sorry, I forgot to adapt.
> >   
> > > +      (source (origin
> > > +                (method git-fetch)
> > > +                (uri (git-reference
> > > +                      (url "https://github.com/nh13/pbgzip")
> > > +                      (commit commit)))
> > > +                (file-name (string-append name "-" version))
> > > +                (sha256
> > > +                 (base32
> > > +                 
> > > "1mlmq0v96irbz71bgw5zcc43g1x32zwnxx21a5p1f1ch4cikw1yd"))))
> > > +      (build-system gnu-build-system)
> > > +      (native-inputs
> > > +       `(("autoconf" ,autoconf)
> > > +         ("automake" ,automake)))
> > > +      (inputs
> > > +       `(("zlib" ,zlib)))
> > > +      (home-page "https://github.com/nh13/pbgzip")
> > > +      (synopsis "Parallel Block GZIP")
> > > +      (description "This package implements parallel block gzip. 
> > > For many
> > > +formats, in particular genomics data formats, data are compressed
> > > in
> > > +fixed-length blocks such that they can be easily indexed based on
> > > a (genomic)
> > > +coordinate order, since typically each block is sorted according
> > > to this order.
> > > +This allows for each block to be individually compressed
> > > (deflated), or more
> > > +importantly, decompressed (inflated), with the latter enabling
> > > random retrieval
> > > +of data in large files (gigabytes to terabytes).  @code{pbgzip} is
> > > not limited
> > > +to any particular format, but certain features are tailored to
> > > genomics data
> > > +formats when enabled.  Parallel decompression is somewhat faster,
> > > but truly the
> >                                                                     
> > ^^^^^^^^^^^^^
> > > +speedup comes during compression.")
> >    ^^^^^^^
> > 
> > “but the true speedup” instead?
> 
> Sure. I usually don't change descriptions as given by the creators of
> the software, but I applied your suggestion.
> 
> Thank you for the elaborate suggestions!
> 
> I attached another version of the patch, which I hope is fine now. :)
> 
> Kind regards,
> Roel Janssen
> 
> 

> From 1af29f66980ba19740e05a27135f141e23b7fd3f Mon Sep 17 00:00:00 2001
> From: Roel Janssen <[email-masked]>
> Date: Fri, 30 Apr 2021 13:47:43 +0200
> Subject: [PATCH] gnu: Add pbgzip.
> 
> * gnu/packages/bioinformatics.scm (pbgzip): New variable.
> ---
>  gnu/packages/bioinformatics.scm | 36 ++++++++++++++++++++++++++++++++-
>  1 file changed, 35 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
> index 83ebfc2d8f..cd2dae05d5 100644
> --- a/gnu/packages/bioinformatics.scm
> +++ b/gnu/packages/bioinformatics.scm
> @@ -3,7 +3,7 @@
>  ;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <[email-masked]>
>  ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <[email-masked]>
>  ;;; Copyright © 2015 Andreas Enge <[email-masked]>
> -;;; Copyright © 2016, 2020 Roel Janssen <[email-masked]>
> +;;; Copyright © 2016, 2020, 2021 Roel Janssen <[email-masked]>
>  ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <[email-masked]>
>  ;;; Copyright © 2016, 2020 Marius Bakke <[email-masked]>
>  ;;; Copyright © 2016, 2018 Raoul Bonnal <[email-masked]>
> @@ -571,6 +571,40 @@ input and output BAMs must adhere to the PacBio BAM format specification.
>  Non-PacBio BAMs will cause exceptions to be thrown.")
>      (license license:bsd-3)))
>  
> +(define-public pbgzip
> +  (let ((commit "2b09f97b5f20b6d83c63a5c6b408d152e3982974"))
> +    (package
> +      (name "pbgzip")
> +      (version (git-version "0.0.0" "0" commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/nh13/pbgzip")
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1mlmq0v96irbz71bgw5zcc43g1x32zwnxx21a5p1f1ch4cikw1yd"))))
> +      (build-system gnu-build-system)
> +      (native-inputs
> +       `(("autoconf" ,autoconf)
> +         ("automake" ,automake)))
> +      (inputs
> +       `(("zlib" ,zlib)))
> +      (home-page "https://github.com/nh13/pbgzip")
> +      (synopsis "Parallel Block GZIP")
> +      (description "This package implements parallel block gzip.  For many
> +formats, in particular genomics data formats, data are compressed in

I wasn't sure about 'data are' vs 'data is' but I think data here is
plural, so 'data are' should be right.

> +fixed-length blocks such that they can be easily indexed based on a (genomic)
> +coordinate order, since typically each block is sorted according to this order.
> +This allows for each block to be individually compressed (deflated), or more
> +importantly, decompressed (inflated), with the latter enabling random retrieval
> +of data in large files (gigabytes to terabytes).  @code{pbgzip} is not limited
> +to any particular format, but certain features are tailored to genomics data
> +formats when enabled.  Parallel decompression is somewhat faster, but the true
> +speedup comes during compression.")
> +      (license license:expat))))
> +
>  (define-public blasr-libcpp
>    (package
>      (name "blasr-libcpp")
> -- 
> 2.31.1
> 

Looks good to me!

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted