summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/bioinformatics.scm34
-rw-r--r--gnu/packages/patches/python-dendropy-exclude-failing-tests.patch21
3 files changed, 56 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 947d1b0efc..e95c6aedc3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -743,6 +743,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-2.7-source-date-epoch.patch	\
   %D%/packages/patches/python-3-deterministic-build-info.patch	\
   %D%/packages/patches/python-3-search-paths.patch		\
+  %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
   %D%/packages/patches/python-disable-ssl-test.patch		\
   %D%/packages/patches/python-fix-tests.patch			\
   %D%/packages/patches/python-ipython-inputhook-ctype.patch	\
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 03e7584f54..23a4470d7a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1446,6 +1446,40 @@ accessing bigWig files.")
       (native-inputs
        `(("python-setuptools" ,python2-setuptools))))))
 
+(define-public python-dendropy
+  (package
+    (name "python-dendropy")
+    (version "4.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "DendroPy" version))
+       (sha256
+        (base32
+         "1jfz7gp18wph311w1yygbvjanb3n5mdqal439bb6myw41dwb5m63"))
+       ;; There are two known test failures that will be fixed in the next
+       ;; release after 4.1.0.
+       ;; https://github.com/jeetsukumaran/DendroPy/issues/48
+       (patches (search-patches
+                 "python-dendropy-exclude-failing-tests.patch"))))
+    (build-system python-build-system)
+    (home-page "http://packages.python.org/DendroPy/")
+    (synopsis "Library for phylogenetics and phylogenetic computing")
+    (description
+     "DendroPy is a library for phylogenetics and phylogenetic computing: reading,
+writing, simulation, processing and manipulation of phylogenetic
+trees (phylogenies) and characters.")
+    (license license:bsd-3)
+    (properties `((python2-variant . ,(delay python2-dendropy))))))
+
+(define-public python2-dendropy
+  (let ((base (package-with-python2 (strip-python2-variant python-dendropy))))
+    (package
+      (inherit base)
+      (native-inputs `(("python2-setuptools" ,python2-setuptools)
+                       ,@(package-native-inputs base))))))
+
+
 (define-public deeptools
   (package
     (name "deeptools")
diff --git a/gnu/packages/patches/python-dendropy-exclude-failing-tests.patch b/gnu/packages/patches/python-dendropy-exclude-failing-tests.patch
new file mode 100644
index 0000000000..288a58b06f
--- /dev/null
+++ b/gnu/packages/patches/python-dendropy-exclude-failing-tests.patch
@@ -0,0 +1,21 @@
+diff --git a/dendropy/test/test_phylogenetic_distance_matrix.py b/dendropy/test/test_phylogenetic_distance_matrix.py
+index 10c05f5..a18ba52 100644
+--- a/dendropy/test/test_phylogenetic_distance_matrix.py
++++ b/dendropy/test/test_phylogenetic_distance_matrix.py
+@@ -793,7 +793,7 @@ class PdmUpgmaTree(PdmTreeChecker, unittest.TestCase):
+                     expected_tree=expected_tree)
+ 
+ class NodeToNodeDistancesTest(unittest.TestCase):
+-
++    @unittest.expectedFailure
+     def test_distances(self):
+         ## get distances from ape
+         # library(ape)
+@@ -825,6 +825,7 @@ class NodeToNodeDistancesTest(unittest.TestCase):
+                     e = reference_table[nd1.label, nd2.label]
+                     self.assertAlmostEqual(d, e)
+ 
++    @unittest.expectedFailure
+     def test_mrca(self):
+         test_runs = [
+                 "hiv1.newick",