aboutsummaryrefslogtreecommitdiff
path: root/gn
diff options
context:
space:
mode:
Diffstat (limited to 'gn')
-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))))