about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMuriithi Frederick Muriuki2017-01-25 13:46:47 +0300
committerMuriithi Frederick Muriuki2017-01-25 13:46:47 +0300
commit6d6dad1be767c46bb5be805eaa1f09e42d029e07 (patch)
treec00b5e4542f6138c90fb2995577c430b45cbfdc5
parent55b43eb79fca5b83d4adfab9b1fbdf309bbf72db (diff)
parent77990bdcb4a85ed044dd5dd9bf49f2515b9ce742 (diff)
downloadguix-bioinformatics-6d6dad1be767c46bb5be805eaa1f09e42d029e07.tar.gz
Merge branch 'master' of https://github.com/genenetwork/guix-bioinformatics
Conflicts:
	gn/packages/ldc.scm
-rw-r--r--gn/packages/bioinformatics.scm92
-rw-r--r--gn/packages/genenetwork.scm36
-rw-r--r--gn/packages/ldc.scm326
-rw-r--r--gn/packages/llvm.scm65
-rw-r--r--gn/packages/pocl.scm328
-rw-r--r--gn/packages/python.scm2
-rw-r--r--gn/packages/statistics.scm28
7 files changed, 206 insertions, 671 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index f62949d..e16c28e 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -37,7 +37,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
-  #:use-module (gnu packages ldc)
+  #:use-module (gn packages ldc)
   #:use-module (gnu packages machine-learning)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -772,41 +772,6 @@ to sample traits.  Also includes a number of utility functions for
 data manipulation and visualization.")
   (license license:gpl2+))))
 
-(define-public qtlreaper
-  (package
-    (name "qtlreaper")
-    (version "1.1.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "mirror://sourceforge/qtlreaper/qtlreaper-" version ".tar.gz"
-             ;; "http://downloads.sourceforge.net/project/qtlreaper/qtlreaper/1.1.1/qtlreaper-1.1.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fqtlreaper%2Ffiles%2Flatest%2Fdownload&ts=1358975786&use_mirror=iweb"))
-             ))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0rbf030940nbbbkggdq2dxiy3c0jv8l4y3vvyfxhqimgj0qv3l1x"))))
-    (build-system python-build-system)
-    ;; (native-inputs
-    ;; `(("python-setuptools" ,python-setuptools)))
-    (arguments
-     `(#:python ,python-2
-       #:tests? #f))   ; no 'setup.py test'
-    (home-page "http://qtlreaper.sourceforge.net/")
-    (synopsis "Tool for scanning expression data for QTLs")
-    (description
-     "It is essentially the batch-oriented version of WebQTL. It
-requires, as input, expression data from members of a set of
-recombinant inbred lines and genotype information for the same
-lines.  It searches for an association between each expression trait
-and all genotypes and evaluates that association by a permutation
-test.  For the permutation test, it performs only as many permutations
-as are necessary to define the empirical P-value to a reasonable
-precision. It also performs bootstrap resampling to estimate the
-confidence region for the location of a putative QTL.")
-    (license license:gpl2+)))
-
 (define-public plink2
   (package
     (name "plink2")
@@ -956,44 +921,38 @@ association studies (GWAS).")
     (license license:gpl3))))
 
 (define-public sambamba
-  (let ((commit "c810c7ef14957f16288c205fd7b9d25c4ae7005d"))
-  ;;(let ((commit "2ca5a2dbac5ab90c3b4c588519edc3edcb71df84"))
+  (let ((commit "5a33d571339c966477c1f70ed08f64051f7b41c1"))
     (package
       (name "sambamba")
-      (version (string-append "0.5.9-1." (string-take commit 7)))
+      (version (string-append "0.6.5-" (string-take commit 7)))
       (source (origin
         (method git-fetch)
         (uri (git-reference
-              (url "https://github.com/roelj/sambamba.git")
-              ;;(url "https://github.com/pjotrp/sambamba.git")
+              (url "https://github.com/pjotrp/sambamba.git")
               (commit commit)))
         (file-name (string-append name "-" version "-checkout"))
         (sha256
          (base32
-          "0c4c13f021sl7mf5xc2v8dbwsz775n8dlsrrn7qa6qgbx05n54dv"))))
-          ;;"1f14wn9aaxwjkmla6pzq3s28741carbr2v0fd2v2mm1dcpwnrqz5"))))
+          "05nlhwjw17igcwiz4pq0r4f8flrqcy4065fhx4nhpc0g65p70mi5"))))
       (build-system gnu-build-system)
+      (outputs '("out"
+                 "debug"))  ;retain debug symbols - note that -O2 is used
       (native-inputs
        `(("ldc" ,ldc)
-         ;;("lz4" ,lz4)
-         ("rdmd" ,rdmd)
+         ("lz4" ,lz4)
+         ("coreutils" ,coreutils) ; for env
          ("zlib" ,zlib)
          ("perl" ,perl) ; Needed for htslib
          ("ruby" ,ruby) ; Needed for htslib
-         ("python" ,python) ; Needed for htslib
+         ("python" ,python-2) ; Needed for htslib
          ("gcc" ,gcc)
-         ("lz4-src"
-          ,(origin
-             (method url-fetch)
-             (uri "https://github.com/Cyan4973/lz4/archive/160661c7a4cbf805f4af74d2e3932a17a66e6ce7.tar.gz")
-             (sha256
-              (base32 "131nnbsd5dh7c8sdqzc9kawh3mi0qi4qxznv7zhzfszlx4g2fd20"))))
+         ("which" ,which)
          ("htslib-src"
           ,(origin
              (method url-fetch)
              (uri "https://github.com/lomereiter/htslib/archive/2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5.tar.gz")
              ;;(uri "https://github.com/samtools/htslib/archive/1.3.tar.gz")
-             ;;(file-name "htslib-1.3.tar.gz")
+             (file-name "htslib-0.2.0-rc10-271-g2f3c3ea-dirty.tar.gz")
              (sha256
               (base32 "0bl6w856afnbgdsw8bybsxpqsyf2ba3f12rqh47hhpxvv866g08w"))))
               ;;(base32 "1bqkif7yrqmiqak5yb74kgpb2lsdlg7y344qa1xkdg7k1l4m86i9"))
@@ -1003,13 +962,12 @@ association studies (GWAS).")
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/biod/BioD.git")
-                   (commit "7efdb8a2f7fdcd71c9ad9596be48d1262bb1bd5b")))
-             (file-name "biod-src")
+                   (commit "1248586b54af4bd4dfb28ebfebfc6bf012e7a587")))
+             (file-name (string-append "biod-src-" (string-take commit 7) ".tar.gz"))
              (sha256
-              (base32 "09icc2bjsg9y4hxjim4ql275izadf0kh1nnmapg8manyz6bc8svf"))))))
+              (base32 "1m8hi1n7x0ri4l6s9i0x6jg4z4v94xrfdzp7mbizdipfag0m17g3"))))))
       (arguments
-       `(#:tests? #f
-         #:make-flags (list "-f" "Makefile.guix")
+       `(#:tests? #f  ; no tests available
          #:phases
          (modify-phases %standard-phases
            (delete 'configure)
@@ -1022,16 +980,13 @@ association studies (GWAS).")
                (and (with-directory-excursion "htslib"
                       (zero? (system* "tar" "xvf" (assoc-ref inputs "htslib-src")
                                       "--strip-components=1")))
-                    (with-directory-excursion "lz4"
-                      (zero? (system* "tar" "xvf" (assoc-ref inputs "lz4-src")
-                                      "--strip-components=1")))
                     (zero? (system* "rm" "-r" "BioD"))
                     (zero? (system* "ln" "--symbolic" "--no-target-directory"
                                     (assoc-ref inputs "biod-src") "BioD")))))
            (replace
             'build
             (lambda* (#:key inputs make-flags #:allow-other-keys)
-              (zero? (system* "make" "sambamba-ldmd2-64" "CC=gcc" "D_COMPILER=ldc2"
+              (zero? (system* "make" "-f" "Makefile.guix" "sambamba-ldmd2"
                        (string-append "LDC_LIB_PATH="
                                              (assoc-ref inputs "ldc")
                                              "/lib")))))
@@ -1041,16 +996,15 @@ association studies (GWAS).")
               (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
                 (install-file "build/sambamba" bin)))))))
       (home-page "https://github.com/lomereiter/sambamba")
-      (synopsis "A tool for working with SAM and BAM files written in D.")
+      (synopsis "Fast tool for working with SAM, BAM and CRAM files written in D.")
       (description
-       "Sambamba is a high performance modern robust and fast tool (and
-library), written in the D programming language, for working with SAM
-and BAM files.  Current parallelised functionality is an important
-subset of samtools functionality, including view, index, sort,
-markdup, and depth.")
+       "Sambamba is a high performance modern robust and fast
+tool (and library), written in the D programming language, for working
+with SAM, BAM and CRAM files.  Current parallelised functionality is
+an important subset of samtools functionality, including view, index,
+sort, markdup, and depth.")
       (license license:gpl2+))))
 
-
 (define-public vcflib
   (let ((commit "3ce827d8ebf89bb3bdc097ee0fe7f46f9f30d5fb"))
     (package
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index a7317c6..dfbba02 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -87,6 +87,41 @@
     (description #f)
     (license #f)))
 
+(define-public qtlreaper
+  (let ((commit "71fbbe2b35e4f54937be2d54d09fb71d25fe5fad"))
+  (package
+    (name "qtlreaper")
+    (version (string-append "1.1-gn2" (string-take commit 7) ))
+    (source (origin
+             (method git-fetch)
+             (uri (git-reference
+                   ;; (url "https://github.com/genenetwork/genenetwork2.git")
+                   (url "https://github.com/pjotrp/QTLreaper.git")
+                   (commit commit)))
+             (file-name (string-append name "-" (string-take commit 7)))
+             (sha256
+              (base32
+               "0g0v20lh7773cm2xdqz6xzwjw4130y265n79z5x20p5aja5y5kmg"))))
+    (build-system python-build-system)
+    ;; (native-inputs
+    ;; `(("python-setuptools" ,python-setuptools)))
+    (arguments
+     `(#:python ,python-2
+    ))
+    (home-page "http://qtlreaper.sourceforge.net/")
+    (synopsis "Tool for scanning expression data for QTLs")
+    (description
+     "Batch-oriented version of WebQTL. It requires, as input,
+expression data from members of a set of recombinant inbred lines and
+genotype information for the same lines.  It searches for an
+association between each expression trait and all genotypes and
+evaluates that association by a permutation test.  For the permutation
+test, it performs only as many permutations as are necessary to define
+the empirical P-value to a reasonable precision. It also performs
+bootstrap resampling to estimate the confidence region for the
+location of a putative QTL.")
+    (license license:gpl2+))))
+
 (define-public genenetwork1
   (let ((commit "d622c803b"))
   (package
@@ -157,6 +192,7 @@
     (propagated-inputs `(  ;; propagated for development purposes
               ("python" ,python-2) ;; probably superfluous
               ("r" ,r)
+              ("r-ctl" ,r-ctl)
               ("r-wgcna" ,r-wgcna)
               ("r-qtl" ,r-qtl)
               ("redis" ,redis)
diff --git a/gn/packages/ldc.scm b/gn/packages/ldc.scm
index 45ba1b4..7fa91b9 100644
--- a/gn/packages/ldc.scm
+++ b/gn/packages/ldc.scm
@@ -17,7 +17,7 @@
 ;;; 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 ldc)
+(define-module (gn packages ldc)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -27,152 +27,15 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module ((gnu packages ldc) #:prefix ldcmain:)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages zip))
 
-(define-public rdmd
-  (let ((commit "da0a2e0a379b08294015eec9d531f1e5dd4226f0"))
-    (package
-      (name "rdmd")
-      (version (string-append "v2.070.0-1." (string-take commit 7)))
-      (source (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/D-Programming-Language/tools.git")
-              (commit commit)))
-        (file-name (string-append name "-" version "-checkout"))
-        (sha256
-         (base32
-          "1pcx5lyqzrip86f4vv60x292rpvnwsq2hvl1znm9x9rn68f34m45"))))
-      (build-system gnu-build-system)
-      (arguments
-       '(#:phases
-         (modify-phases %standard-phases
-           (delete 'configure)
-           (delete 'check) ; There is no Makefile, so there's no 'make check'.
-           (replace
-            'build
-            (lambda _
-              (zero? (system* "ldc2" "rdmd.d"))))
-           (replace
-            'install
-            (lambda* (#:key outputs #:allow-other-keys)
-              (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
-                (install-file "rdmd" bin)))))))
-      (native-inputs
-       `(("ldc" ,ldc)))
-      (home-page "https://github.com/D-Programming-Language/tools/")
-      (synopsis "Specialized equivalent to 'make' for the D language")
-      (description
-       "rdmd is a companion to the dmd compiler that simplifies the typical
-edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle.  Like
-make and other tools, rdmd uses the relative dates of the files involved to
-minimize the amount of work necessary.  Unlike make, rdmd tracks dependencies
-and freshness without requiring additional information from the user.")
-      (license license:boost1.0))))
-
-(define-public ldc-0.16.1
-  (package
-    (name "ldc")
-    (version "0.16.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/ldc-developers/ldc/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"))))
-    (build-system cmake-build-system)
-    ;; LDC currently only supports the x86_64 and i686 architectures.
-    (supported-systems '("x86_64-linux" "i686-linux"))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'unpack-submodule-sources
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((unpack (lambda (source target)
-                             (with-directory-excursion target
-                               (zero? (system* "tar" "xvf"
-                                               (assoc-ref inputs source)
-                                               "--strip-components=1"))))))
-               (and (unpack "phobos-src" "runtime/phobos")
-                    (unpack "druntime-src" "runtime/druntime")
-                    (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
-         (add-after 'unpack-submodule-sources 'patch-dmd2
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "dmd2/root/port.c"
-               ((" ::isnan") " isnan")
-               ((" ::isinf") " isinf")
-               (("#undef isnan") "")
-               (("#undef isinf") ""))
-             #t))
-         (add-after 'unpack-submodule-sources 'patch-phobos
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "runtime/phobos/std/process.d"
-               (("/bin/sh") (which "sh"))
-               (("echo") (which "echo")))
-             (substitute* "runtime/phobos/std/datetime.d"
-               (("/usr/share/zoneinfo/")
-                (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
-             (substitute* "tests/d2/dmd-testsuite/Makefile"
-               (("/bin/bash") (which "bash")))
-             #t)))))
-    (inputs
-     `(("libconfig" ,libconfig)
-       ("libedit" ,libedit)
-       ("tzdata" ,tzdata)
-       ("zlib" ,zlib)))
-    (native-inputs
-     `(("llvm" ,llvm-3.7)
-       ("clang" ,clang-3.7)
-       ("unzip" ,unzip)
-       ("phobos-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/ldc-developers/phobos/archive/ldc-v"
-                 version ".tar.gz"))
-           (sha256
-            (base32
-             "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
-           (patches (search-patches "ldc-disable-tests.patch"))))
-       ("druntime-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/ldc-developers/druntime/archive/ldc-v"
-                 version ".tar.gz"))
-           (sha256
-            (base32
-             "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"))))
-       ("dmd-testsuite-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
-                 version ".tar.gz"))
-           (sha256
-            (base32
-             "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))))))
-    (home-page "http://wiki.dlang.org/LDC")
-    (synopsis "LLVM compiler for the D programming language")
-    (description
-     "LDC is a compiler for the D programming language.  It is based on the
-latest DMD frontend and uses LLVM as backend.")
-    ;; Most of the code is released under BSD-3, except for code originally
-    ;; written for GDC, which is released under GPLv2+, and the DMD frontend,
-    ;; which is released under the "Boost Software License version 1.0".
-    (license (list license:bsd-3
-                   license:gpl2+
-                   license:boost1.0))))
-
 (define-public ldc-0.17.2
   (package
-    (inherit ldc)
+    (inherit ldcmain:ldc)
     (name "ldc")
     (version "0.17.2")
     (source (origin
@@ -220,6 +83,7 @@ latest DMD frontend and uses LLVM as backend.")
     (native-inputs
      `(("llvm" ,llvm-3.7)
        ("clang" ,clang-3.7)
+       ("zlib" ,zlib)
        ("unzip" ,unzip)
        ("phobos-src"
         ,(origin
@@ -227,6 +91,7 @@ latest DMD frontend and uses LLVM as backend.")
            (uri (string-append
                  "https://github.com/ldc-developers/phobos/archive/ldc-v"
                  version ".tar.gz"))
+           (file-name (string-append "ldc-phobos-" version ".tar.gz"))
            (sha256
             (base32
              "07hh3ic3r755mq9hn9gfr0wlc5y8cr91xz2ydb6gqy4zy8jgp5s9"))))
@@ -236,6 +101,7 @@ latest DMD frontend and uses LLVM as backend.")
            (uri (string-append
                  "https://github.com/ldc-developers/druntime/archive/ldc-v"
                  version ".tar.gz"))
+           (file-name (string-append "ldc-druntime-" version ".tar.gz"))
            (sha256
             (base32
              "1m1dhday9dl3s04njmd29z7ism2xn2ksb9qlrwzykdgz27b3dk6x"))))
@@ -245,78 +111,124 @@ latest DMD frontend and uses LLVM as backend.")
            (uri (string-append
                  "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
                  version ".tar.gz"))
+           (file-name (string-append "testsuite-" version ".tar.gz"))
            (sha256
             (base32
              "0n7gvalxwfmia4gag53r9qhcnk2cqrw3n4icj1yri0zkgc27pm60"))))))))
 
-(define-public ldc-1.1.0-beta4
-  (package
-    (inherit ldc)
-    (name "ldc")
-    (version "1.1.0-beta4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/ldc-developers/ldc/archive/v"
+(define-public ldc-1.1.0-beta6
+  (let ((version2 "1.1.0-beta4")) ; libraries have not been updated
+    (package
+      (inherit ldcmain:ldc)
+      (name "ldc")
+      (version "1.1.0-beta6")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append
+                      "https://github.com/ldc-developers/ldc/archive/v"
+                      version ".tar.gz"))
+                (file-name (string-append name "-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0n53brlkm86jjkppy9xmzx7nyxykzj68kcxgv8q7d10s5hfscxs8"))))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'unpack-submodule-sources
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((unpack (lambda (source target)
+                               (with-directory-excursion target
+                                 (zero? (system* "tar" "xvf"
+                                                 (assoc-ref inputs source)
+                                                 "--strip-components=1"))))))
+                 (and (unpack "phobos-src" "runtime/phobos")
+                      (unpack "druntime-src" "runtime/druntime")
+                      (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
+           (add-after 'unpack-submodule-sources 'patch-phobos
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "runtime/phobos/std/process.d"
+                 (("/bin/sh") (which "sh"))
+                 (("echo") (which "echo")))
+               (substitute* "runtime/phobos/std/datetime.d"
+                 (("/usr/share/zoneinfo/")
+                  (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
+               (substitute* "tests/d2/dmd-testsuite/Makefile"
+                 (("/bin/bash") (which "bash")))
+               #t)))
+         #:tests? #f))
+      (native-inputs
+       `(("llvm" ,llvm-3.7)
+         ("ldc" ,ldc-0.17.2)
+         ("zlib" ,zlib)
+         ("phobos-src"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://github.com/ldc-developers/phobos/archive/ldc-v"
+                   version2 ".tar.gz")) ; older version
+             (file-name (string-append "ldc-phobos-" version2 ".tar.gz"))
+             (sha256
+              (base32
+               "1iwy5rs0rqkicj1zfsa5yqvk8ard99bfr8g69qmhlbzb98q0kpks"))))
+         ("druntime-src"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://github.com/ldc-developers/druntime/archive/ldc-v"
+                   version2 ".tar.gz"))
+             (file-name (string-append "ldc-druntime-" version2 ".tar.gz"))
+             (sha256
+              (base32
+               "1qsiw5lz1pr8ms9myjf8b94nqi7f1781k226jvxwnhkjg11d0s63"))))
+         ("dmd-testsuite-src"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
+                   version2 ".tar.gz")) ; version is behind
+             (file-name (string-append "dmd-testsuite-" version2 ".tar.gz"))
+             (sha256
+              (base32
+               "0jp54hyi75i9g41rvgmm3zg21yzv57q8dghrhb432rb0n9j15mbp")))))))))
+
+(define-public ldc ldc-1.1.0-beta6)
+
+(define-public rdmd
+    (package
+      (name "rdmd")
+      (version "v2.072.1") ;; remove v when putting in mainline
+      (source (origin
+                (method url-fetch)
+                (uri (string-append
+                    "https://github.com/dlang/tools/archive/"
                     version ".tar.gz"))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "04n6sbz6l658s32f7zilpbi9m8a1m4g5wrgl44igkvla30niy5yn"))))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'unpack-submodule-sources
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((unpack (lambda (source target)
-                             (with-directory-excursion target
-                               (zero? (system* "tar" "xvf"
-                                               (assoc-ref inputs source)
-                                               "--strip-components=1"))))))
-               (and (unpack "phobos-src" "runtime/phobos")
-                    (unpack "druntime-src" "runtime/druntime")
-                    (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
-         (add-after 'unpack-submodule-sources 'patch-phobos
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "runtime/phobos/std/process.d"
-               (("/bin/sh") (which "sh"))
-               (("echo") (which "echo")))
-             (substitute* "runtime/phobos/std/datetime.d"
-               (("/usr/share/zoneinfo/")
-                (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
-             (substitute* "tests/d2/dmd-testsuite/Makefile"
-               (("/bin/bash") (which "bash")))
-             #t)))
-       #:tests? #f))
-    (native-inputs
-     `(("llvm" ,llvm-3.7)
-       ("ldc" ,ldc-0.17.2)
-       ("phobos-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/ldc-developers/phobos/archive/ldc-v"
-                 version ".tar.gz"))
-           (sha256
-            (base32
-             "1iwy5rs0rqkicj1zfsa5yqvk8ard99bfr8g69qmhlbzb98q0kpks"))))
-       ("druntime-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/ldc-developers/druntime/archive/ldc-v"
-                 version ".tar.gz"))
-           (sha256
-            (base32
-             "1qsiw5lz1pr8ms9myjf8b94nqi7f1781k226jvxwnhkjg11d0s63"))))
-       ("dmd-testsuite-src"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
-                 version ".tar.gz"))
-           (sha256
-            (base32
-             "0jp54hyi75i9g41rvgmm3zg21yzv57q8dghrhb432rb0n9j15mbp"))))))))
-
-(define-public ldc ldc-1.1.0-beta4)
+                "0ryn4fv1mj8c8d7y4lrr43baahl3z7sk5bryj9kd829paz573va6"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'check) ; There is no Makefile, so there's no 'make check'.
+           (replace
+            'build
+            (lambda _
+              (zero? (system* "ldc2" "rdmd.d"))))
+           (replace
+            'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+                (install-file "rdmd" bin)))))))
+      (native-inputs
+       `(("ldc" ,ldc)))
+      (home-page "https://github.com/D-Programming-Language/tools/")
+      (synopsis "Specialized equivalent to 'make' for the D language")
+      (description
+       "rdmd is a companion to the dmd compiler that simplifies the typical
+edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle.  Like
+make and other tools, rdmd uses the relative dates of the files involved to
+minimize the amount of work necessary.  Unlike make, rdmd tracks dependencies
+and freshness without requiring additional information from the user.")
+      (license license:boost1.0)))
diff --git a/gn/packages/llvm.scm b/gn/packages/llvm.scm
deleted file mode 100644
index 607f7c2..0000000
--- a/gn/packages/llvm.scm
+++ /dev/null
@@ -1,65 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
-;;;
-;;; 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 (gn packages llvm)
-  #:use-module (guix packages)
-  #:use-module (guix licenses)
-  #:use-module (guix download)
-  #:use-module (guix utils)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix build-system cmake)
-  #:use-module (gnu packages)
-  #:use-module (gnu packages gcc)
-  #:use-module (gnu packages bootstrap)           ;glibc-dynamic-linker
-  #:use-module (gnu packages perl)
-  #:use-module (gnu packages python)
-  #:use-module (gnu packages xml))
-
-
-(define-public llvm
-(package
-    (name "llvm")
-    (version "3.7.1")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "http://llvm.org/releases/"
-                          version "/llvm-" version ".src.tar.xz"))
-      (sha256
-       (base32
-        "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy"))))
-    (build-system cmake-build-system)
-    (native-inputs
-     `(("python" ,python-wrapper)
-       ("perl"   ,perl)))
-    (arguments
-     `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
-                           "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE")))
-    (home-page "http://www.llvm.org")
-    (synopsis "Optimizing compiler infrastructure")
-    (description
-     "LLVM is a compiler infrastructure designed for compile-time, link-time,
-runtime, and idle-time optimization of programs from arbitrary programming
-languages.  It currently supports compilation of C and C++ programs, using
-front-ends derived from GCC 4.0.1.  A new front-end for the C family of
-languages is in development.  The compiler infrastructure includes mirror sets
-of programming tools as well as libraries with equivalent functionality.")
-    (license ncsa)))
diff --git a/gn/packages/pocl.scm b/gn/packages/pocl.scm
deleted file mode 100644
index 7d61526..0000000
--- a/gn/packages/pocl.scm
+++ /dev/null
@@ -1,328 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
-;;;
-;;; 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 (gn packages pocl)
-  #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix git-download)
-  #:use-module (guix download)
-  #:use-module (guix utils)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix build-system cmake)
-  #:use-module (guix packages)
-  #:use-module (gnu packages)
-  #:use-module (srfi srfi-1)
-  #:use-module (gnu packages algebra)
-  #:use-module (gnu packages autotools)
-  #:use-module (gnu packages curl)
-  #:use-module (gnu packages boost)
-  #:use-module (gnu packages bootstrap)
-  #:use-module (gnu packages base)
-  #:use-module (gnu packages gawk)
-  #:use-module (gnu packages cmake)
-  #:use-module (gnu packages gcc)
-  #:use-module (gnu packages glib)
-  #:use-module (gnu packages image)
-  #:use-module (gnu packages video)
-  #:use-module (gnu packages textutils)
-  #:use-module (gnu packages gl)
-  #:use-module (gnu packages llvm)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages maths)
-  #:use-module (gnu packages mpi)
-  #:use-module (gnu packages web)
-  #:use-module (gnu packages perl)
-  #:use-module (gnu packages python)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages xml)
-  #:use-module (gnu packages version-control)
-  #:use-module (gnu packages ruby)
-  #:use-module (gnu packages gnupg)
-  #:use-module ((gnu packages zip) #:prefix gnuzip:)
-  #:use-module (gnu packages linux))
-
-(define-public pocl
-(let ((commit "7aefc52"))
-  (package
-    (name "pocl")
-    (version (string-append "v09rc-" commit ))
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-              (url "https://github.com/pocl/pocl.git")
-              (commit commit)))
-              (file-name (string-append name "-" commit))
-              (sha256
-               (base32
-                "03wbcxkx1w5kx0crangsnah0xq218bhb99vglmn00wcjhhw80qim"))))
-(native-inputs `(("autoconf" ,autoconf)
-                ("automake" ,automake)
-                ("libtool" ,libtool)
-                ("cmake" ,cmake)
-                ("pkg-config" ,pkg-config)))
-(inputs        `(("python" ,python-2)
-               ("boost" ,boost)
-               ("dbus" ,dbus)
-               ("clang" ,clang-3.7.1)
-               ("clang-runtime" ,clang-runtime-3.7.1)
-               ("enca" ,enca)
-               ("eudev" ,eudev)
-               ("fftw-openmpi" ,fftw-openmpi)
-               ("glew" ,glew)
-               ("hwloc" ,hwloc)
-               ("libcap" ,libcap)
-               ("libjpeg" ,libjpeg)
-               ("libltdl" ,libltdl)
-               ("libtiff" ,libtiff)
-               ("llvm" ,llvm-3.7.1)
-               ("ocl-icd" ,ocl-icd)
-               ("opencl-headers" ,opencl-headers)
-               ("mesa-utils" ,mesa-utils)
-               ("openmpi" ,openmpi)
-               ("perl" ,perl)
-               ("randrproto" ,randrproto)
-               ("libxrandr" ,libxrandr)
-               ("xineramaproto" ,xineramaproto)
-               ("libxinerama" ,libxinerama)
-               ("libxcursor" ,libxcursor)
-               ("fftw-openmpi" ,fftw-openmpi)))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:configure-flags '("--enable-icd")
-     #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before
-          'configure 'rewrite-usr-bin
-          (lambda _
-                   (zero? (system* "./autogen.sh")))))))                
-    (synopsis "pocl: Portable Computing Language (pocl) aims to become a MIT-licensed
-     open source implementation of the OpenCL standard which can be easily adapted for
-     new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.")
-    (description "Portable Computing Language (pocl) aims to become a MIT-licensed
-     open source implementation of the OpenCL standard which can be easily adapted for
-     new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.")
-    (home-page "http://portablecl.org/")
-    (license license:gpl2))))
-        
-(define-public ocl-icd
-  (package
-   (name "ocl-icd")
-   (version "2.2.9")
-   (source (origin
-             (method url-fetch)
-             (uri (string-append "https://forge.imag.fr/frs/download.php/716/ocl-icd-"
-                                 version ".tar.gz"))
-             (file-name (string-append name "-" version ".tar.gz"))
-             (sha256
-              (base32
-               "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc"))))
-    (inputs `(("zip" ,gnuzip:zip)
-             ("autoconf" ,autoconf)
-             ("automake" ,automake)
-             ("ruby" ,ruby)
-             ("libtool" ,libtool)
-             ("opencl-headers" ,opencl-headers)
-             ("libgcrypt" ,libgcrypt)))                                              
-    (build-system gnu-build-system)
-     (arguments
-     '(#:phases (modify-phases %standard-phases
-                    (add-after 'unpack `bootstrap
-                      (lambda _
-                        (zero? (system* "autoreconf" "-vfi")))))))    
-    (home-page "https://forge.imag.fr/projects/ocl-icd/")
-    (synopsis "OpenCL implementations are provided as ICD (Installable Client Driver).")
-    (description "OpenCL implementations are provided as ICD (Installable Client Driver).
-    An OpenCL program can use several ICD thanks to the use of an ICD Loader as provided by this project.
-    This free ICD Loader can load any (free or non free) ICD")
-    (license license:gpl2)))
-    
- (define-public opencl-headers
-(let ((commit "c1770dc"))
-  (package
-    (name "opencl-headers")
-    (version (string-append "2.1-" commit ))
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-              (url "https://github.com/KhronosGroup/OpenCL-Headers.git")
-              (commit commit)))
-              (file-name (string-append name "-" commit))
-              (sha256
-               (base32
-                "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck"))))
-    (propagated-inputs '())
-    (inputs '())
-    (native-inputs '())
-    (build-system gnu-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (delete 'build)
-         (delete 'check)
-         (replace 'install
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (copy-recursively "." (string-append
-                                                 (assoc-ref outputs "out")
-                                                 "/include/CL")))))))
-    (synopsis "The Khronos OpenCL headers")
-    (description "This package provides the Khronos OpenCL headers")
-    (home-page "https://www.khronos.org/registry/cl/")
-    (license license:gpl2))))
-    
-(define (clang-runtime-from-llvm llvm hash)
-  (package
-    (name "clang-runtime")
-    (version (package-version llvm-3.7.1))
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "http://llvm.org/releases/"
-                           version "/compiler-rt-" version ".src.tar.xz"))
-       (sha256 
-        (base32 
-        "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx"))))
-    (build-system cmake-build-system)
-    (native-inputs (package-native-inputs llvm))
-    (inputs
-     `(("llvm" ,llvm)))
-    (arguments
-     `(;; Don't use '-g' during the build to save space.
-       #:build-type "Release"))
-
-    (home-page "http://compiler-rt.llvm.org")
-    (synopsis "Runtime library for Clang/LLVM")
-    (description
-     "The \"clang-runtime\" library provides the implementations of run-time
-functions for C and C++ programs.  It also provides header files that allow C
-and C++ source code to interface with the \"sanitization\" passes of the clang
-compiler.  In LLVM this library is called \"compiler-rt\".")
-    (license license:ncsa)
-
-    ;; <http://compiler-rt.llvm.org/> doesn't list MIPS as supported.
-    (supported-systems (delete "mips64el-linux" %supported-systems))))
-
-(define (clang-from-llvm llvm clang-runtime hash)
-  (package
-    (name "clang")
-    (version (package-version llvm-3.7.1))
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "http://llvm.org/releases/"
-                           version "/cfe-" version ".src.tar.xz"))
-       (sha256 
-        (base32 
-         "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn"))
-       (patches (list (search-patch "clang-libc-search-path.patch")))))
-    ;; Using cmake allows us to treat llvm as an external library.  There
-    ;; doesn't seem to be any way to do this with clang's autotools-based
-    ;; build system.
-    (build-system cmake-build-system)
-    (native-inputs (package-native-inputs llvm))
-    (inputs
-     `(("libxml2" ,libxml2)
-       ("libstdc++-4.9", libstdc++-4.9)
-       ("python" ,python-2)
-       ("gcc-lib" ,gcc "lib")
-       ,@(package-inputs llvm)))
-    (propagated-inputs
-     `(("llvm" ,llvm)
-       ("clang-runtime" ,clang-runtime)))
-    (arguments
-     `(#:configure-flags
-       (list "-DCLANG_INCLUDE_TESTS=True"
-
-             ;; Find libgcc_s, crtbegin.o, and crtend.o.
-             (string-append "-DGCC_INSTALL_PREFIX="
-                            (assoc-ref %build-inputs "gcc-lib"))
-
-             ;; Use a sane default include directory.
-             (string-append "-DC_INCLUDE_DIRS="
-                            (assoc-ref %build-inputs "libc")
-                            "/include"))
-
-       ;; Don't use '-g' during the build to save space.
-       #:build-type "Release"
-
-       #:phases (modify-phases %standard-phases
-                  (add-after
-                   'unpack 'set-glibc-file-names
-                   (lambda* (#:key inputs #:allow-other-keys)
-                     (let ((libc (assoc-ref inputs "libc"))
-                           (compiler-rt (assoc-ref inputs "clang-runtime")))
-                       (substitute* "lib/Driver/Tools.cpp"
-                         ;; Patch the 'getLinuxDynamicLinker' function to that
-                         ;; it uses the right dynamic linker file name.
-                         (("/lib64/ld-linux-x86-64.so.2")
-                          (string-append libc
-                                         ,(glibc-dynamic-linker)))
-
-                         ;; Link to libclang_rt files from clang-runtime.
-                         (("TC\\.getDriver\\(\\)\\.ResourceDir")
-                          (string-append "\"" compiler-rt "\"")))
-
-                       ;; Same for libc's libdir, to allow crt1.o & co. to be
-                       ;; found.
-                       (substitute* "lib/Driver/ToolChains.cpp"
-                         (("@GLIBC_LIBDIR@")
-                          (string-append libc "/lib")))))))))
-
-    ;; Clang supports the same environment variables as GCC.
-    (native-search-paths
-     (list (search-path-specification
-            (variable "CPATH")
-            (files '("include")))
-           (search-path-specification
-            (variable "LIBRARY_PATH")
-            (files '("lib" "lib64")))))
-
-    (home-page "http://clang.llvm.org")
-    (synopsis "C language family frontend for LLVM")
-    (description
-     "Clang is a compiler front end for the C, C++, Objective-C and
-Objective-C++ programming languages.  It uses LLVM as its back end.  The Clang
-project includes the Clang front end, the Clang static analyzer, and several
-code analysis tools.")
-    (license license:ncsa)))
-         
-(define-public llvm-3.7.1
-  (package (inherit llvm)
-    (version "3.7.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "http://llvm.org/releases/"
-                           version "/llvm-" version ".src.tar.xz"))
-       (sha256
-        (base32
-         "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy"))))))
-
-(define-public clang-runtime-3.7.1
-  (clang-runtime-from-llvm
-   llvm-3.7.1
-   "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4"))
-
-(define-public clang-3.7.1
-  (clang-from-llvm llvm clang-runtime
-                   "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))
-
-
-
-    
-    
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index e4196cf..7dbd968 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -396,7 +396,7 @@ version ".tgz"))
     (native-inputs
      `(("python2-setuptools" ,python2-setuptools)))
     (propagated-inputs
-     `(("python2-pillow" ,python2-pillow)))
+     `(("python2-pil" ,python2-pil)))
     (arguments
      `(
        #:python ,python-2
diff --git a/gn/packages/statistics.scm b/gn/packages/statistics.scm
index dbe6b99..b83ccf2 100644
--- a/gn/packages/statistics.scm
+++ b/gn/packages/statistics.scm
@@ -14,6 +14,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bioinformatics)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpio)
@@ -333,7 +334,7 @@
              (uri (git-reference
                    (url "https://github.com/genenetwork/pylmm.git")
                    (commit commit)))
-             (file-name (string-append name "-" commit)) 
+             (file-name (string-append name "-" commit))
              (sha256
               (base32
                "0wryaadb36i275p9d2i1kzflahvbl9kj5wlk8jlbvjij8gpqg964"))))
@@ -362,3 +363,28 @@
     (description "Fast and lightweight linear mixed-model (LMM) solver
 for use in genome-wide association studies (GWAS).")
     (license license:agpl3+))))
+
+(define-public r-ctl
+ (package
+  (name "r-ctl")
+  (version "1.0.0-0")
+  (source
+   (origin
+    (method url-fetch)
+    (uri (string-append "mirror://cran/src/contrib/ctl_"
+                        version ".tar.gz"))
+    (sha256
+     (base32
+      "12hrrql9wz43s1d3sfyzlqzx7ajrl3hvf96776ik6icbm8by8h6j"))))
+  (build-system r-build-system)
+  (inputs `(
+            ("r-qtl" ,r-qtl)
+            ))
+  (home-page "https://github.com/DannyArends/CTLmapping")
+  (synopsis "R package for analysis of genetical genomic data to identify genetic loci associated with correlation changes in quantitative traits (CTL)")
+  (description "Analysis of experimental crosses to identify genetic
+markers associated with correlation changes in quantitative
+traits (CTL).  The additional correlation information obtained can be
+combined with QTL information to perform de novo reconstruction of
+interaction networks.")
+  (license license:gpl3)))