about summary refs log tree commit diff
path: root/gn/packages/bioinformatics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/bioinformatics.scm')
-rw-r--r--gn/packages/bioinformatics.scm107
1 files changed, 103 insertions, 4 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 4a85cff..fb2ee18 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -41,9 +41,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages cran)
-  #:use-module (gnu packages crates-compression)
-  #:use-module (gnu packages crates-io)
-  #:use-module (gnu packages crates-graphics)
+  #:use-module (past-crates packages crates-io)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
@@ -74,13 +72,16 @@
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
+  #:use-module (gnu packages python-compression)
   #:use-module (gnu packages python-science)
   #:use-module (gnu packages python-web)
-  #:use-module ((gnu packages python-xyz) #:hide (python2-six))
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages ruby-xyz)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
@@ -2980,6 +2981,76 @@ to the user.")
                  "http://www.kentinformatics.com/index.html"
                  "Free for universities and non-profit institutions.")))))
 
+(define htslib-1.14
+  (package/inherit htslib
+    (version "1.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/samtools/htslib/releases/download/"
+                    version "/htslib-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0pwk8yhhvb85mi1d2qhwsb4samc3rmbcrq7b1s0jz0glaa7in8pd"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments htslib)
+       ((#:configure-flags cf #~'())
+        #~(delete "--with-external-htscodecs" #$cf))))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs htslib)
+       (delete "htscodecs")))))
+
+(define-public pbbam
+  (package
+    (name "pbbam")
+    (version "2.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/PacificBiosciences/pbbam")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1iyazi3l7dswpfxh39k5j7ydi0ywja0579xz3r6l9kkwz2n1z6dc"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-tests
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Disable this test.  I tried fixing it by including
+             ;; optional_io.hpp, but there's a type error.
+             (substitute* "tests/src/meson.build"
+               (("'test_ReadGroupInfo.cpp',") ""))
+             #;
+             (substitute* "include/pbbam/ReadGroupInfo.h"
+               (("#include <boost/optional.hpp>" m)
+                (string-append m "\n#include <boost/optional/optional_io.hpp>")))
+             (substitute* '("tests/scripts/cram/_test.py"
+                            "tests/scripts/cram/_main.py")
+               (("'/bin/sh'")
+                (string-append "'" (which "sh") "'"))))))))
+    ;; These libraries are listed as "Required" in the pkg-config file.
+    (propagated-inputs
+     (list htslib-1.14 pbcopper zlib))
+    (inputs
+     (list boost samtools))
+    (native-inputs
+     (list googletest
+           pkg-config
+           python-wrapper)) ;for tests
+    (home-page "https://github.com/PacificBiosciences/pbbam")
+    (synopsis "Work with PacBio BAM files")
+    (description
+     "The pbbam software package provides components to create, query, and
+edit PacBio BAM files and associated indices.  These components include a core
+C++ library, bindings for additional languages, and command-line utilities.
+This library is not intended to be used as a general-purpose BAM utility - all
+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 bam2fastx
   (package
     (name "bam2fastx")
@@ -4502,6 +4573,8 @@ automatically vectorize for different architectures without adapting the code.")
         (base32
          "1vhqy8licl2pkzar4aag0q5fhnb3fdch8acyjh9445ia42z01z9c"))))
     (build-system r-build-system)
+    (arguments
+     (list #:tests? #f))  ;; tests fail and seem to require data
     (propagated-inputs
      (list r-rcpp
 	   r-rcpparmadillo))
@@ -4600,6 +4673,32 @@ interface to the basic htslib.  It can be easily included in a C++
 program for scripting high-performance genomic analyses.")
     (license license:asl2.0)))
 
+(define-public r-genio
+  (package
+    (name "r-genio")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "genio" version))
+       (sha256
+        (base32 "0izx8yv8mvnfxdqnqpnp2ldw1hzs6ggxi7jgmjlgxkgmm4vngbgl"))))
+    (properties `((upstream-name . "genio")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-dplyr r-rcpp r-readr r-tibble))
+    (native-inputs (list r-knitr r-testthat))
+    (home-page "https://github.com/OchoaLab/genio")
+    (synopsis "Genetics Input/Output Functions")
+    (description "@code{r-genio} implements readers and writers for file formats
+associated with genetics data.  Reading and writing Plink BED/BIM/FAM
+and GCTA binary GRM formats is fully supported, including a
+lightning-fast BED reader and writer implementations.  Other functions
+are readr wrappers that are more constrained, user-friendly, and
+efficient for these particular applications; handles Plink and
+Eigenstrat tables (FAM, BIM, IND, and SNP files).  There are also make
+functions for FAM and BIM tables with default values to go with
+simulated genotype data.")
+    (license license:gpl3)))
 
 (define-public r-stitch
   (package