From 04f87da36b1bd82c6245b3827bf09a5e65d70ecf Mon Sep 17 00:00:00 2001 From: Luke Diorio-Toth Date: Fri, 28 Oct 2022 14:05:15 -0500 Subject: 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 * made requested changes * added targets for pyspoa dep Co-authored-by: Adam J. Stewart --- .../builtin/packages/py-auditwheel/package.py | 23 ++++++++++++ .../repos/builtin/packages/py-medaka/htslib.patch | 34 +++++++++++++++++ .../repos/builtin/packages/py-medaka/package.py | 43 ++++++++++++++++++++++ .../builtin/packages/py-ont-fast5-api/package.py | 6 +++ .../repos/builtin/packages/py-parasail/package.py | 27 ++++++++++++++ .../builtin/packages/py-progressbar33/package.py | 18 +++++++++ .../repos/builtin/packages/py-pyspoa/package.py | 20 ++++++++++ .../builtin/packages/py-scikit-build/package.py | 1 + 8 files changed, 172 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-auditwheel/package.py create mode 100644 var/spack/repos/builtin/packages/py-medaka/htslib.patch create mode 100644 var/spack/repos/builtin/packages/py-medaka/package.py create mode 100644 var/spack/repos/builtin/packages/py-parasail/package.py create mode 100644 var/spack/repos/builtin/packages/py-progressbar33/package.py create mode 100644 var/spack/repos/builtin/packages/py-pyspoa/package.py diff --git a/var/spack/repos/builtin/packages/py-auditwheel/package.py b/var/spack/repos/builtin/packages/py-auditwheel/package.py new file mode 100644 index 0000000000..ad5936f292 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-auditwheel/package.py @@ -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")) diff --git a/var/spack/repos/builtin/packages/py-medaka/htslib.patch b/var/spack/repos/builtin/packages/py-medaka/htslib.patch new file mode 100644 index 0000000000..2c500f8866 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-medaka/htslib.patch @@ -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 = [ diff --git a/var/spack/repos/builtin/packages/py-medaka/package.py b/var/spack/repos/builtin/packages/py-medaka/package.py new file mode 100644 index 0000000000..03ff3ccd80 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-medaka/package.py @@ -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")) diff --git a/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py b/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py index 3e96ca254d..730e4b8b63 100644 --- a/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py +++ b/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py @@ -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:") diff --git a/var/spack/repos/builtin/packages/py-parasail/package.py b/var/spack/repos/builtin/packages/py-parasail/package.py new file mode 100644 index 0000000000..ea65f9efab --- /dev/null +++ b/var/spack/repos/builtin/packages/py-parasail/package.py @@ -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")) diff --git a/var/spack/repos/builtin/packages/py-progressbar33/package.py b/var/spack/repos/builtin/packages/py-progressbar33/package.py new file mode 100644 index 0000000000..1a4b6adb11 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-progressbar33/package.py @@ -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") diff --git a/var/spack/repos/builtin/packages/py-pyspoa/package.py b/var/spack/repos/builtin/packages/py-pyspoa/package.py new file mode 100644 index 0000000000..c351b0fc9a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyspoa/package.py @@ -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")) diff --git a/var/spack/repos/builtin/packages/py-scikit-build/package.py b/var/spack/repos/builtin/packages/py-scikit-build/package.py index e51f323c98..1d895c005d 100644 --- a/var/spack/repos/builtin/packages/py-scikit-build/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-build/package.py @@ -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")) -- cgit v1.2.3-70-g09d2