summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-08-15 17:02:49 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-08-15 17:03:23 +0200
commit86d3822862d655cfef7ee359464288d9953ec2c0 (patch)
tree143280678ec7d390310d5461de0a2b8f16a638ae
parent9c3bfea673f13d84d12acc9189792564b98b930f (diff)
downloadguix-86d3822862d655cfef7ee359464288d9953ec2c0.tar.gz
gnu: Add r-liger.
* gnu/packages/cran.scm (r-liger): New variable.
-rw-r--r--gnu/packages/cran.scm74
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index ae6215b2d1..26b983067b 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14999,3 +14999,77 @@ plots.  Patchwork is a package that expands the API to allow for arbitrarily
 complex composition of plots by providing mathmatical operators for combining
 multiple plots.")
       (license license:expat))))
+
+(define-public r-liger
+  (package
+    (name "r-liger")
+    (version "0.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/MacoskoLab/liger.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "16dzwwcpw6n78pxlc5w3kraigki35ix7zhd2cbx5f3y60bbkhlmx"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file "inst/java/ModularityOptimizer.jar")
+           #t))))
+    (build-system r-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'build-java-part
+           (lambda* (#:key inputs #:allow-other-keys)
+             (invoke "unzip" (assoc-ref inputs "optimizer-src"))
+             (for-each (lambda (file) (invoke "javac" file))
+                       (find-files "." "\\.java$"))
+             (apply invoke "jar" "cf" "inst/java/ModularityOptimizer.jar"
+                    (find-files "." "\\.class$"))
+             #t)))))
+    (propagated-inputs
+     `(("r-cowplot" ,r-cowplot)
+       ("r-dosnow" ,r-dosnow)
+       ("r-dplyr" ,r-dplyr)
+       ("r-fnn" ,r-fnn)
+       ("r-foreach" ,r-foreach)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-ggrepel" ,r-ggrepel)
+       ("r-hmisc" ,r-hmisc)
+       ("r-ica" ,r-ica)
+       ("r-irlba" ,r-irlba)
+       ("r-matrix" ,r-matrix)
+       ("r-mclust" ,r-mclust)
+       ("r-patchwork" ,r-patchwork)
+       ("r-plyr" ,r-plyr)
+       ("r-rann-l1" ,r-rann-l1)
+       ("r-rcpp" ,r-rcpp)
+       ("r-rcpparmadillo" ,r-rcpparmadillo)
+       ("r-riverplot" ,r-riverplot)
+       ("r-rtsne" ,r-rtsne)
+       ("r-snow" ,r-snow)))
+    (native-inputs
+     `(("jdk" ,icedtea "jdk")
+       ;; See https://github.com/MacoskoLab/liger/issues/96
+       ;; The optimizer is released under the Expat license.
+       ("optimizer-src"
+        ,(origin
+           (method url-fetch)
+           (uri "http://www.ludowaltman.nl/slm/modularity_optimizer_source.zip")
+           (sha256
+            (base32
+             "01hmm6sapcmldvayknqx2w4cav3qv71mwwkdkwj4qgq6dss09g18"))))
+       ("unzip" ,unzip)
+       ("r-knitr" ,r-knitr))) ; for vignettes
+    (home-page "https://github.com/MacoskoLab/liger")
+    (synopsis "Integrate and analyze multiple single-cell datasets")
+    (description
+     "LIGER is a package for integrating and analyzing multiple single-cell
+datasets, developed and maintained by the Macosko lab.  It relies on
+integrative non-negative matrix factorization to identify shared and
+dataset-specific factors.")
+    (license license:gpl3)))