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>
This commit is contained in:
parent
896a81ba35
commit
8183210e59
@ -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>
|
37
var/spack/repos/builtin/packages/generax/package.py
Normal file
37
var/spack/repos/builtin/packages/generax/package.py
Normal file
@ -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)
|
27
var/spack/repos/builtin/packages/muscle5/package.py
Normal file
27
var/spack/repos/builtin/packages/muscle5/package.py
Normal file
@ -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)
|
@ -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")
|
28
var/spack/repos/builtin/packages/py-ete3/package.py
Normal file
28
var/spack/repos/builtin/packages/py-ete3/package.py
Normal file
@ -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"))
|
21
var/spack/repos/builtin/packages/py-itolapi/package.py
Normal file
21
var/spack/repos/builtin/packages/py-itolapi/package.py
Normal file
@ -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"))
|
22
var/spack/repos/builtin/packages/py-opentree/package.py
Normal file
22
var/spack/repos/builtin/packages/py-opentree/package.py
Normal file
@ -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"))
|
30
var/spack/repos/builtin/packages/py-pastml/package.py
Normal file
30
var/spack/repos/builtin/packages/py-pastml/package.py
Normal file
@ -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"))
|
22
var/spack/repos/builtin/packages/py-pypng/package.py
Normal file
22
var/spack/repos/builtin/packages/py-pypng/package.py
Normal file
@ -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")
|
62
var/spack/repos/builtin/packages/py-topiary-asr/package.py
Normal file
62
var/spack/repos/builtin/packages/py-topiary-asr/package.py
Normal file
@ -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"),
|
||||
)
|
27
var/spack/repos/builtin/packages/py-toyplot/package.py
Normal file
27
var/spack/repos/builtin/packages/py-toyplot/package.py
Normal file
@ -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"))
|
28
var/spack/repos/builtin/packages/py-toytree/package.py
Normal file
28
var/spack/repos/builtin/packages/py-toytree/package.py
Normal file
@ -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"))
|
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user