diff options
Diffstat (limited to 'gn')
-rw-r--r-- | gn/packages/gemma.scm | 249 |
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)))) |