* [bug#30666] [PATCH 02/17] gnu: Add java-jlargearrays.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 03/17] gnu: Add java-jtransforms Ricardo Wurmus
` (14 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/algebra.scm (java-jlargearrays): New variable.
---
gnu/packages/algebra.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index a59346bd5..ebd75a7d3 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -658,6 +658,33 @@ the la4j library are:
@end itemize\n")
(license license:asl2.0)))
+(define-public java-jlargearrays
+ (package
+ (name "java-jlargearrays")
+ (version "1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://search.maven.org/remotecontent?"
+ "filepath=pl/edu/icm/JLargeArrays/"
+ version "/JLargeArrays-" version
+ "-sources.jar"))
+ (file-name (string-append name "-" version ".jar"))
+ (sha256
+ (base32
+ "0v05iphpxbjnd7f4jf1rlqq3m8hslhcm0imdbsgxr20pi3xkaf2a"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jlargearrays.jar"
+ #:tests? #f ; tests are not included in the release archive
+ #:jdk ,icedtea-8))
+ (propagated-inputs
+ `(("java-commons-math3" ,java-commons-math3)))
+ (home-page "https://gitlab.com/ICM-VisLab/JLargeArrays")
+ (synopsis "Library of one-dimensional arrays that can store up to 263 elements")
+ (description "JLargeArrays is a Java library of one-dimensional arrays
+that can store up to 263 elements.")
+ (license license:bsd-2)))
+
(define-public eigen
(package
(name "eigen")
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 03/17] gnu: Add java-jtransforms.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 02/17] gnu: Add java-jlargearrays Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 04/17] gnu: Add java-jdistlib Ricardo Wurmus
` (13 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/algebra.scm (java-jtransforms): New variable.
---
gnu/packages/algebra.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index ebd75a7d3..2aa1777db 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -685,6 +685,34 @@ the la4j library are:
that can store up to 263 elements.")
(license license:bsd-2)))
+(define-public java-jtransforms
+ (package
+ (name "java-jtransforms")
+ (version "3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://search.maven.org/remotecontent?"
+ "filepath=com/github/wendykierp/JTransforms/"
+ version "/JTransforms-" version "-sources.jar"))
+ (sha256
+ (base32
+ "1haw5m8shv5srgcpwkl853dz8bv6h90bzlhcps6mdpb4cixjirsg"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jtransforms.jar"
+ #:tests? #f ; tests are not included in the release archive
+ #:jdk ,icedtea-8))
+ (propagated-inputs
+ `(("java-commons-math3" ,java-commons-math3)
+ ("java-jlargearrays" ,java-jlargearrays)))
+ (home-page "https://github.com/wendykierp/JTransforms")
+ (synopsis "Multithreaded FFT library written in pure Java")
+ (description "JTransforms is a multithreaded FFT library written in pure
+Java. Currently, four types of transforms are available: @dfn{Discrete
+Fourier Transform} (DFT), @dfn{Discrete Cosine Transform} (DCT), @dfn{Discrete
+Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).")
+ (license license:bsd-2)))
+
(define-public eigen
(package
(name "eigen")
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 04/17] gnu: Add java-jdistlib.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 02/17] gnu: Add java-jlargearrays Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 03/17] gnu: Add java-jtransforms Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 05/17] gnu: Add java-biojava-core Ricardo Wurmus
` (12 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/statistics.scm (java-jdistlib): New variable.
---
gnu/packages/statistics.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index c1012a635..d565f5cc2 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -32,11 +32,13 @@
#:use-module (guix hg-download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (guix build-system ant)
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
@@ -5539,3 +5541,40 @@ inferring an appropriate positioning method.")
(description "Did you ever wish you could make scatter plots with cat
shaped points? Now you can!")
(license license:asl2.0))))
+
+(define-public java-jdistlib
+ (package
+ (name "java-jdistlib")
+ (version "0.4.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/jdistlib/jdistlib-"
+ version "-src.jar"))
+ (sha256
+ (base32
+ "1pkj8aahw9ydr1isbaqrkd05nvq98ik5jwwhf3yf3rky3z869v11"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jdistlib.jar"
+ #:jdk ,icedtea-8
+ #:tests? #f ; no dedicated test directory
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-broken-encoding
+ (lambda _
+ (with-fluids ((%default-port-encoding "ISO-8859-1"))
+ (substitute* "src/jdistlib/Beta.java"
+ (("Scheff.+-Tukey") "Scheffe-Tukey")))
+ #t)))))
+ (propagated-inputs
+ `(("java-jtransforms" ,java-jtransforms)))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (home-page "http://jdistlib.sourceforge.net/")
+ (synopsis "Java library of statistical distributions")
+ (description "JDistlib is the Java Statistical Distribution Library, a
+Java package that provides routines for various statistical distributions.")
+ ;; The files that were translated from R code are under GPLv2+; some files
+ ;; are under the GPLv3, which is a mistake. The author confirmed in an
+ ;; email that this whole project should be under GPLv2+.
+ (license license:gpl2+)))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 05/17] gnu: Add java-biojava-core.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (2 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 04/17] gnu: Add java-jdistlib Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 06/17] gnu: Add java-openchart2 Ricardo Wurmus
` (11 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-biojava-core): New variable.
---
gnu/packages/bioinformatics.scm | 56 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c427a6d03..60dbc956a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -11886,3 +11886,59 @@ variable number of row and column annotations. Loom also supports sparse
graphs. This library makes it easy to work with @file{.loom} files for
single-cell RNA-seq data.")
(license license:bsd-3)))
+
+(define-public java-biojava-core
+ (package
+ (name "java-biojava-core")
+ (version "4.2.11")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/biojava/biojava")
+ (commit (string-append "biojava-" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1bvryh2bpsvash8ln79cmc9sqm8qw72hz4xzwqxcrjm8ssxszhqk"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-core.jar"
+ #:source-dir "biojava-core/src/main/java/"
+ #:test-dir "biojava-core/src/test"
+ ;; These tests seem to require internet access.
+ #:test-exclude (list "**/SearchIOTest.java"
+ "**/BlastXMLParserTest.java"
+ "**/GenbankCookbookTest.java"
+ "**/GenbankProxySequenceReaderTest.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-core/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-core/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Core libraries of Java framework for processing biological data")
+ (description "BioJava is a project dedicated to providing a Java framework
+for processing biological data. It provides analytical and statistical
+routines, parsers for common file formats, reference implementations of
+popular algorithms, and allows the manipulation of sequences and 3D
+structures. The goal of the biojava project is to facilitate rapid
+application development for bioinformatics.
+
+This package provides the core libraries.")
+ (license license:lgpl2.1+)))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 06/17] gnu: Add java-openchart2.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (3 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 05/17] gnu: Add java-biojava-core Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 07/17] gnu: Add java-forester Ricardo Wurmus
` (10 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/java.scm (java-openchart2): New variable.
---
gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 0f8c04e8b..f7f701188 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8853,3 +8853,44 @@ against expected outcomes.")
("java-junit" ,java-junit)))
(native-inputs
`(("java-mockito-1" ,java-mockito-1)))))
+
+(define-public java-openchart2
+ (package
+ (name "java-openchart2")
+ (version "1.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://download.approximatrix.com/openchart2/"
+ "openchart2-" version ".source.zip"))
+ (sha256
+ (base32
+ "1xq96zm5r02n1blja0072jmmsifmxc40lbyfbnmcnr6mw42frh4g"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-junit-errors
+ (lambda _
+ (with-directory-excursion "unittest/src/com/approximatrix/charting/"
+ (substitute* '("coordsystem/ticklocator/NumericXTickLocatorTest.java"
+ "coordsystem/ticklocator/NumericYTickLocatorTest.java"
+ "coordsystem/ticklocator/ObjectXTickLocatorTest.java"
+ "model/DefaultChartDataModelConstraintsTest.java"
+ "model/MultiScatterDataModelConstraintsTest.java"
+ "model/threedimensional/DotPlotDataModelConstraintsTest.java")
+ (("(assertEquals[^;]+);" before _)
+ (string-append (string-drop-right before 2) ", 1E-6);"))))
+ #t))
+ (replace 'install (install-jars ".")))))
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://approximatrix.com/products/openchart2/")
+ (synopsis "Simple plotting for Java")
+ (description "Openchart2 provides a simple, yet powerful, interface for
+Java programmers to create two-dimensional charts and plots. The library
+features an assortment of graph styles, including advanced scatter plots, bar
+graphs, and pie charts.")
+ (license license:lgpl2.1+)))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 07/17] gnu: Add java-forester.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (4 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 06/17] gnu: Add java-openchart2 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 08/17] gnu: Add java-forester-1.005 Ricardo Wurmus
` (9 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-forester): New variable.
---
gnu/packages/bioinformatics.scm | 76 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 60dbc956a..a41efc054 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -11887,6 +11887,82 @@ graphs. This library makes it easy to work with @file{.loom} files for
single-cell RNA-seq data.")
(license license:bsd-3)))
+;; We cannot use the latest commit because it requires Java 9.
+(define-public java-forester
+ (let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6")
+ (revision "1"))
+ (package
+ (name "java-forester")
+ (version (string-append "0-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cmzmasek/forester.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0vxavc1yrf84yrnf20dq26hi0lglidk8d382xrxsy4qmlbjd276z"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled jars and pre-built classes
+ (delete-file-recursively "forester/java/resources")
+ (delete-file-recursively "forester/java/classes")
+ (for-each delete-file (find-files "forester/java/" "\\.jar$"))
+ ;; Delete bundled applications
+ (delete-file-recursively "forester_applications")
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; there are none
+ #:jdk ,icedtea-8
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "forester/java") #t))
+ (add-after 'chdir 'fix-dependencies
+ (lambda _
+ (chmod "build.xml" #o664)
+ (call-with-output-file "build.xml.new"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `(;; Remove all unjar tags to avoid repacking classes.
+ (unjar . ,(lambda _ '()))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (rename-file "build.xml.new" "build.xml")
+ #t))
+ ;; FIXME: itext is difficult to package as it depends on a few
+ ;; unpackaged libraries.
+ (add-after 'chdir 'remove-dependency-on-unpackaged-itext
+ (lambda _
+ (delete-file "src/org/forester/archaeopteryx/PdfExporter.java")
+ (substitute* "src/org/forester/archaeopteryx/MainFrame.java"
+ (("pdf_written_to = PdfExporter.*")
+ "throw new IOException(\"PDF export is not available.\");"))
+ #t))
+ ;; There is no install target
+ (replace 'install (install-jars ".")))))
+ (propagated-inputs
+ `(("java-commons-codec" ,java-commons-codec)
+ ("java-openchart2" ,java-openchart2)))
+ (home-page "https://sites.google.com/site/cmzmasek/home/software/forester")
+ (synopsis "Phylogenomics libraries for Java")
+ (description "Forester is a collection of Java libraries for
+phylogenomics and evolutionary biology research. It includes support for
+reading, writing, and exporting phylogenetic trees.")
+ (license license:lgpl2.1+))))
+
(define-public java-biojava-core
(package
(name "java-biojava-core")
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 08/17] gnu: Add java-forester-1.005.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (5 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 07/17] gnu: Add java-forester Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 09/17] gnu: Add java-biojava-phylo Ricardo Wurmus
` (8 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-forester-1.005): New variable.
---
gnu/packages/bioinformatics.scm | 95 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a41efc054..12ee8061f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -11963,6 +11963,101 @@ phylogenomics and evolutionary biology research. It includes support for
reading, writing, and exporting phylogenetic trees.")
(license license:lgpl2.1+))))
+(define-public java-forester-1.005
+ (package
+ (name "java-forester")
+ (version "1.005")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://search.maven.org/remotecontent?"
+ "filepath=org/biojava/thirdparty/forester/"
+ version "/forester-" version "-sources.jar"))
+ (file-name (string-append name "-" version ".jar"))
+ (sha256
+ (base32
+ "04r8qv4rk3p71z4ajrvp11py1z46qrx0047j3zzs79s6lnsm3lcv"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; there are none
+ #:jdk ,icedtea-8
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (call-with-output-file "build.xml"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "src/build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `(;; Remove all unjar tags to avoid repacking classes.
+ (unjar . ,(lambda _ '()))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (copy-file (assoc-ref inputs "synth_look_and_feel_1.xml")
+ "synth_look_and_feel_1.xml")
+ (copy-file (assoc-ref inputs "phyloxml.xsd")
+ "phyloxml.xsd")
+ (substitute* "build.xml"
+ (("../resources/synth_laf/synth_look_and_feel_1.xml")
+ "synth_look_and_feel_1.xml")
+ (("../resources/phyloxml_schema/1.10/phyloxml.xsd")
+ "phyloxml.xsd"))
+ #t))
+ ;; FIXME: itext is difficult to package as it depends on a few
+ ;; unpackaged libraries.
+ (add-after 'unpack 'remove-dependency-on-unpackaged-itext
+ (lambda _
+ (delete-file "src/org/forester/archaeopteryx/PdfExporter.java")
+ (substitute* '("src/org/forester/archaeopteryx/MainFrame.java"
+ "src/org/forester/archaeopteryx/MainFrameApplication.java")
+ (("pdf_written_to = PdfExporter.*")
+ "throw new IOException(\"PDF export is not available.\"); /*")
+ ((".getPrintSizeX\\(\\), getOptions\\(\\).getPrintSizeY\\(\\) \\);") "*/")
+ (("getCurrentTreePanel\\(\\).getHeight\\(\\) \\);") "*/"))
+ #t))
+ (add-after 'unpack 'delete-pre-built-classes
+ (lambda _ (delete-file-recursively "src/classes") #t))
+ ;; There is no install target
+ (replace 'install (install-jars ".")))))
+ (propagated-inputs
+ `(("java-commons-codec" ,java-commons-codec)
+ ("java-openchart2" ,java-openchart2)))
+ ;; The source archive does not contain the resources.
+ (native-inputs
+ `(("phyloxml.xsd"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/"
+ "b61cc2dcede0bede317db362472333115756b8c6/"
+ "forester/resources/phyloxml_schema/1.10/phyloxml.xsd"))
+ (file-name (string-append name "-phyloxml-" version ".xsd"))
+ (sha256
+ (base32
+ "1zxc4m8sn4n389nqdnpxa8d0k17qnr3pm2y5y6g6vh4k0zm52npv"))))
+ ("synth_look_and_feel_1.xml"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/"
+ "29e04321615da6b35c1e15c60e52caf3f21d8e6a/"
+ "forester/java/classes/resources/synth_look_and_feel_1.xml"))
+ (file-name (string-append name "-synth-look-and-feel-" version ".xml"))
+ (sha256
+ (base32
+ "1gv5602gv4k7y7713y75a4jvj7i9s7nildsbdl7n9q10sc2ikg8h"))))))
+ (home-page "https://sites.google.com/site/cmzmasek/home/software/forester")
+ (synopsis "Phylogenomics libraries for Java")
+ (description "Forester is a collection of Java libraries for
+phylogenomics and evolutionary biology research. It includes support for
+reading, writing, and exporting phylogenetic trees.")
+ (license license:lgpl2.1+)))
+
(define-public java-biojava-core
(package
(name "java-biojava-core")
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 09/17] gnu: Add java-biojava-phylo.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (6 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 08/17] gnu: Add java-forester-1.005 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 10/17] gnu: Add java-biojava-alignment Ricardo Wurmus
` (7 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-biojava-phylo): New variable.
---
gnu/packages/bioinformatics.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 12ee8061f..c1a40303f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12113,3 +12113,39 @@ application development for bioinformatics.
This package provides the core libraries.")
(license license:lgpl2.1+)))
+
+(define-public java-biojava-phylo
+ (package (inherit java-biojava-core)
+ (name "java-biojava-phylo")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-phylo.jar"
+ #:source-dir "biojava-phylo/src/main/java/"
+ #:test-dir "biojava-phylo/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core)
+ ("java-forester" ,java-forester)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava interface to the forester phylogenomics library")
+ (description "The phylo module provides a biojava interface layer to the
+forester phylogenomics library for constructing phylogenetic trees.")))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 10/17] gnu: Add java-biojava-alignment.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (7 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 09/17] gnu: Add java-biojava-phylo Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 11/17] gnu: Add java-biojava-core-4.0 Ricardo Wurmus
` (6 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-biojava-alignment): New variable.
---
gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c1a40303f..ae426bfb8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12149,3 +12149,47 @@ This package provides the core libraries.")
(synopsis "Biojava interface to the forester phylogenomics library")
(description "The phylo module provides a biojava interface layer to the
forester phylogenomics library for constructing phylogenetic trees.")))
+
+(define-public java-biojava-alignment
+ (package (inherit java-biojava-core)
+ (name "java-biojava-alignment")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-alignment.jar"
+ #:source-dir "biojava-alignment/src/main/java/"
+ #:test-dir "biojava-alignment/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core)
+ ("java-biojava-phylo" ,java-biojava-phylo)
+ ("java-forester" ,java-forester)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava API for genetic sequence alignment")
+ (description "The alignment module of BioJava provides an API that
+contains
+
+@itemize
+@item implementations of dynamic programming algorithms for sequence
+ alignment;
+@item reading and writing of popular alignment file formats;
+@item a single-, or multi- threaded multiple sequence alignment algorithm.
+@end itemize\n")))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 11/17] gnu: Add java-biojava-core-4.0.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (8 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 10/17] gnu: Add java-biojava-alignment Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 12/17] gnu: Add java-biojava-phylo-4.0 Ricardo Wurmus
` (5 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-biojava-core-4.0): New variable.
---
gnu/packages/bioinformatics.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ae426bfb8..141756465 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12193,3 +12193,17 @@ contains
@item reading and writing of popular alignment file formats;
@item a single-, or multi- threaded multiple sequence alignment algorithm.
@end itemize\n")))
+
+(define-public java-biojava-core-4.0
+ (package (inherit java-biojava-core)
+ (name "java-biojava-core")
+ (version "4.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/biojava/biojava")
+ (commit (string-append "biojava-" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13675f6y9aqi7bi2lk3s1z7a22ynccjiqwa8izh7p97xi9wsfmd8"))))))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 12/17] gnu: Add java-biojava-phylo-4.0.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (9 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 11/17] gnu: Add java-biojava-core-4.0 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 13/17] gnu: Add java-biojava-alignment-4.0 Ricardo Wurmus
` (4 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-biojava-phylo-4.0): New variable.
---
gnu/packages/bioinformatics.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 141756465..a01f2c6b8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12207,3 +12207,39 @@ contains
(sha256
(base32
"13675f6y9aqi7bi2lk3s1z7a22ynccjiqwa8izh7p97xi9wsfmd8"))))))
+
+(define-public java-biojava-phylo-4.0
+ (package (inherit java-biojava-core-4.0)
+ (name "java-biojava-phylo")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-phylo.jar"
+ #:source-dir "biojava-phylo/src/main/java/"
+ #:test-dir "biojava-phylo/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-forester" ,java-forester-1.005)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava interface to the forester phylogenomics library")
+ (description "The phylo module provides a biojava interface layer to the
+forester phylogenomics library for constructing phylogenetic trees.")))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 13/17] gnu: Add java-biojava-alignment-4.0.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (10 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 12/17] gnu: Add java-biojava-phylo-4.0 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 14/17] gnu: Add java-htsjdk-latest Ricardo Wurmus
` (3 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-biojava-alignment-4.0): New variable.
---
gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a01f2c6b8..98c0aff3a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12243,3 +12243,47 @@ contains
(synopsis "Biojava interface to the forester phylogenomics library")
(description "The phylo module provides a biojava interface layer to the
forester phylogenomics library for constructing phylogenetic trees.")))
+
+(define-public java-biojava-alignment-4.0
+ (package (inherit java-biojava-core-4.0)
+ (name "java-biojava-alignment")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-alignment.jar"
+ #:source-dir "biojava-alignment/src/main/java/"
+ #:test-dir "biojava-alignment/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-biojava-phylo" ,java-biojava-phylo-4.0)
+ ("java-forester" ,java-forester-1.005)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava API for genetic sequence alignment")
+ (description "The alignment module of BioJava provides an API that
+contains
+
+@itemize
+@item implementations of dynamic programming algorithms for sequence
+ alignment;
+@item reading and writing of popular alignment file formats;
+@item a single-, or multi- threaded multiple sequence alignment algorithm.
+@end itemize\n")))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 14/17] gnu: Add java-htsjdk-latest.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (11 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 13/17] gnu: Add java-biojava-alignment-4.0 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 15/17] gnu: Add java-htsjdk-2.10.1 Ricardo Wurmus
` (2 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-htsjdk-latest): New variable.
---
gnu/packages/bioinformatics.scm | 43 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 98c0aff3a..2402fa0e7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3019,6 +3019,49 @@ sequencing (HTS) data. There are also an number of useful utilities for
manipulating HTS data.")
(license license:expat)))
+(define-public java-htsjdk-latest
+ (package
+ (name "java-htsjdk")
+ (version "2.14.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samtools/htsjdk.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1lmya1fdjy03mz6zmdmd86j9v9vfhqb3952mqq075navx1i6g4bc"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; test require Scala
+ #:jdk ,icedtea-8
+ #:jar-name "htsjdk.jar"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; The tests require the scalatest package.
+ (add-after 'unpack 'remove-tests
+ (lambda _ (delete-file-recursively "src/test") #t)))))
+ (inputs
+ `(("java-ngs" ,java-ngs)
+ ("java-snappy-1" ,java-snappy-1)
+ ("java-commons-compress" ,java-commons-compress)
+ ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+ ("java-commons-jexl-2" ,java-commons-jexl-2)
+ ("java-xz" ,java-xz)))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (home-page "http://samtools.github.io/htsjdk/")
+ (synopsis "Java API for high-throughput sequencing data (HTS) formats")
+ (description
+ "HTSJDK is an implementation of a unified Java library for accessing
+common file formats, such as SAM and VCF, used for high-throughput
+sequencing (HTS) data. There are also an number of useful utilities for
+manipulating HTS data.")
+ (license license:expat)))
+
;; This version matches java-htsjdk 2.3.0. Later versions also require a more
;; recent version of java-htsjdk, which depends on gradle.
(define-public java-picard
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 15/17] gnu: Add java-htsjdk-2.10.1.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (12 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 14/17] gnu: Add java-htsjdk-latest Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 16/17] gnu: Add java-picard-2.10.3 Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 17/17] gnu: Add dropseq-tools Ricardo Wurmus
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-htsjdk-2.10.1): New variable.
---
gnu/packages/bioinformatics.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 2402fa0e7..37dac291f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3062,6 +3062,33 @@ sequencing (HTS) data. There are also an number of useful utilities for
manipulating HTS data.")
(license license:expat)))
+;; This is needed for picard 2.10.3
+(define-public java-htsjdk-2.10.1
+ (package (inherit java-htsjdk-latest)
+ (name "java-htsjdk")
+ (version "2.10.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samtools/htsjdk.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1kxh7slm2pm3x9p6jxa1wqsq9a31dhiiflhxnxqcisan4k3rwia2"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; tests require Scala
+ #:jdk ,icedtea-8
+ #:jar-name "htsjdk.jar"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; The tests require the scalatest package.
+ (add-after 'unpack 'remove-tests
+ (lambda _ (delete-file-recursively "src/test") #t)))))))
+
;; This version matches java-htsjdk 2.3.0. Later versions also require a more
;; recent version of java-htsjdk, which depends on gradle.
(define-public java-picard
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 16/17] gnu: Add java-picard-2.10.3.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (13 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 15/17] gnu: Add java-htsjdk-2.10.1 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
2018-03-01 18:41 ` [bug#30666] [PATCH 17/17] gnu: Add dropseq-tools Ricardo Wurmus
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (java-picard-2.10.3): New variable.
---
gnu/packages/bioinformatics.scm | 84 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 37dac291f..1dc922b67 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3167,6 +3167,90 @@ commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
VCF.")
(license license:expat)))
+;; This is needed for dropseq-tools
+(define-public java-picard-2.10.3
+ (package
+ (name "java-picard")
+ (version "2.10.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/broadinstitute/picard.git")
+ (commit version)))
+ (file-name (string-append "java-picard-" version "-checkout"))
+ (sha256
+ (base32
+ "1ajlx31l6i1k3y2rhnmgq07sz99g2czqfqgkr9mihmdjp3gwjhvi"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "picard.jar"
+ ;; Tests require jacoco:coverage.
+ #:tests? #f
+ #:jdk ,icedtea-8
+ #:main-class "picard.cmdline.PicardCommandLine"
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform)
+ (sxml xpath))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; This is necessary to ensure that htsjdk is found when using
+ ;; picard.jar as an executable.
+ (add-before 'build 'edit-classpath-in-manifest
+ (lambda* (#:key inputs #:allow-other-keys)
+ (chmod "build.xml" #o664)
+ (call-with-output-file "build.xml.new"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `((target . ,(lambda (tag . kids)
+ (let ((name ((sxpath '(name *text*))
+ (car kids)))
+ ;; FIXME: We're breaking the line
+ ;; early with a dummy path to
+ ;; ensure that the store reference
+ ;; isn't broken apart and can still
+ ;; be found by the reference
+ ;; scanner.
+ (msg (format #f
+ "\
+Class-Path: /~a \
+ ~a/share/java/htsjdk.jar${line.separator}"
+ ;; maximum line length is 70
+ (string-tabulate (const #\b) 57)
+ (assoc-ref inputs "java-htsjdk"))))
+ (if (member "manifest" name)
+ `(,tag ,@kids
+ (echo
+ (@ (message ,msg)
+ (file "${manifest.file}")
+ (append "true"))))
+ `(,tag ,@kids)))))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (rename-file "build.xml.new" "build.xml")
+ #t)))))
+ (propagated-inputs
+ `(("java-htsjdk" ,java-htsjdk-2.10.1)))
+ (native-inputs
+ `(("java-testng" ,java-testng)
+ ("java-guava" ,java-guava)))
+ (home-page "http://broadinstitute.github.io/picard/")
+ (synopsis "Tools for manipulating high-throughput sequencing data and formats")
+ (description "Picard is a set of Java command line tools for manipulating
+high-throughput sequencing (HTS) data and formats. Picard is implemented
+using the HTSJDK Java library to support accessing file formats that are
+commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
+VCF.")
+ (license license:expat)))
+
;; This is the last version of Picard to provide net.sf.samtools
(define-public java-picard-1.113
(package (inherit java-picard)
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [bug#30666] [PATCH 17/17] gnu: Add dropseq-tools.
2018-03-01 18:41 ` [bug#30666] [PATCH 01/17] gnu: Add java-la4j Ricardo Wurmus
` (14 preceding siblings ...)
2018-03-01 18:41 ` [bug#30666] [PATCH 16/17] gnu: Add java-picard-2.10.3 Ricardo Wurmus
@ 2018-03-01 18:41 ` Ricardo Wurmus
15 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2018-03-01 18:41 UTC (permalink / raw)
To: 30666; +Cc: Ricardo Wurmus
* gnu/packages/bioinformatics.scm (dropseq-tools): New variable.
---
gnu/packages/bioinformatics.scm | 137 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 137 insertions(+)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 1dc922b67..fac3aaeb7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12441,3 +12441,140 @@ contains
@item reading and writing of popular alignment file formats;
@item a single-, or multi- threaded multiple sequence alignment algorithm.
@end itemize\n")))
+
+(define-public dropseq-tools
+ (package
+ (name "dropseq-tools")
+ (version "1.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "http://mccarrolllab.com/download/1276/")
+ (file-name (string-append "dropseq-tools-" version ".zip"))
+ (sha256
+ (base32
+ "0yrffckxqk5l8b5xb6z4laq157zd9mdypr2p4b4vq2bhjzi1sj0s"))
+ ;; Delete bundled libraries
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file (find-files "jar/lib" "\\.jar$"))
+ (delete-file-recursively "3rdParty")))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; test data are not included
+ #:test-target "test"
+ #:build-target "all"
+ #:source-dir "public/src/"
+ #:jdk ,icedtea-8
+ #:make-flags
+ (list (string-append "-Dpicard.executable.dir="
+ (assoc-ref %build-inputs "java-picard")
+ "/share/java/"))
+ #:modules ((ice-9 match)
+ (srfi srfi-1)
+ (guix build utils)
+ (guix build java-utils)
+ (guix build ant-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ ;; All dependencies must be linked to "lib", because that's where
+ ;; they will be searched for when the Class-Path property of the
+ ;; manifest is computed.
+ (add-after 'unpack 'record-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir-p "jar/lib")
+ (let ((dirs (filter-map (match-lambda
+ ((name . dir)
+ (if (and (string-prefix? "java-" name)
+ (not (string=? name "java-testng")))
+ dir #f)))
+ inputs)))
+ (for-each (lambda (jar)
+ (symlink jar (string-append "jar/lib/" (basename jar))))
+ (append-map (lambda (dir) (find-files dir "\\.jar$"))
+ dirs)))
+ #t))
+ ;; There is no installation target
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share/java/"))
+ (lib (string-append share "/lib/"))
+ (scripts (list "BAMTagHistogram"
+ "BAMTagofTagCounts"
+ "BaseDistributionAtReadPosition"
+ "CollapseBarcodesInPlace"
+ "CollapseTagWithContext"
+ "ConvertToRefFlat"
+ "CreateIntervalsFiles"
+ "DetectBeadSynthesisErrors"
+ "DigitalExpression"
+ "Drop-seq_alignment.sh"
+ "FilterBAM"
+ "FilterBAMByTag"
+ "GatherGeneGCLength"
+ "GatherMolecularBarcodeDistributionByGene"
+ "GatherReadQualityMetrics"
+ "PolyATrimmer"
+ "ReduceGTF"
+ "SelectCellsByNumTranscripts"
+ "SingleCellRnaSeqMetricsCollector"
+ "TagBamWithReadSequenceExtended"
+ "TagReadWithGeneExon"
+ "TagReadWithInterval"
+ "TrimStartingSequence"
+ "ValidateReference")))
+ (for-each mkdir-p (list bin share lib))
+ (install-file "dist/dropseq.jar" share)
+ (for-each (lambda (script)
+ (chmod script #o555)
+ (install-file script bin))
+ scripts)
+ (substitute* (map (lambda (script)
+ (string-append bin "/" script))
+ scripts)
+ (("^java") (which "java"))
+ (("jar_deploy_dir=.*")
+ (string-append "jar_deploy_dir=" share "\n"))))
+ #t))
+ ;; FIXME: We do this after stripping jars because we don't want it to
+ ;; copy all these jars and strip them. We only want to install
+ ;; links. Arguably, this is a problem with the ant-build-system.
+ (add-after 'strip-jar-timestamps 'install-links
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/java/"))
+ (lib (string-append share "/lib/")))
+ (for-each (lambda (jar)
+ (symlink (readlink jar)
+ (string-append lib (basename jar))))
+ (find-files "jar/lib" "\\.jar$")))
+ #t)))))
+ (inputs
+ `(("jdk" ,icedtea-8)
+ ("java-picard" ,java-picard-2.10.3)
+ ("java-log4j-1.2-api" ,java-log4j-1.2-api)
+ ("java-commons-math3" ,java-commons-math3)
+ ("java-commons-jexl2" ,java-commons-jexl-2)
+ ("java-commons-collections4" ,java-commons-collections4)
+ ("java-commons-lang2" ,java-commons-lang)
+ ("java-commons-io" ,java-commons-io)
+ ("java-snappy-1.0.3-rc3" ,java-snappy-1)
+ ("java-guava" ,java-guava)
+ ("java-la4j" ,java-la4j)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-biojava-alignment" ,java-biojava-alignment-4.0)
+ ("java-jdistlib" ,java-jdistlib)
+ ("java-simple-xml" ,java-simple-xml)
+ ("java-snakeyaml" ,java-snakeyaml)))
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("java-testng" ,java-testng)))
+ (home-page "http://mccarrolllab.com/dropseq/")
+ (synopsis "Tools for Drop-seq analyses")
+ (description "Drop-seq is a technology to enable biologists to
+analyze RNA expression genome-wide in thousands of individual cells at
+once. This package provides tools to perform Drop-seq analyses.")
+ (license license:expat)))
--
2.15.1
^ permalink raw reply related [flat|nested] 19+ messages in thread