about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/gemma.scm249
1 files changed, 8 insertions, 241 deletions
diff --git a/gn/packages/gemma.scm b/gn/packages/gemma.scm
index 5b4819b..0605101 100644
--- a/gn/packages/gemma.scm
+++ b/gn/packages/gemma.scm
@@ -23,101 +23,23 @@
   #:use-module (srfi srfi-1))
 
 
-(define-public openblas-git
-  (let ((commit "63b03efc2af332c88b86d4fd8079d00f4b439adf"))
-    (package
-    (name "openblas-git")
-    (version (string-append "0.3.10-git-" (string-take commit 7)))
-    (source (origin
-             (method git-fetch)
-             (uri (git-reference
-                   (url "https://github.com/xianyi/OpenBLAS.git")
-                   (commit commit)))
-             (file-name (string-append name "-" version "-checkout"))
-             (sha256
-              (base32
-               "174id98ga82bhz2v7sy9yj6pqy0h0088p3mkdikip69p9rh3d17b"))))
-    (build-system gnu-build-system)
-    (arguments
-
-     `(
-       #:tests? #f  ;no "check" target
-
-       ;; DYNAMIC_ARCH is only supported on x86.  When it is disabled and no
-       ;; TARGET is specified, OpenBLAS will tune itself to the build host, so
-       ;; we need to disable substitutions.
-       #:substitutable?
-        ,(let ((system (or (%current-target-system) (%current-system))))
-           (or (string-prefix? "x86_64" system)
-               (string-prefix? "i686" system)
-               (string-prefix? "mips" system)
-               (string-prefix? "aarch64" system)))
-               ; BINARY=64 NO_WARMUP=0 GEMM_MULTITHREAD_THRESHOLD=4 USE_THREAD=1 NO_AFFINITY=0 NO_LAPACK=0 NUM_THREADS=64
-       #:make-flags
-       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
-             "SHELL=bash"
-             "NUM_THREADS=64"
-             "BINARY=64"
-             "NO_WARMUP=0"
-             "GEMM_MULTITHREAD_THRESHOLD=4"
-             "USE_THREAD=1"
-             "NO_AFFINITY=0"
-             "NO_LAPACK=0"    ; use OpenBlas LAPACK
-             "COMMON_PROF=0"  ; disable profiling
-             "DEBUG=0"
-
-             ;; Build the library for all supported CPUs.  This allows
-             ;; switching CPU targets at runtime with the environment variable
-             ;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type.
-             ;; Unfortunately, this is not supported on non-x86 architectures,
-             ;; where it leads to failed builds.
-             ,@(let ((system (or (%current-target-system) (%current-system))))
-                 (cond
-                  ; ((or (string-prefix? "x86_64" system)
-                  ;     (string-prefix? "i686" system))
-                  ((string-prefix? "x86_64" system)
-                   '("DYNAMIC_ARCH=1"))
-                  ;; On MIPS we force the "SICORTEX" TARGET, as for the other
-                  ;; two available MIPS targets special extended instructions
-                  ;; for Loongson cores are used.
-                  ((string-prefix? "mips" system)
-                   '("TARGET=SICORTEX"))
-                  ;; On aarch64 force the generic 'armv8-a' target
-                  ((string-prefix? "aarch64" system)
-                   '("TARGET=ARMV8"))
-                  (else '()))))
-       ;; no configure script
-       #:phases (alist-delete 'configure %standard-phases)))
-    (inputs
-     `(("gfortran" ,gfortran)
-       ("gfortran:lib" ,gfortran "lib")))
-    (native-inputs
-     `(("cunit" ,cunit)
-       ("perl" ,perl)))
-    (home-page "http://www.openblas.net/")
-    (synopsis "Platform optimized BLAS library based on GotoBLAS")
-    (description
-     "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.")
-    (license license:bsd-3))))
-
-
 ;; See also the recent gemma.scm in the GEMMA repo!
 (define-public gemma-gn2 ; guix candidate - currently uses generic
                          ; openblas version and genenetwork github repo
 
-  (let ((commit "47221d6e9891bf9b20ce6e1e909856ccb0ae575f"))
+  (let ((commit "140667153f7ad601af2761e0856c396ce2808a78"))
   (package
     (name "gemma-gn2")
-    (version (string-append "0.98.3-" (string-take commit 7)))
+    (version (string-append "0.98.4-" (string-take commit 7)))
     (source (origin
              (method git-fetch)
              (uri (git-reference
-                   (url "https://github.com/genenetwork/GEMMA") 
+                   (url "https://github.com/genenetwork/GEMMA")
                    (commit commit)))
              (file-name (string-append name "-" version "-checkout"))
              (sha256
               (base32
-               "0wydfm2svrlrz4zbrvxymqc33ici3vi7xy9br37mfbb9lh3fmb2w"))))
+               "0km2m3xhq8a5d6nv7n9r0jmxhc2fy8f3q88mfqarmcqybbyplsd4"))))
     (inputs `(
               ("gsl" ,gsl)
               ("shunit2-old" ,shunit2-old)
@@ -152,14 +74,16 @@ genome-wide association studies (GWAS).")
 
     (license license:gpl3))))
 
-(define-public gemma-gn2-git ; openblas optimized
+(define-public gemma-gn2-git ; typically use latest for genenetwork,
+                             ; may switch off tests and (maybe)
+                             ; openblas optimized
   (package
    (inherit gemma-gn2)
    (name "gemma-gn2-git")
    (inputs `(
              ("gsl" ,gsl)
              ("shunit2-old" ,shunit2-old)
-             ("openblas" ,openblas-git)
+             ("openblas" ,openblas)
              ("zlib" ,zlib)
              ))
     (arguments
@@ -179,62 +103,6 @@ genome-wide association studies (GWAS).")
        #:parallel-tests? #f))
    ))
 
-(define-public gemma-gn2-dev ; Dev version for GeneNetwork. Not a Guix candidate
-  (let ((commit "8524ca2c6c0e1ee0f92091e4af7ee71e87654cc2"))
-  (package
-    (name "gemma-gn2-dev")
-    (version (string-append "0.98.4-" (string-take commit 7)))
-    (source (origin
-             (method git-fetch)
-             (uri (git-reference
-                   (url "https://github.com/genenetwork/GEMMA")
-                   (commit commit)))
-             (file-name (string-append name "-" version "-checkout"))
-             (sha256
-              (base32
-               "0fn7yj1dgfhk178i096al5d3z5xmsz5krl9mf9v3xn4ima4ak7q3"))))
-    ; guix environment -C guix --ad-hoc gcc-toolchain gdb gsl openblas zlib bash ld-wrapper perl vim which
-    (inputs `(
-              ("gsl" ,gsl)
-              ("shunit2-old" ,shunit2-old)
-              ("openblas" ,openblas)
-              ("zlib" ,zlib)
-              ))
-    (native-inputs ; for running tests
-     `(("perl" ,perl)
-       ("which" ,which)
-       ))
-
-    (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-        (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'build 'bin-mkdir
-                     (lambda _
-                       (mkdir-p "bin")
-                       ))
-         (replace 'build
-                  (lambda* (#:key inputs #:allow-other-keys)
-                    (invoke "make" "debug" "-j" (number->string (parallel-job-count)))))
-         (replace 'check
-                  (lambda* (#:key inputs #:allow-other-keys)
-                    (invoke "make" "fast-check" )))
-         (replace 'install
-                  (lambda* (#:key outputs #:allow-other-keys)
-                           (let ((out (assoc-ref outputs "out")))
-                             (install-file "bin/gemma" (string-append out "/bin"))))))
-       ; #:tests? #f
-       #:parallel-tests? #f))
-    (home-page "http://www.xzlab.org/software.html")
-    (synopsis "Tool for genome-wide efficient mixed model association")
-    (description "Genome-wide Efficient Mixed Model Association (GEMMA)
-provides a standard linear mixed model resolver with application in
-genome-wide association studies (GWAS).")
-
-    (license license:gpl3))))
-
-
 
 (define-public gemma-wrapper
   (package
@@ -270,104 +138,3 @@ genome-wide association studies (GWAS).")
     (description "Gemma wrapper")
     (home-page "https://rubygems.org/gems/bio-gemma-wrapper")
     (license license:gpl3)))
-
-(define-public gemma-dev-env
-  (let ((md5 "93e745e9c"))
-    (package
-    (name "gemma-dev-env")
-    (version "0.98")
-    (source
-     (origin
-       (method url-fetch)
-       (uri "http://biogems.info/genenetwork2-2.0-a8fcff4.svg") ; any old file
-       (file-name (string-append name "-" md5))
-       (sha256
-        (base32 "0rir1mcn3a8i1mbw3ppgnjl7wg71mapljik7n3v5i8j5ic95mqr5"))))
-    (build-system trivial-build-system)
-    (native-inputs `(("unzip" ,unzip)
-                     ("source" ,source)))
-    (inputs `(("sassc" ,sassc)))
-    (propagated-inputs
-     `(("binutils" ,binutils) ; for ld
-       ("gemma-gn2" ,gemma-gn2-git)
-       ; ("gemma-wrapper" ,gemma-wrapper)
-       ("gcc" ,gcc-7)
-       ("gdb" ,gdb)
-       ("gfortran:lib" ,gfortran "lib")
-       ("glibc" ,glibc) ; for crt1.o
-       ("gsl" ,gsl)
-       ("eigen" ,eigen)
-       ("linux-libre-headers" ,linux-libre-headers)
-       ("openblas" ,openblas-git)
-       ("shunit2-old" ,shunit2-old)
-       ("zlib" ,zlib)
-       ))
-    (arguments
-     `(#:modules ((guix build utils))
-       #:builder
-       (begin
-         (use-modules (guix build utils))
-         (let ((target (string-append (assoc-ref %outputs "out")
-                                      "/share")))
-             (write target)
-             (mkdir-p target)
-             ; (copy-recursively (assoc-ref %build-inputs "source") target)
-             #t))))
-
-    (home-page "http://github.com/genetics-statistics/")
-    (synopsis "GEMMA development environment imports build tools, gemma-wrapper and faster-lmm-d")
-    (description "Gemma-development")
-    (license license:gpl3))))
-
-
-(define-public faster-lmm-d-dev ; incomplete, just creates build environment
-  (let ((commit "68e22043ce0ca348cbc4f3bdd015e036ba9ac5f2"))
-    (package
-     (name "faster-lmm-d-dev")
-     (version (string-append "0.0.1-" (string-take commit 7)))
-     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/genetics-statistics/faster_lmm_d.git")
-                    (commit commit)))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "0awcsrmpq1zbcy145l5ssmsxzfq5dq9yr0901hk977lmjf99gxng"))))
-     (build-system trivial-build-system)
-     (propagated-inputs
-      `(("openblas" ,openblas)
-        ("gsl" ,gsl)
-        ; ("lapack" ,lapack)
-        ("dub" ,dub)
-        ("gcc" ,gcc-7)
-        ("gdb" ,gdb)
-        ; ("glibc" ,glibc)
-        ("binutils" ,binutils) ; for ld linker
-        ("gfortran:lib" ,gfortran "lib")
-        ; ("make" ,make)
-        ("ldc" ,ldc)
-        ("shunit2-old" ,shunit2-old)
-        ("linux-libre-headers" ,linux-libre-headers)
-        ("openblas" ,openblas-git)
-        ))
-     (inputs
-     `(
-        ("which" ,which)
-        ))
-     (arguments
-      `(#:modules ((guix build utils))
-        #:builder
-        (begin
-          (use-modules (guix build utils))
-          (let ((target (string-append (assoc-ref %outputs "out")
-                                       "/share")))
-            (write target)
-            (mkdir-p target)
-            ; (copy-recursively (assoc-ref %build-inputs "source") target)
-            #t))))
-     (home-page "https://github.com/pjotrp")
-     (synopsis "Build system for faster-lmm-d")
-     (description
-      ".")
-     (license license:gpl3))))