summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages
diff options
context:
space:
mode:
authorsnehring <7978778+snehring@users.noreply.github.com>2023-04-29 16:52:32 -0500
committerGitHub <noreply@github.com>2023-04-29 17:52:32 -0400
commit8183210e59b032b0f927dfebca75963d258617a1 (patch)
treef8c408943ddaab6d10c1396f4e2b6d644a15e142 /var/spack/repos/builtin/packages
parent896a81ba35e98b6c08b3dcc037c9d19906aabf8e (diff)
downloadspack-8183210e59b032b0f927dfebca75963d258617a1.tar.gz
spack-8183210e59b032b0f927dfebca75963d258617a1.tar.bz2
spack-8183210e59b032b0f927dfebca75963d258617a1.tar.xz
spack-8183210e59b032b0f927dfebca75963d258617a1.zip
Feature/topiary (#37157)
* generax: adding new package generax * muscle5: adding new package muscle5 * py-custom-inherit: adding new package py-custom-inherit * py-ete3: adding new package py-ete3 * py-itolapi: adding new package py-itolapi * py-opentree: adding new package py-opentree * py-pypng: adding new package py-pypng * py-toyplot: adding new package py-toyplot * py-toytree: adding new package py-toytree * py-pastml: adding new package py-pastml * raxml-ng: adding new version 1.1.0 * py-topiary: adding new package py-topiary * generax: adding master branch version generax: adding version 2.0.1 generax: add mpi variant * py-topiary: add main * generax: correcting commit for 2.0.1 * Update var/spack/repos/builtin/packages/py-itolapi/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-opentree/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * py-topiary-asr: rename package, requested changes. * Update var/spack/repos/builtin/packages/py-topiary-asr/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> --------- Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Diffstat (limited to 'var/spack/repos/builtin/packages')
-rw-r--r--var/spack/repos/builtin/packages/generax/model-stdexcept.patch12
-rw-r--r--var/spack/repos/builtin/packages/generax/package.py37
-rw-r--r--var/spack/repos/builtin/packages/muscle5/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-custom-inherit/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-ete3/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-itolapi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-opentree/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pastml/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-pypng/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-topiary-asr/package.py62
-rw-r--r--var/spack/repos/builtin/packages/py-toyplot/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-toytree/package.py28
-rw-r--r--var/spack/repos/builtin/packages/raxml-ng/package.py1
13 files changed, 339 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/generax/model-stdexcept.patch b/var/spack/repos/builtin/packages/generax/model-stdexcept.patch
new file mode 100644
index 0000000000..20728f8540
--- /dev/null
+++ b/var/spack/repos/builtin/packages/generax/model-stdexcept.patch
@@ -0,0 +1,12 @@
+diff --git a/src/core/IO/Model.hpp b/src/core/IO/Model.hpp
+index 0eb6ce1..3a16942 100644
+--- a/src/core/IO/Model.hpp
++++ b/src/core/IO/Model.hpp
+@@ -6,6 +6,7 @@
+
+ #include <algorithm>
+ #include <unordered_map>
++#include <stdexcept>
+ extern "C" {
+ #include <pll.h>
+ #include <pllmod_algorithm.h>
diff --git a/var/spack/repos/builtin/packages/generax/package.py b/var/spack/repos/builtin/packages/generax/package.py
new file mode 100644
index 0000000000..149f1f6c9c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/generax/package.py
@@ -0,0 +1,37 @@
+# Copyright 2013-2023 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 Generax(CMakePackage):
+ """GeneRax is a parallel tool for species tree-aware maximum likelihood
+ based gene family tree inference under gene duplication, transfer,
+ and loss.
+ """
+
+ homepage = "https://github.com/BenoitMorel/GeneRax"
+ git = "https://github.com/BenoitMorel/GeneRax.git"
+
+ maintainers("snehring")
+
+ version("master", branch="master", submodules=True)
+ version("dev", branch="dev", submodules=True)
+ version("2.0.4", commit="e4fab40f407bdd3b588d3d69a449f8c1be56f9fa", submodules=True)
+ version("2.0.1", commit="0623dae55dd602a60faae63e9991fa8d41782456", submodules=True)
+
+ depends_on("cmake@3.0.1:", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("bison")
+ depends_on("flex")
+
+ variant("mpi", default=False)
+
+ build_directory = "build"
+
+ patch("model-stdexcept.patch", when="@:2.0.4")
+
+ def install(self, spec, prefix):
+ install_tree("build/bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/muscle5/package.py b/var/spack/repos/builtin/packages/muscle5/package.py
new file mode 100644
index 0000000000..543c1958f9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/muscle5/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2023 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 Muscle5(MakefilePackage):
+ """MUSCLE is widely-used software for making multiple alignments of
+ biological sequences.
+ """
+
+ homepage = "https://drive5.com/muscle5/"
+ url = "https://github.com/rcedgar/muscle/archive/refs/tags/5.1.0.tar.gz"
+
+ maintainers("snehring")
+
+ version("5.1.0", sha256="2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d")
+
+ depends_on("sed", type="build")
+
+ build_directory = "src"
+
+ def install(self, spec, prefix):
+ mkdir(prefix.bin)
+ install("src/Linux/muscle", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-custom-inherit/package.py b/var/spack/repos/builtin/packages/py-custom-inherit/package.py
new file mode 100644
index 0000000000..ea17dadeb5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-custom-inherit/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2023 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 PyCustomInherit(PythonPackage):
+ """A Python package that provides customized docstring inheritance schemes
+ between derived classes and their parents.
+ """
+
+ homepage = "https://github.com/rsokl/custom_inherit"
+ pypi = "custom_inherit/custom_inherit-2.2.2.tar.gz"
+
+ maintainers("snehring")
+
+ version("2.4.1", sha256="7052eb337bcce83551815264391cc4efc2bf70b295a3c52aba64f1ab57c3a8a2")
+ version("2.2.2", sha256="83c048bc3415a9e38e44e78dbe231f837aa3d4fd91b4e71443b6f6e38034f583")
+
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ete3/package.py b/var/spack/repos/builtin/packages/py-ete3/package.py
new file mode 100644
index 0000000000..745e430610
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-ete3/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2023 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 PyEte3(PythonPackage):
+ """The Environment for Tree Exploration (ETE) is a Python programming
+ toolkit that assists in the recontruction, manipulation, analysis
+ and visualization of phylogenetic trees (although clustering
+ trees or any other tree-like data structure are also supported).
+ """
+
+ homepage = "http://etetoolkit.org/"
+ pypi = "ete3/ete3-3.1.2.tar.gz"
+
+ maintainers("snehring")
+
+ version("3.1.2", sha256="4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyqt5", type=("build", "run"))
+ depends_on("py-lxml", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-itolapi/package.py b/var/spack/repos/builtin/packages/py-itolapi/package.py
new file mode 100644
index 0000000000..95b1922544
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-itolapi/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2023 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 PyItolapi(PythonPackage):
+ """API for interacting with itol.embl.de"""
+
+ homepage = "https://github.com/albertyw/itolapi"
+ pypi = "itolapi/itolapi-4.1.2.tar.gz"
+
+ maintainers("snehring")
+
+ version("4.1.2", sha256="37a866a117a80d3d72a6eb6b2cba30444751c644cc6bc4242f050750375a8397")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-requests@2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opentree/package.py b/var/spack/repos/builtin/packages/py-opentree/package.py
new file mode 100644
index 0000000000..a4b5d9b21f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-opentree/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2023 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 PyOpentree(PythonPackage):
+ """Library for interacting with Open Tree of Life resources."""
+
+ homepage = "https://github.com/OpenTreeOfLife/python-opentree"
+ pypi = "opentree/opentree-1.0.1.tar.gz"
+
+ maintainers("snehring")
+
+ version("1.0.1", sha256="a765ae37cd72c232c292506c170656aaaa4be81e6de6ccd4845eec01bfe45e4d")
+
+ depends_on("py-setuptools", type=("build", "run"))
+
+ depends_on("py-requests@2.18:", type=("build", "run"))
+ depends_on("py-dendropy@4.4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pastml/package.py b/var/spack/repos/builtin/packages/py-pastml/package.py
new file mode 100644
index 0000000000..9e75b05798
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pastml/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2023 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 PyPastml(PythonPackage):
+ """Ancestral character reconstruction and visualisation for rooted
+ phylogenetic trees.
+ """
+
+ homepage = "https://github.com/evolbioinfo/pastml"
+ pypi = "pastml/pastml-1.9.40.tar.gz"
+
+ maintainers("snehring")
+
+ version("1.9.40", sha256="5334bc8de70a968117240b90d90878ac935be18de6e6e485fb1a8f90cd539fea")
+
+ depends_on("python@3.8:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-ete3@3.1.1:", type=("build", "run"))
+ depends_on("py-pandas@1.0.0:", type=("build", "run"))
+ depends_on("py-numpy@1.22:", type=("build", "run"))
+ depends_on("py-jinja2@2.11.0:", type=("build", "run"))
+ depends_on("py-scipy@1.5.0:", type=("build", "run"))
+ depends_on("py-itolapi@4.0.0:", type=("build", "run"))
+ depends_on("py-biopython@1.70:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pypng/package.py b/var/spack/repos/builtin/packages/py-pypng/package.py
new file mode 100644
index 0000000000..b23a7c4443
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pypng/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2023 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 PyPypng(PythonPackage):
+ """PyPNG allows PNG image files to be read and written using pure Python."""
+
+ homepage = "https://gitlab.com/drj11/pypng"
+ pypi = "pypng/pypng-0.0.20.tar.gz"
+
+ maintainers("snehring")
+
+ version(
+ "0.20220715.0", sha256="739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"
+ )
+ version("0.0.20", sha256="1032833440c91bafee38a42c38c02d00431b24c42927feb3e63b104d8550170b")
+
+ depends_on("py-setuptools@35.0.2:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-topiary-asr/package.py b/var/spack/repos/builtin/packages/py-topiary-asr/package.py
new file mode 100644
index 0000000000..ec09c18b22
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-topiary-asr/package.py
@@ -0,0 +1,62 @@
+# Copyright 2013-2023 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 PyTopiaryAsr(PythonPackage):
+ """Python framework for doing ancestral sequence reconstruction."""
+
+ homepage = "https://github.com/harmslab/topiary"
+
+ url = "https://github.com/harmslab/topiary/archive/refs/tags/v0.9.9.tar.gz"
+ git = "https://github.com/harmslab/topiary.git"
+
+ maintainers("snehring")
+
+ version("main", branch="main")
+ version("0.9.9", sha256="5601fba92e7add33a3732482426b2c7ef46b0fccc4a4ea11357537e1b937903c")
+
+ depends_on("python@3.8:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-numpy@:1.21", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-ete3", type=("build", "run"))
+ depends_on("py-toytree", type=("build", "run"))
+ depends_on("py-dendropy", type=("build", "run"))
+ depends_on("py-pastml", type=("build", "run"))
+ depends_on("py-openpyxl", type=("build", "run"))
+ depends_on("py-opentree", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-xlrd", type=("build", "run"))
+ # while undocumented, this requires mpi4py to run
+ depends_on("py-mpi4py", type=("build", "run"))
+
+ # runtime deps from https://topiary-asr.readthedocs.io/en/latest/installation.html#required-libraries
+ depends_on("blast-plus", type="run")
+ depends_on("muscle5@5.0:", type="run")
+ depends_on("generax@2.0:+mpi", type="run")
+ depends_on("raxml-ng@1.1:", type="run")
+
+ depends_on("mpi", type="run")
+ depends_on("openmpi+legacylaunchers", type="run", when="^openmpi schedulers=slurm")
+
+ conflicts("mpich")
+
+ def patch(self):
+ if self.spec.satisfies("^raxml-ng+mpi"):
+ filter_file(
+ r"RAXML_BINARY\s*=\s*\"raxml-ng\"$",
+ 'RAXML_BINARY = "raxml-ng-mpi"',
+ join_path("topiary", "raxml", "_raxml.py"),
+ )
+ filter_file(
+ r"binary\s*=\s*\"raxml-ng\"",
+ 'binary = "raxml-ng-mpi"',
+ join_path("topiary", "_private", "installed.py"),
+ )
diff --git a/var/spack/repos/builtin/packages/py-toyplot/package.py b/var/spack/repos/builtin/packages/py-toyplot/package.py
new file mode 100644
index 0000000000..78e5e636bb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-toyplot/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2023 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 PyToyplot(PythonPackage):
+ """A modern plotting toolkit supporting electronic publishing and reproducibility."""
+
+ homepage = "https://github.com/sandialabs/toyplot"
+ pypi = "toyplot/toyplot-0.19.0.tar.gz"
+
+ maintainers("snehring")
+
+ version("1.0.3", sha256="7b7b2bc5784fd75e5c695300bffc80d568c83bebef543bb54e6e6c2229912edd")
+ version("0.19.0", sha256="d199b4ac2d5ee454fec8be937bd9f1a313145545adc192bb0db2fd3defada484")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-arrow@1.0:", type=("build", "run"))
+ depends_on("py-custom-inherit", type=("build", "run"))
+ depends_on("py-multipledispatch", type=("build", "run"))
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
+ depends_on("py-pypng", type=("build", "run"))
+ depends_on("py-reportlab", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-toytree/package.py b/var/spack/repos/builtin/packages/py-toytree/package.py
new file mode 100644
index 0000000000..80c08153ee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-toytree/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2023 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 PyToytree(PythonPackage):
+ """A minimalist tree manipulation and plotting library for use inside
+ jupyter notebooks. Toytree combines a popular tree data structure
+ based on the ete3 library with modern plotting tools based on the
+ toyplot plotting library.
+ """
+
+ homepage = "https://github.com/eaton-lab/toytree"
+ pypi = "toytree/toytree-2.0.1.tar.gz"
+
+ maintainers("snehring")
+
+ version("2.0.1", sha256="4f1452a76441857a13f72c99bf7d9f0a394cd8eae7fc02ee5349d946f2507101")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-toyplot", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/raxml-ng/package.py b/var/spack/repos/builtin/packages/raxml-ng/package.py
index ac0edb6301..f2c1c381a8 100644
--- a/var/spack/repos/builtin/packages/raxml-ng/package.py
+++ b/var/spack/repos/builtin/packages/raxml-ng/package.py
@@ -21,6 +21,7 @@ class RaxmlNg(CMakePackage):
url = "https://github.com/amkozlov/raxml-ng/archive/1.0.1.tar.gz"
git = "https://github.com/amkozlov/raxml-ng.git"
+ version("1.1.0", submodules=True)
version("1.0.2", submodules=True)
version("1.0.1", submodules=True)