summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-05-23 16:32:21 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-05-23 16:32:21 +0200
commita9150d4c236f71aa74988360487d0e30e49c749a (patch)
tree83ed728082e0fda7a359984c8f8ff7113086f7b0
parentf918a296e829e5e85a49abda7d4e0205c31e2ff0 (diff)
downloadguix-a9150d4c236f71aa74988360487d0e30e49c749a.tar.gz
gnu: salmon: Update to 0.13.1.
* gnu/packages/bioinformatics.scm (salmon): Update to 0.13.1.
[arguments]: Adjust "do-not-look-for-boost" build phase; adjust
"prepare-rapmap" phase; adjust "use-system-libraries" phase.
[inputs]: Remove bwa, jellyfish, spdlog-for-salmon.
[native-inputs]: Add pkg-config.
(spdlog-for-salmon, bwa-for-salmon): Remove variables.
-rw-r--r--gnu/packages/bioinformatics.scm135
1 files changed, 29 insertions, 106 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index e3c24aeb57..0a30d0921f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -11783,80 +11783,19 @@ The following file formats are supported:
 @end enumerate\n")
     (license license:bsd-3)))
 
-(define spdlog-for-salmon
-  (package
-    (name "spdlog")
-    (version "0.14.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/COMBINE-lab/spdlog.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q"))))
-    (build-system cmake-build-system)
-    (home-page "https://github.com/COMBINE-lab/spdlog")
-    (synopsis "Very fast C++ logging library")
-    (description "Spdlog is a very fast header-only C++ logging library with
-performance as its primary goal.")
-    (license license:expat)))
-
-;; This is a modified variant of bwa for use with Salmon. It installs a
-;; library to avoid having to build this as part of Salmon.
-(define bwa-for-salmon
-  (package (inherit bwa)
-    (name "bwa")
-    (version "0.7.12.5")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/COMBINE-lab/bwa.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append "bwa-for-salmon-" version "-checkout"))
-              (sha256
-               (base32
-                "1z2qa64y0c5hky10510x137mnzlhz6k8qf27csw4w9j6qihq95gb"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:tests? #f ;no "check" target
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin"))
-                    (lib (string-append out "/lib"))
-                    (doc (string-append out "/share/doc/bwa"))
-                    (man (string-append out "/share/man/man1"))
-                    (inc (string-append out "/include/bwa")))
-               (install-file "bwa" bin)
-               (install-file "README.md" doc)
-               (install-file "bwa.1" man)
-               (install-file "libbwa.a" lib)
-               (mkdir-p lib)
-               (mkdir-p inc)
-               (for-each (lambda (file)
-                           (install-file file inc))
-                         (find-files "." "\\.h$")))
-             #t))
-         ;; no "configure" script
-         (delete 'configure))))))
-
 (define-public salmon
   (package
     (name "salmon")
-    (version "0.9.1")
+    (version "0.13.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/COMBINE-lab/salmon.git")
                     (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1zi1ff4i7y2ykk0vdzysgwzzzv166vg2x77pj1mf4baclavxj87a"))
+                "1i2z4aivicmiixdz9bxalp7vmfzi3k92fxa63iqa8kgvfw5a4aq5"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -11890,7 +11829,7 @@ performance as its primary goal.")
          (add-after 'unpack 'do-not-look-for-boost
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "CMakeLists.txt"
-               (("find_package\\(Boost 1\\.53\\.0") "#"))
+               (("find_package\\(Boost 1\\.59\\.0") "#"))
              #t))
          (add-after 'unpack 'do-not-phone-home
            (lambda _
@@ -11904,66 +11843,51 @@ performance as its primary goal.")
                    (rapmap (assoc-ref inputs "rapmap")))
                (mkdir-p src)
                (mkdir-p include)
-               (for-each (lambda (file)
-                           (install-file file src))
-                         (find-files (string-append rapmap "/src") "\\.(c|cpp)"))
+               (copy-recursively (string-append rapmap "/src") src)
                (copy-recursively (string-append rapmap "/include") include)
                (for-each delete-file '("external/install/include/rapmap/xxhash.h"
                                        "external/install/include/rapmap/FastxParser.hpp"
                                        "external/install/include/rapmap/concurrentqueue.h"
                                        "external/install/include/rapmap/FastxParserThreadUtils.hpp"
                                        "external/install/src/rapmap/FastxParser.cpp"
-                                       "external/install/src/rapmap/xxhash.c")))
+                                       "external/install/src/rapmap/xxhash.c"))
+               (delete-file-recursively "external/install/include/rapmap/spdlog"))
              #t))
          (add-after 'unpack 'use-system-libraries
            (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               ;; Don't prefer static libs
+               (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
+               (("set\\(TBB_LIBRARIES") "message(")
+               ;; Don't download anything
+               (("DOWNLOAD_COMMAND") "DOWNLOAD_COMMAND echo")
+               (("externalproject_add\\(libcereal") "message(")
+               (("externalproject_add\\(libgff") "message(")
+               (("externalproject_add\\(libtbb") "message(")
+               (("externalproject_add\\(libdivsufsort") "message(")
+               (("externalproject_add\\(libstadenio") "message(")
+               (("externalproject_add_step\\(") "message("))
              (substitute* "src/CMakeLists.txt"
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
-                (string-append (assoc-ref inputs "jellyfish")
-                               "/include/jellyfish-" ,(package-version jellyfish)))
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
-                (string-append (assoc-ref inputs "jellyfish")
-                               "/lib/libjellyfish-2.0.a"))
+               (("add_dependencies") "#")
+               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
+                (string-append (assoc-ref inputs "libstadenio-for-salmon")
+                               "/lib/libstaden-read.so"))
                (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
                 (string-append (assoc-ref inputs "libdivsufsort")
                                "/lib/libdivsufsort.so"))
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
-                (string-append (assoc-ref inputs "libstadenio-for-salmon")
-                               "/lib/libstaden-read.a"))
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libbwa.a")
-                (string-append (assoc-ref inputs "bwa") "/lib/libbwa.a"))
                (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
                 (string-append (assoc-ref inputs "libdivsufsort")
-                               "/lib/libdivsufsort64.so")))
-             (substitute* "CMakeLists.txt"
-               ;; Don't prefer static libs
-               (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
-               (("set\\(TBB_LIBRARIES") "message(")
-               (("find_package\\(Jellyfish.*") "")
-               (("ExternalProject_Add\\(libcereal") "message(")
-               (("ExternalProject_Add\\(libbwa") "message(")
-               (("ExternalProject_Add\\(libjellyfish") "message(")
-               (("ExternalProject_Add\\(libgff") "message(")
-               (("ExternalProject_Add\\(libtbb") "message(")
-               (("ExternalProject_Add\\(libspdlog") "message(")
-               (("ExternalProject_Add\\(libdivsufsort") "message(")
-               (("ExternalProject_Add\\(libstadenio") "message(")
-               (("ExternalProject_Add_Step\\(") "message("))
+                               "/lib/libdivsufsort64.so"))
+               (("lib/libdivsufsort.a") "/lib/libdivsufsort.so"))
 
              ;; Ensure that all headers can be found
              (setenv "CPLUS_INCLUDE_PATH"
                      (string-append (getenv "CPLUS_INCLUDE_PATH")
                                     ":"
-                                    (assoc-ref inputs "bwa")
-                                    "/include/bwa"
-                                    ":"
                                     (assoc-ref inputs "eigen")
                                     "/include/eigen3"))
              (setenv "CPATH"
-                     (string-append (assoc-ref inputs "bwa")
-                                    "/include/bwa"
-                                    ":"
-                                    (assoc-ref inputs "eigen")
+                     (string-append (assoc-ref inputs "eigen")
                                     "/include/eigen3"))
              #t))
          ;; CMAKE_INSTALL_PREFIX does not exist when the tests are
@@ -11976,7 +11900,6 @@ performance as its primary goal.")
              #t)))))
     (inputs
      `(("boost" ,boost)
-       ("bwa" ,bwa-for-salmon)
        ("bzip2" ,bzip2)
        ("cereal" ,cereal)
        ("eigen" ,eigen)
@@ -11988,16 +11911,16 @@ performance as its primary goal.")
                     (file-name (string-append "rapmap-salmon-v" version "-checkout"))
                     (sha256
                      (base32
-                      "1yc12yqsz6f0r8sg1qnk57xg34aqwc9jbqq6gd5ys28xw3plj98p"))))
+                      "1biplxf0csc7a8h1wf219b0vmjkvw6wk2zylhdklb577kgmihdms"))))
        ("jemalloc" ,jemalloc)
-       ("jellyfish" ,jellyfish)
        ("libgff" ,libgff)
        ("tbb" ,tbb)
        ("libdivsufsort" ,libdivsufsort)
        ("libstadenio-for-salmon" ,libstadenio-for-salmon)
-       ("spdlog-for-salmon" ,spdlog-for-salmon)
        ("xz" ,xz)
        ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/COMBINE-lab/salmon")
     (synopsis "Quantification from RNA-seq reads using lightweight alignments")
     (description "Salmon is a program to produce highly-accurate,