new packages (py-auditwheel, py-medaka, py-parasail, py-progressbar33, py-pyspoa) and updates to others (py-scikit-build, py-ont-fast5-api) (#33541)

* Added py-medaka and dependencies

* fixed py-parasail build error

* medaka still doesn't have correct linked libdeflate

* fixed pyspoa deps

* added htslib.patch, confirmed builds and runs

* fixed style

* Update var/spack/repos/builtin/packages/py-auditwheel/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* made requested changes

* added targets for pyspoa dep

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
This commit is contained in:
Luke Diorio-Toth 2022-10-28 14:05:15 -05:00 committed by GitHub
parent f74a6a4503
commit 04f87da36b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 172 additions and 0 deletions

View File

@ -0,0 +1,23 @@
# 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 PyAuditwheel(PythonPackage):
"""Auditing and relabeling of PEP 600 manylinux_x_y, PEP 513 manylinux1,
PEP 571 manylinux2010 and PEP 599 manylinux2014 Linux wheels."""
homepage = "https://github.com/pypa/auditwheel"
pypi = "auditwheel/auditwheel-5.1.2.tar.gz"
version("5.1.2", sha256="3ee5830014931ea84af5cd065c637b6614efa03d9b88bd8fbfc924e7ed01d6ba")
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools@45:", type="build")
depends_on("py-setuptools-scm@6.2:", type="build")
depends_on("py-pyelftools@0.24:", type=("build", "run"))
depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))

View File

@ -0,0 +1,34 @@
# patch method copied from bioconda recipe
# github.com/bioconda/bioconda-recipes/blob/master/recipes/medaka/build.sh
diff -Naur spack-src/setup.py spack-src.patched/setup.py
--- spack-src/setup.py 2022-10-26 16:10:27.824793639 -0500
+++ spack-src.patched/setup.py 2022-10-26 16:16:57.815324146 -0500
@@ -144,6 +144,6 @@
'scripts/mini_align', 'scripts/hdf2tf.py'],
zip_safe=False,
cmdclass={
- 'build_ext': HTSBuild
+
},
)
diff -Naur spack-src/build.py spack-src.patched/build.py
--- spack-src/build.py 2022-10-26 16:15:35.891735658 -0500
+++ spack-src.patched/build.py 2022-10-26 16:18:42.468243578 -0500
@@ -12,7 +12,7 @@
deflatever = "1.10"
deflate_dir = os.path.join(dir_path, 'submodules', 'libdeflate-{}'.format(deflatever))
-libraries=['m', 'z', 'lzma', 'bz2', 'pthread', 'curl', 'crypto']
+libraries=["hts",'m', 'z', 'lzma', 'bz2', 'pthread', 'curl', 'crypto']
library_dirs=[htslib_dir]
if os.getenv('WITHDEFLATE') == "1":
print("Using deflate")
@@ -52,7 +52,7 @@
'fastrle.c', 'medaka_trimbam.c', 'medaka_pytrimbam.c',
'medaka_rnn_variants.c')],
extra_compile_args=extra_compile_args,
- extra_objects=['libhts.a']
+
)
cdef = [

View File

@ -0,0 +1,43 @@
# 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 PyMedaka(PythonPackage):
"""medaka is a tool to create consensus sequences and variant calls from
nanopore sequencing data. This task is performed using neural networks
applied a pileup of individual sequencing reads against a draft assembly.
It provides state-of-the-art results outperforming sequence-graph based
methods and signal-based methods, whilst also being faster."""
homepage = "https://github.com/nanoporetech/medaka"
pypi = "medaka/medaka-1.7.2.tar.gz"
version("1.7.2", sha256="7629546ed9193ffb6b1f881a6ce74b7d13d94972e032556098577ddb43bee763")
# disable Makefile driven build of htslib and link to system htslib instead
patch("htslib.patch", when="@1.7.2")
depends_on("python@3.6:3.9", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-cffi@1.15.0", type=("build", "run"))
depends_on("py-edlib", type=("build", "run"))
depends_on("py-grpcio", type=("build", "run"))
depends_on("py-h5py", type=("build", "run"))
depends_on("py-intervaltree", type=("build", "run"))
depends_on("py-tensorflow@2.7.0:2.7", type=("build", "run"))
depends_on("py-numpy", type=("build", "run"))
depends_on("minimap2", type=("build", "run"))
depends_on("py-ont-fast5-api", type=("build", "run"))
depends_on("py-parasail", when="target=x86_64:", type=("build", "run"))
depends_on("py-parasail", when="target=ppc64le:", type=("build", "run"))
depends_on("py-pysam@0.16.0.1:", type=("build", "run"))
depends_on("py-pyspoa@0.0.3:", when="target=x86_64:", type=("build", "run"))
depends_on("py-pyspoa@0.0.3:", when="target=ppc64le:", type=("build", "run"))
depends_on("py-requests", type=("build", "run"))
depends_on("samtools", type=("build", "run"))
depends_on("htslib", type=("build", "run", "link"))

View File

@ -17,8 +17,14 @@ class PyOntFast5Api(PythonPackage):
homepage = "https://github.com/nanoporetech/ont_fast5_api"
pypi = "ont-fast5-api/ont-fast5-api-0.3.2.tar.gz"
version("4.1.0", sha256="afa58fb0a73ac33161fe0d13d32698b3325756c370f2f440a8a43b4b68c75f32")
version("0.3.2", sha256="ae44b1bcd812e8acf8beff3db92456647c343cf19340f97cff4847de5cc905d8")
depends_on("python@3.6:", type=("build", "run"), when="@4:")
depends_on("py-setuptools", type="build")
depends_on("py-h5py", type=("build", "run"))
depends_on("py-h5py@2.10:", type=("build", "run"), when="@4.0.1:")
depends_on("py-numpy@1.8.1:", type=("build", "run"))
depends_on("py-numpy@1.16:", type=("build", "run"), when="@3.2.0:")
depends_on("py-packaging", type=("build", "run"), when="@3.0.2:")
depends_on("py-progressbar33@2.3.1:", type=("build", "run"), when="@1.0.1:")

View File

@ -0,0 +1,27 @@
# 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 PyParasail(PythonPackage):
"""Python Bindings for the Parasail C Library. Parasail is a SIMD C (C99)
library containing implementations of the Smith-Waterman (local),
Needleman-Wunsch (global), and semi-global pairwise sequence alignment
algorithms."""
homepage = "https://github.com/jeffdaily/parasail-python"
pypi = "parasail/parasail-1.3.3.tar.gz"
version("1.3.3", sha256="06f05066d9cf624c0b043f51a1e9d2964154e1edd0f9843e0838f32073e576f8")
depends_on("perl", type="build")
depends_on("m4", type="build")
depends_on("libtool", type="build")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("py-setuptools", type="build")
depends_on("py-numpy", type=("build", "run"))

View File

@ -0,0 +1,18 @@
# 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 PyProgressbar33(PythonPackage):
"""Text progress bar library for Python"""
homepage = "https://github.com/germangh/python-progressbar"
pypi = "progressbar33/progressbar33-2.4.tar.gz"
version("2.4", sha256="51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff")
depends_on("py-setuptools", type="build")

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 PyPyspoa(PythonPackage):
"""Python bindings to spoa"""
homepage = "https://github.com/nanoporetech/pyspoa"
pypi = "pyspoa/pyspoa-0.0.8.tar.gz"
version("0.0.8", sha256="8299d18066b498a6ef294c5a33a99266ded06eeb022f67488d2caecba974b0a4")
depends_on("py-setuptools", type="build")
depends_on("cmake@3.18.4", type="build")
depends_on("py-pybind11@2.4:", type=("build", "run"))

View File

@ -22,6 +22,7 @@ class PyScikitBuild(PythonPackage):
version("0.15.0", sha256="e723cd0f3489a042370b9ea988bbb9cfd7725e8b25b20ca1c7981821fcf65fb9")
version("0.12.0", sha256="f851382c469bcd9a8c98b1878bcfdd13b68556279d2fd9a329be41956ae5a7fe")
version("0.11.1", sha256="da40dfd69b2456fad1349a894b90180b43712152b8a85d2a00f4ae2ce8ac9a5c")
version("0.10.0", sha256="7342017cc82dd6178e3b19377389b8a8d1f8b429d9cdb315cfb1094e34a0f526")
depends_on("py-setuptools@28.0.0:", type=("build", "run"))