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

From: Roel Janssen <[email-masked]>
Date: Fri, 30 Apr 2021 13:48:48 +0200

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
+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