From 2987efa93c12c97bff9629e674487b6969048302 Mon Sep 17 00:00:00 2001
From: Luke Diorio-Toth <ldioriototh@gmail.com>
Date: Mon, 11 Nov 2024 20:13:46 -0600
Subject: packages: new versions (`diamond`, `py-alive-progress`, `py-bakta`,
 `py-deepsig-biocomp`), new packages (`py-pyhmmer`, `py-pyrodigal`) (#47277)

* added updated versions
* added pyhmmer
* updated infernal
* fix blast-plus for apple-clang
* fix py-biopython build on apple-clang
* remove erroneous biopython dep: build issue is with python 3.8, not biopython
* deepsig python 3.9: expanding unnecessary python restrictions
* add pyrodigal
* fix unnecessarily strict diamond version
* builds and updates: blast-plus indexing broken, still need to test db download and bakta pipeline
* builds and runs
* revert blast-plus changes: remove my personal hacks to get blast-plus to build
---
 .../repos/builtin/packages/diamond/package.py      |  1 +
 .../builtin/packages/py-alive-progress/package.py  |  5 ++-
 .../repos/builtin/packages/py-bakta/package.py     | 43 ++++++++++++++++------
 .../builtin/packages/py-deepsig-biocomp/package.py |  6 +--
 .../repos/builtin/packages/py-pyhmmer/package.py   | 27 ++++++++++++++
 .../repos/builtin/packages/py-pyrodigal/package.py | 25 +++++++++++++
 6 files changed, 92 insertions(+), 15 deletions(-)
 create mode 100644 var/spack/repos/builtin/packages/py-pyhmmer/package.py
 create mode 100644 var/spack/repos/builtin/packages/py-pyrodigal/package.py

(limited to 'var')

diff --git a/var/spack/repos/builtin/packages/diamond/package.py b/var/spack/repos/builtin/packages/diamond/package.py
index c87e675eae..1ce6bcae9d 100644
--- a/var/spack/repos/builtin/packages/diamond/package.py
+++ b/var/spack/repos/builtin/packages/diamond/package.py
@@ -16,6 +16,7 @@ class Diamond(CMakePackage):
 
     license("GPL-3.0-only")
 
+    version("2.1.10", sha256="c6ede5df30d9d496af314e740964c35a0e358458d9c8d9b8dd517d69828d9981")
     version("2.1.9", sha256="4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88")
     version("2.1.8", sha256="b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415")
     version("2.1.7", sha256="2dcaba0e79ecb02c3d2a6816d317e714767118a9a056721643abff4c586ca95b")
diff --git a/var/spack/repos/builtin/packages/py-alive-progress/package.py b/var/spack/repos/builtin/packages/py-alive-progress/package.py
index 31c011e687..0342326115 100644
--- a/var/spack/repos/builtin/packages/py-alive-progress/package.py
+++ b/var/spack/repos/builtin/packages/py-alive-progress/package.py
@@ -16,12 +16,15 @@ class PyAliveProgress(PythonPackage):
 
     license("MIT")
 
+    version("3.2.0", sha256="ede29d046ff454fe56b941f686f89dd9389430c4a5b7658e445cb0b80e0e4deb")
     version("2.4.1", sha256="089757c8197f27ad972ba27e1060f6db92368d83c736884e159034fd74865323")
     version("1.6.2", sha256="642e1ce98becf226c8c36bf24e10221085998c5465a357a66fb83b7dc618b43e")
 
     depends_on("python@2.7:3", type=("build", "run"))
     depends_on("python@3.6:3", type=("build", "run"), when="@2:")
     depends_on("python@3.7:3", type=("build", "run"), when="@2.2:")
+    depends_on("python@3.9:3", type=("build", "run"), when="@3.2:")
     depends_on("py-setuptools", type="build")
-    depends_on("py-about-time@3.1.1", type=("build", "run"), when="@2.4.1:")
+    depends_on("py-about-time@3.1.1", type=("build", "run"), when="@2.4.1")
+    depends_on("py-about-time@4.2.1", type=("build", "run"), when="@3:")
     depends_on("py-grapheme@0.6.0", type=("build", "run"), when="@2.4.1:")
diff --git a/var/spack/repos/builtin/packages/py-bakta/package.py b/var/spack/repos/builtin/packages/py-bakta/package.py
index 57dcbc64bb..edec5d634f 100644
--- a/var/spack/repos/builtin/packages/py-bakta/package.py
+++ b/var/spack/repos/builtin/packages/py-bakta/package.py
@@ -18,21 +18,42 @@ class PyBakta(PythonPackage):
 
     license("GPL-3.0-only")
 
+    version("1.9.4", sha256="10330a10e459144dc78daa26f3a73674799706e2e1653e080366b1bbb9e5a5d9")
     version("1.5.1", sha256="36781612c4eaa99e6e24a00e8ab5b27dadf21c98ae6d16432f3e78c96a4adb5d")
 
-    depends_on("python@3.8:", type=("build", "run"))
+    variant("deepsig", default=True, description="builds with deepsig to predict signal peptides")
+
+    depends_on("python@3.8:3.10", type=("build", "run"))
     depends_on("py-setuptools", type=("build", "run"))
     depends_on("py-biopython@1.78:", type=("build", "run"))
-    depends_on("py-xopen@1.1.0:", type=("build", "run"))
+    depends_on("py-xopen@1.5.0:", when="@1.8.2:", type=("build", "run"))
+    depends_on("py-xopen@1.1.0:", when="@:1.8.1", type=("build", "run"))
     depends_on("py-requests@2.25.1:", type=("build", "run"))
-    depends_on("py-alive-progress@1.6.2", type=("build", "run"))
-    depends_on("trnascan-se@2.0.8:", type=("build", "run"))
-    depends_on("aragorn@1.2.38:", type=("build", "run"))
+    depends_on("py-alive-progress@3.0.1:", when="@1.7.0:", type=("build", "run"))
+    depends_on("py-alive-progress@1.6.2", when="@:1.6.1", type=("build", "run"))
+    depends_on("py-pyyaml@6.0:", when="@1.6.0:", type=("build", "run"))
+    depends_on("trnascan-se@2.0.11:", when="@1.6.0:", type=("build", "run"))
+    depends_on("trnascan-se@2.0.8:", when="@:1.5.1", type=("build", "run"))
+    depends_on("aragorn@1.2.41:", when="@1.7.0:", type=("build", "run"))
+    depends_on("aragorn@1.2.38:", when="@:1.6.1", type=("build", "run"))
     depends_on("infernal@1.1.4:", type=("build", "run"))
     depends_on("pilercr@1.06:", type=("build", "run"))
-    depends_on("prodigal@2.6.3:", type=("build", "run"))
-    depends_on("hmmer@3.3.2:", type=("build", "run"))
-    depends_on("diamond@2.0.14:", type=("build", "run"))
-    depends_on("blast-plus@2.12.0:", type=("build", "run"))
-    depends_on("amrfinder@3.10.23:", type=("build", "run"))
-    depends_on("py-deepsig-biocomp@1.2.5:", type=("build", "run"))
+    depends_on("py-pyrodigal@3.1.0:", when="@1.9.0:", type=("build", "run"))
+    depends_on("py-pyrodigal@2.1.0:", when="@1.7.0:1.8.2", type=("build", "run"))
+    depends_on("py-pyrodigal@2.0.2:", when="@1.6.0:1.6.1", type=("build", "run"))
+    depends_on("prodigal@2.6.3:", when="@:1.5.1", type=("build", "run"))
+    depends_on("hmmer@3.3.2:", when="@:1.8.1", type=("build", "run"))
+    depends_on("py-pyhmmer@0.10.4:", when="@1.9.4:", type=("build", "run"))
+    depends_on("py-pyhmmer@0.10.0:", when="@1.8.2:1.9.3", type=("build", "run"))
+    # known bug with diamond v2.1.9
+    # see https://github.com/oschwengers/bakta/issues/290
+    depends_on("diamond@2.1.8,2.1.10:", when="@1.9.0:", type=("build", "run"))
+    depends_on("diamond@2.0.14:", when="@:1.8.2", type=("build", "run"))
+    depends_on("blast-plus@2.14.0:", when="@1.9.0:", type=("build", "run"))
+    depends_on("blast-plus@2.12.0:", when="@:1.8.2", type=("build", "run"))
+    depends_on("amrfinder@3.11.26:", when="@1.9.0:", type=("build", "run"))
+    depends_on("amrfinder@3.10.23:", when="@1.5.1", type=("build", "run"))
+    depends_on("circos@0.69.8:", when="@1.6.0:", type=("build", "run"))
+    depends_on("py-deepsig-biocomp@1.2.5:", when="+deepsig", type=("build", "run"))
+
+    conflicts("platform=darwin", when="+deepsig")
diff --git a/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py b/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py
index 01b527251f..8c1abc2e8f 100644
--- a/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py
+++ b/var/spack/repos/builtin/packages/py-deepsig-biocomp/package.py
@@ -19,11 +19,11 @@ class PyDeepsigBiocomp(PythonPackage):
 
     version("1.2.5", sha256="e954b815d63c221c564c7d3fe27123d7cd2c39b191d6107369ab095d506496e0")
 
-    depends_on("python@3.8", type=("build", "run"))
+    depends_on("python@3.8:", type=("build", "run"))
     depends_on("py-setuptools", type="build")
     depends_on("py-biopython@1.78:", type=("build", "run"))
-    depends_on("py-keras@2.4.3", type=("build", "run"))
-    depends_on("py-tensorflow@2.2.0", type=("build", "run"))
+    depends_on("py-keras@2.4.3:", type=("build", "run"))
+    depends_on("py-tensorflow@2.2.0:", type=("build", "run"))
     depends_on("py-tensorboard", type=("build", "run"))
 
     @run_after("install")
diff --git a/var/spack/repos/builtin/packages/py-pyhmmer/package.py b/var/spack/repos/builtin/packages/py-pyhmmer/package.py
new file mode 100644
index 0000000000..b263e89389
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyhmmer/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PyPyhmmer(PythonPackage):
+    """HMMER is a biological sequence analysis tool that uses profile hidden
+    Markov models to search for sequence homologs. HMMER3 is developed and
+    maintained by the Eddy/Rivas Laboratory at Harvard University.  pyhmmer
+    is a Python package, implemented using the Cython language, that provides
+    bindings to HMMER3."""
+
+    homepage = "https://github.com/althonos/pyhmmer"
+    pypi = "pyhmmer/pyhmmer-0.10.14.tar.gz"
+
+    license("MIT", checked_by="luke-dt")
+
+    version("0.10.15", sha256="bf8e97ce8da6fb5850298f3074640f3e998d5a655877f865c1592eb057dc7921")
+    version("0.10.14", sha256="eb50bdfdf67a3b1fecfe877d7ca6d9bade9a9f3dea3ad60c959453bbb235573d")
+
+    depends_on("python@3.6:", type=("build", "run"))
+    depends_on("py-setuptools@46.4:", type="build")
+    depends_on("py-cython@3.0", type="build")
+    depends_on("py-psutil@5.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyrodigal/package.py b/var/spack/repos/builtin/packages/py-pyrodigal/package.py
new file mode 100644
index 0000000000..6bd206f58b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyrodigal/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PyPyrodigal(PythonPackage):
+    """Cython bindings and Python interface to Prodigal, an ORF finder for
+    genomes and metagenomes"""
+
+    homepage = "https://github.com/althonos/pyrodigal"
+    pypi = "pyrodigal/pyrodigal-3.5.2.tar.gz"
+
+    license("GPL-3.0", checked_by="luke-dt")
+
+    version("3.5.2", sha256="2a40eb6113e720ada51c326958b295944cdc33ecee9f25d5bad4e9a8e6e6f7f5")
+
+    depends_on("c", type="build")
+
+    depends_on("python@3.6:", type=("build", "run"))
+    depends_on("py-setuptools@46.4:", type="build")
+    depends_on("py-archspec@0.2.0:", type="build")
+    depends_on("py-cython@3.0:", type=("build", "run"))
-- 
cgit v1.2.3-70-g09d2