unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add SEEK.
@ 2016-06-15 13:31 Ricardo Wurmus
  2016-06-15 13:31 ` Ricardo Wurmus
  0 siblings, 1 reply; 4+ messages in thread
From: Ricardo Wurmus @ 2016-06-15 13:31 UTC (permalink / raw)
  To: guix-devel

Hi Guix,

here's another bioinformatics tool called "SEEK".  It depends on a couple of
patches I submitted earlier:

* log4cpp in the new logging.scm module
* gengetopt in popt.scm
* the new mercurial downloader

The first two have already been reviewed by Ludo and I'll push them to master
soon.

The package does not have any release tarballs and the installation notes just
refer to individual commits as releases.  This is why I needed to add the
hg-download module.

~~ Ricardo

Ricardo Wurmus (1):
  gnu: Add SEEK.

 gnu/packages/bioinformatics.scm | 74 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

-- 
2.8.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] gnu: Add SEEK.
  2016-06-15 13:31 [PATCH] gnu: Add SEEK Ricardo Wurmus
@ 2016-06-15 13:31 ` Ricardo Wurmus
  2016-06-15 19:50   ` Alex Kost
  0 siblings, 1 reply; 4+ messages in thread
From: Ricardo Wurmus @ 2016-06-15 13:31 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/bioinformatics.scm (seek): New variable.
---
 gnu/packages/bioinformatics.scm | 74 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d5f5500..71cf147 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -27,6 +27,7 @@
   #:use-module (guix utils)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix hg-download)
   #:use-module (guix build-system ant)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
@@ -51,6 +52,7 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages logging)
   #:use-module (gnu packages machine-learning)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -61,6 +63,7 @@
   #:use-module (gnu packages popt)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tbb)
@@ -3145,6 +3148,77 @@ while RNA-seq specific modules evaluate sequencing saturation, mapped reads
 distribution, coverage uniformity, strand specificity, etc.")
     (license license:gpl3+)))
 
+(define-public seek
+  ;; There are no release tarballs.  According to the installation
+  ;; instructions at http://seek.princeton.edu/installation.jsp, the latest
+  ;; stable release is identified by this changeset ID.
+  (let ((changeset "2329130")
+        (revision "1"))
+    (package
+      (name "seek")
+      (version (string-append "0-" revision "." changeset))
+      (source (origin
+                (method hg-fetch)
+                (uri (hg-reference
+                      (url "https://bitbucket.org/libsleipnir/sleipnir")
+                      (changeset changeset)))
+                (sha256
+                 (base32
+                  "0qrvilwh18dpbhkf92qvxbmay0j75ra3jg2wrhz67gf538zzphsx"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:modules ((srfi srfi-1)
+                    (guix build gnu-build-system)
+                    (guix build utils))
+         #:phases
+         (let ((dirs '("SeekMiner"
+                       "SeekEvaluator"
+                       "SeekPrep"
+                       "Distancer"
+                       "Data2DB"
+                       "PCL2Bin")))
+           (modify-phases %standard-phases
+             (add-before 'configure 'bootstrap
+               (lambda _
+                 (zero? (system* "bash" "gen_auto"))))
+             (add-after 'build 'build-additional-tools
+               (lambda* (#:key make-flags #:allow-other-keys)
+                 (fold (lambda (dir result)
+                         (with-directory-excursion (string-append "tools/" dir)
+                           (and result
+                                (zero? (apply system*
+                                              `("make" ,@make-flags))))))
+                       #t dirs)))
+             (add-after 'install 'install-additional-tools
+               (lambda* (#:key make-flags #:allow-other-keys)
+                 (fold (lambda (dir result)
+                         (with-directory-excursion (string-append "tools/" dir)
+                           (and result
+                                (zero? (apply system*
+                                              `("make" ,@make-flags "install"))))))
+                       #t dirs)))))))
+      (inputs
+       `(("gsl" ,gsl)
+         ("boost" ,boost)
+         ("libsvm" ,libsvm)
+         ("readline" ,readline)
+         ("gengetopt" ,gengetopt)
+         ("log4cpp" ,log4cpp)))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("perl" ,perl)))
+      (home-page "http://seek.princeton.edu")
+      (synopsis "Gene co-expression search engine")
+      (description
+       "SEEK is a computational gene co-expression search engine.  SEEK provides
+biologists with a way to navigate the massive human expression compendium that
+now contains thousands of expression datasets.  SEEK returns a robust ranking
+of co-expressed genes in the biological area of interest defined by the user's
+query genes.  It also prioritizes thousands of expression datasets according
+to the user's query of interest.")
+      (license license:cc-by3.0))))
+
 (define-public samtools
   (package
     (name "samtools")
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add SEEK.
  2016-06-15 13:31 ` Ricardo Wurmus
@ 2016-06-15 19:50   ` Alex Kost
  2016-06-28 20:50     ` Ricardo Wurmus
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Kost @ 2016-06-15 19:50 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus (2016-06-15 16:31 +0300) wrote:

> * gnu/packages/bioinformatics.scm (seek): New variable.
> ---
>  gnu/packages/bioinformatics.scm | 74 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 74 insertions(+)
[...]
> +(define-public seek
> +  ;; There are no release tarballs.  According to the installation
> +  ;; instructions at http://seek.princeton.edu/installation.jsp, the latest
> +  ;; stable release is identified by this changeset ID.
> +  (let ((changeset "2329130")
> +        (revision "1"))
> +    (package
> +      (name "seek")
> +      (version (string-append "0-" revision "." changeset))
> +      (source (origin
> +                (method hg-fetch)
> +                (uri (hg-reference
> +                      (url "https://bitbucket.org/libsleipnir/sleipnir")
> +                      (changeset changeset)))
> +                (sha256
> +                 (base32
> +                  "0qrvilwh18dpbhkf92qvxbmay0j75ra3jg2wrhz67gf538zzphsx"))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       `(#:modules ((srfi srfi-1)
> +                    (guix build gnu-build-system)
> +                    (guix build utils))
> +         #:phases
> +         (let ((dirs '("SeekMiner"
> +                       "SeekEvaluator"
> +                       "SeekPrep"
> +                       "Distancer"
> +                       "Data2DB"
> +                       "PCL2Bin")))
> +           (modify-phases %standard-phases
> +             (add-before 'configure 'bootstrap
> +               (lambda _
> +                 (zero? (system* "bash" "gen_auto"))))
> +             (add-after 'build 'build-additional-tools
> +               (lambda* (#:key make-flags #:allow-other-keys)
> +                 (fold (lambda (dir result)
> +                         (with-directory-excursion (string-append "tools/" dir)
> +                           (and result
> +                                (zero? (apply system*
> +                                              `("make" ,@make-flags))))))

or just: (zero? (apply system* "make" make-flags))

Is 'fold' really needed here?  What about:

  (every (lambda (dir)
           (with-directory-excursion (string-append "tools/" dir)
             (zero? (apply system* "make" make-flags))))
         dirs)

> +                       #t dirs)))
> +             (add-after 'install 'install-additional-tools
> +               (lambda* (#:key make-flags #:allow-other-keys)
> +                 (fold (lambda (dir result)
> +                         (with-directory-excursion (string-append "tools/" dir)
> +                           (and result
> +                                (zero? (apply system*
> +                                              `("make" ,@make-flags "install"))))))
> +                       #t dirs)))))))
> +      (inputs
> +       `(("gsl" ,gsl)
> +         ("boost" ,boost)
> +         ("libsvm" ,libsvm)
> +         ("readline" ,readline)
> +         ("gengetopt" ,gengetopt)
> +         ("log4cpp" ,log4cpp)))
> +      (native-inputs
> +       `(("autoconf" ,autoconf)
> +         ("automake" ,automake)
> +         ("perl" ,perl)))
> +      (home-page "http://seek.princeton.edu")
> +      (synopsis "Gene co-expression search engine")
> +      (description
> +       "SEEK is a computational gene co-expression search engine.  SEEK provides
> +biologists with a way to navigate the massive human expression compendium that
> +now contains thousands of expression datasets.  SEEK returns a robust ranking
> +of co-expressed genes in the biological area of interest defined by the user's
> +query genes.  It also prioritizes thousands of expression datasets according
> +to the user's query of interest.")
> +      (license license:cc-by3.0))))
> +
>  (define-public samtools
>    (package
>      (name "samtools")

-- 
Alex

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add SEEK.
  2016-06-15 19:50   ` Alex Kost
@ 2016-06-28 20:50     ` Ricardo Wurmus
  0 siblings, 0 replies; 4+ messages in thread
From: Ricardo Wurmus @ 2016-06-28 20:50 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel


Alex Kost <alezost@gmail.com> writes:

> Ricardo Wurmus (2016-06-15 16:31 +0300) wrote:
>
>> * gnu/packages/bioinformatics.scm (seek): New variable.

[…]

> Is 'fold' really needed here?  What about:
>
>   (every (lambda (dir)
>            (with-directory-excursion (string-append "tools/" dir)
>              (zero? (apply system* "make" make-flags))))
>          dirs)

No, “fold” is not needed.  I always forget that we have “every”.  Thanks
for the reminder!  I changed it and pushed to master.

~~ Ricardo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-06-28 20:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-15 13:31 [PATCH] gnu: Add SEEK Ricardo Wurmus
2016-06-15 13:31 ` Ricardo Wurmus
2016-06-15 19:50   ` Alex Kost
2016-06-28 20:50     ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).