Update busco to 5.4.3 (#32221)

* metaeuk: new package

* sepp: new package

* busco: adding version 5.4.3

* busco: adding maintainers

* metauk: more accurate cmake dep

* sepp: adding missing dep and accurate python dep

* sepp: remove install_tree

* sepp: extend python
This commit is contained in:
snehring 2022-08-18 00:31:04 -05:00 committed by GitHub
parent d398e91e88
commit a164b0b3e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 90 additions and 4 deletions

View File

@ -13,7 +13,9 @@ class Busco(PythonPackage):
homepage = "https://busco.ezlab.org/"
url = "https://gitlab.com/api/v4/projects/ezlab%2Fbusco/repository/archive.tar.gz?sha=2.0.1"
git = "https://gitlab.com/ezlab/busco.git"
maintainers = ["snehring"]
version("5.4.3", sha256="8b92dcc32691f7c1629aaaa7bd54f96073273ba7de5a3a8586fe552c51a9d36a")
version("4.1.3", sha256="08ded26aeb4f6aef791cd88524c3c00792a054c7672ea05219f468d495e7b072")
# TODO: check the installation procedure for version 3.0.2
@ -31,20 +33,25 @@ class Busco(PythonPackage):
depends_on("blast-plus")
depends_on("hmmer")
depends_on("augustus")
depends_on("py-biopython", when="@4.1.3", type=("build", "run"))
depends_on("py-biopython", when="@4.1.3:", type=("build", "run"))
depends_on("py-pandas", when="@5:", type="run")
depends_on("bbmap", when="@5:", type="run")
depends_on("prodigal", when="@5:", type="run")
depends_on("metaeuk", when="@5:", type="run")
depends_on("sepp", when="@5:", type="run")
def install(self, spec, prefix):
if self.spec.satisfies("@4.1.3"):
if self.spec.satisfies("@4.1.3:"):
install_tree("bin", prefix.bin)
install_tree("config", prefix.config)
super(self, PythonPackage).install(spec, prefix)
super(Busco, self).install(spec, prefix)
if self.spec.satisfies("@3.0.1"):
with working_dir("scripts"):
mkdirp(prefix.bin)
install("generate_plot.py", prefix.bin)
install("run_BUSCO.py", prefix.bin)
install_tree("config", prefix.config)
super(self, PythonPackage).install(spec, prefix)
super(Busco, self).install(spec, prefix)
if self.spec.satisfies("@2.0.1"):
mkdirp(prefix.bin)
install("BUSCO.py", prefix.bin)

View File

@ -0,0 +1,20 @@
# Copyright 2013-2022 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 Metaeuk(CMakePackage):
"""MetaEuk is a modular toolkit designed for large-scale gene discovery
and annotation in eukaryotic metagenomic contigs.
"""
homepage = "https://metaeuk.soedinglab.org/"
url = "https://github.com/soedinglab/metaeuk/archive/refs/tags/6-a5d39d9.tar.gz"
maintainers = ["snehring"]
version("6-a5d39d9", sha256="be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126")
depends_on("cmake@2.8.12:", type="build")

View File

@ -0,0 +1,59 @@
# Copyright 2013-2022 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 Sepp(Package):
"""SEPP stands for SATe-enabled phylogenetic placement"""
homepage = "https://github.com/smirarab/sepp"
url = "https://github.com/smirarab/sepp/archive/refs/tags/4.5.1.tar.gz"
maintainers = ["snehring"]
version("4.5.1", sha256="51e052569ae89f586a1a94c804f09fe1b7910a3ffff7664e2005f18c7d3f717b")
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-dendropy@4:", type=("build", "run"))
depends_on("java@1.8:", type="run")
depends_on("pasta@1:", type="run")
depends_on("blast-plus@2.10.1:", type="run")
extends("python")
def install(self, spec, prefix):
dirs = ["sepp", "tools"]
for d in dirs:
install_tree(d, join_path(prefix, d))
files = ["default.main.config", "*.py"]
for f in files:
install(f, prefix)
with working_dir(prefix):
prefix_string = "--prefix=" + prefix
python("setup.py", "config", "-c")
python("setup.py", "install", prefix_string)
python("setup.py", "upp", "-c")
for f in ["merge_script.py", "run_ensemble.py"]:
install(f, prefix.bin)
set_executable(join_path(prefix.bin, f))
remove_files = [
"merge_script.py",
"run_ensemble.py",
"run_sepp.py",
"run_upp.py",
"setup.py",
"split_sequences.py",
"distribute_setup.py",
"home.path",
"default.main.config",
]
for f in remove_files:
force_remove(f)
dirs = ["sepp", "tools", "build", "dist", "__pycache__", "sepp.egg-info"]
for d in dirs:
remove_linked_tree(d)