diff options
author | Ashim Mahara <48154590+ashim-mahara@users.noreply.github.com> | 2024-10-08 14:10:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-08 11:10:11 -0700 |
commit | 66a30aef988610760d739439cdbc95b39f12feb4 (patch) | |
tree | f93bbef494fc34ba464a8604613c1f4c0f15041f | |
parent | b117074df4967ff28f1aa950b2e6771093c516bb (diff) | |
download | spack-66a30aef988610760d739439cdbc95b39f12feb4.tar.gz spack-66a30aef988610760d739439cdbc95b39f12feb4.tar.bz2 spack-66a30aef988610760d739439cdbc95b39f12feb4.tar.xz spack-66a30aef988610760d739439cdbc95b39f12feb4.zip |
Added package Evodiff and dependencies (#46418)
* added py-evodiff and dependencies
* deleted the FIXME
* fixed style issues
* added versions for biotite dependencies; added hash to py-hatch-vcs
* added python version for py-hatch-cython
* updated biotraj dependencies
* - added versions for the packages and dependencies
- added more dependencies for py-hatch
- added rust versions
- added py-uv as a new package
* updated pacakges and their dependencies according to the PR review by @meyersbs
* typo fix for hatchling version; fix the minimum required setuptools version for evodiff
* added 1.9.0 and 1.7.0 userpath versions; required as a dependency
* added mlflow as a dependency
* changed biopython to an optional dependency according to review from @meyersbs; variant esmfold
* Updated Specs
- Pinned biotraj to 1:1 for py-biotite
- Added numpy and other dependencies for py-biotraj; they are dependent
on the versions
- Excluded py-mlflow as a dependency for package py-evodiff; missing
usage in
package.
- Removed versioned dependencies from py-fair-esm
- Added a version to py-packaging
- Added py-setuptools as a dependency in py-userpath
- Added sha256 as hashes for py-uv
* style changes
15 files changed, 297 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/py-biotite/package.py b/var/spack/repos/builtin/packages/py-biotite/package.py new file mode 100644 index 0000000000..4d78b7c443 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-biotite/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2024 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 PyBiotite(PythonPackage): + """Biotite is your Swiss army knife for bioinformatics. \ + Whether you want to identify homologous sequence regions in a protein family or you would \ + like to find disulfide bonds in a protein structure: Biotite has the right tool for you. \ + This package bundles popular tasks in computational molecular biology into a uniform Python \ + library.""" + + homepage = "https://www.biotite-python.org/latest/" + pypi = "biotite/biotite-1.0.1.tar.gz" + + license("BSD-3-Clause") + + version("1.0.1", sha256="7012158431fd488c26d78d33032550eea1d7af7afd01b48549a7fd239f63dab5") + + depends_on("python@3.10:", type=("build", "run")) + + depends_on("py-hatch-vcs@0.3.0:", type="build") + depends_on("py-hatchling", type="build") + depends_on("py-hatch", type="build") + depends_on("py-hatch-cython@0.5", type="build") + depends_on("py-cython@3.0", type="build") + + depends_on("py-numpy@1.25:", type=("build", "run")) + depends_on("py-msgpack@0.5.6:", type=("build", "run")) + depends_on("py-biotraj@1:1", type=("build", "run")) + depends_on("py-requests@2.12:", type=("build", "run")) + depends_on("py-networkx@2.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-biotraj/package.py b/var/spack/repos/builtin/packages/py-biotraj/package.py new file mode 100644 index 0000000000..e6fd921b11 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-biotraj/package.py @@ -0,0 +1,28 @@ +# Copyright 2013-2024 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 PyBiotraj(PythonPackage): + """Reading structures from trajectory files.""" + + homepage = "https://pypi.org/project/biotraj/" + pypi = "biotraj/biotraj-1.1.0.tar.gz" + + license("LGPL-2.1") + + version("1.2.1", sha256="4d7ad33ad940dbcfb3c2bd228a18f33f88e04657786a9562173b58dc2dd05349") + + depends_on("python@3.10:", type=("build", "run")) + + depends_on("py-setuptools@64:", type=("build", "run")) + + depends_on("py-setuptools-scm@8:", type=("build", "run")) + depends_on("py-wheel", type=("build", "run")) + depends_on("py-cython@3.0:", type=("build", "run")) + + depends_on("py-numpy@1.25:", when="@1.2.1", type=("build", "run")) + depends_on("py-scipy@1.13:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-blosum/package.py b/var/spack/repos/builtin/packages/py-blosum/package.py new file mode 100644 index 0000000000..79d175cec4 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-blosum/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2024 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 PyBlosum(PythonPackage): + """The BLOcks SUbstitution Matrices (BLOSUM) are used to score alignments between protein \ + sequences and are therefore mainly used in bioinformatics.""" + + homepage = "https://github.com/not-a-feature/blosum" + pypi = "blosum/blosum-2.0.3.tar.gz" + + license("GPL-3.0", checked_by="ashim-mahara") + + version("2.0.3", sha256="6fee68975c04211fc7c298f58cbf1e5b021ea2879e51456d934238e89ea2ae9b") + + depends_on("py-setuptools@42:", type="build") diff --git a/var/spack/repos/builtin/packages/py-evodiff/package.py b/var/spack/repos/builtin/packages/py-evodiff/package.py new file mode 100644 index 0000000000..814f40510a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-evodiff/package.py @@ -0,0 +1,38 @@ +# Copyright 2013-2024 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 PyEvodiff(PythonPackage): + """Python package for generation of protein sequences and evolutionary alignments via \ + discrete diffusion models""" + + homepage = "https://github.com/microsoft/evodiff" + pypi = "evodiff/evodiff-1.1.0.tar.gz" + + license("MIT", checked_by="ashim-mahara") + + version("1.1.0", sha256="c1f2d7bd0e46ad244f1c55066caefc5ad9b1bcf4e836be1832311b8cd74e923f") + + depends_on("py-setuptools@61.0:", type=("build")) + + depends_on("py-pandas", type=("build", "run")) + depends_on("py-lmdb", type=("build", "run")) + depends_on("py-numpy", type=("build", "run")) + depends_on("py-sequence-models", type=("build", "run")) + depends_on("py-scikit-learn", type=("build", "run")) + depends_on("py-blosum", type=("build", "run")) + depends_on("py-seaborn", type=("build", "run")) + depends_on("py-matplotlib", type=("build", "run")) + depends_on("py-fair-esm", type=("build", "run")) + depends_on("py-tqdm", type=("build", "run")) + depends_on("py-biotite", type=("build", "run")) + depends_on("py-requests", type=("build", "run")) + depends_on("py-mdanalysis", type=("build", "run")) + depends_on("py-pdb-tools", type=("build", "run")) + + # listed in the file setup.py but is not used anywhere in the source code + # depends_on("py-mlflow", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-fair-esm/package.py b/var/spack/repos/builtin/packages/py-fair-esm/package.py new file mode 100644 index 0000000000..a157ebbc0f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fair-esm/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2024 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 PyFairEsm(PythonPackage): + """Evolutionary Scale Modeling""" + + homepage = "https://github.com/facebookresearch/esm" + pypi = "fair-esm/fair-esm-2.0.0.tar.gz" + + license("MIT") + + version("2.0.0", sha256="4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85") + + depends_on("py-setuptools@59.5.0:", type=("build")) + + variant("esmfold", default=True, description="Enable dependencies for OpenFold") + depends_on("py-biopython@1.79:", when="+esmfold", type=("build", "run")) + + depends_on("py-deepspeed", type=("build", "run")) + depends_on("py-dm-tree", type=("build", "run")) + depends_on("py-pytorch-lightning", type=("build", "run")) + depends_on("py-omegaconf", type=("build", "run")) + depends_on("py-ml-collections", type=("build", "run")) + depends_on("py-einops", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-hatch-cython/package.py b/var/spack/repos/builtin/packages/py-hatch-cython/package.py new file mode 100644 index 0000000000..2aa6b3b65d --- /dev/null +++ b/var/spack/repos/builtin/packages/py-hatch-cython/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2024 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 PyHatchCython(PythonPackage): + """cython hooks for hatch""" + + homepage = "https://github.com/joshua-auchincloss/hatch-cython" + pypi = "hatch_cython/hatch_cython-0.5.1.tar.gz" + + license("MIT") + + version("0.5.1", sha256="d01135e092544069c3e61f6dc36748ee369beacb893a5c43b9593a533f839703") + + depends_on("python@3.8:", type=("build", "run")) + + depends_on("py-setuptools", type="build") + depends_on("py-hatchling", type=("build", "run")) + depends_on("py-hatch", type=("build", "run")) + depends_on("py-cython", type=("build", "run")) + depends_on("py-typing-extensions", when="@:3.9", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-hatch-vcs/package.py b/var/spack/repos/builtin/packages/py-hatch-vcs/package.py index b975b86ccd..8347b91072 100644 --- a/var/spack/repos/builtin/packages/py-hatch-vcs/package.py +++ b/var/spack/repos/builtin/packages/py-hatch-vcs/package.py @@ -18,7 +18,7 @@ class PyHatchVcs(PythonPackage): version("0.3.0", sha256="cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee") version("0.2.0", sha256="9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff") + depends_on("py-hatchling@1.24.2:", when="@0.4:", type=("build", "run")) depends_on("python@3.8:", when="@0.4:", type=("build", "run")) depends_on("py-hatchling@1.1:", when="@0.3:", type=("build", "run")) - depends_on("py-hatchling@0.21.0:", type=("build", "run")) depends_on("py-setuptools-scm@6.4.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-hatch/package.py b/var/spack/repos/builtin/packages/py-hatch/package.py new file mode 100644 index 0000000000..19b9f99d43 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-hatch/package.py @@ -0,0 +1,39 @@ +# Copyright 2013-2024 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 PyHatch(PythonPackage): + """Modern, extensible Python project management""" + + homepage = "https://hatch.pypa.io/latest/" + pypi = "hatch/hatch-1.12.0.tar.gz" + + license("MIT") + + version("1.12.0", sha256="ae80478d10312df2b44d659c93bc2ed4d33aecddce4b76378231bdf81c8bf6ad") + + depends_on("python@3.8:", type=("build", "run")) + + depends_on("py-hatchling@1.24.2:", type="build") + depends_on("py-hatch-vcs@0.3.0:", type="build") + depends_on("py-pyproject-hooks", type=("build")) + + depends_on("py-click@8.0.6:", type=("build", "run")) + depends_on("py-httpx@0.22.0:", type=("build", "run")) + depends_on("py-hyperlink@21.0.0:", type=("build", "run")) + depends_on("py-keyring@23.5.0:", type=("build", "run")) + depends_on("py-packaging@23.2:", type=("build", "run")) + depends_on("py-pexpect@4.8:4.8", type=("build", "run")) + depends_on("py-platformdirs@2.5.0:", type=("build", "run")) + depends_on("py-rich@11.2.0:", type=("build", "run")) + depends_on("py-shellingham@1.4.0:", type=("build", "run")) + depends_on("py-tomli-w@1.0:", type=("build", "run")) + depends_on("py-tomlkit@0.11.1:", type=("build", "run")) + depends_on("py-userpath@1.7:1.7", type=("build", "run")) + depends_on("py-uv@0.1.35:", type=("build", "run")) + depends_on("py-virtualenv@20.26.1:", type=("build", "run")) + depends_on("py-zstandard@:1", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-hatchling/package.py b/var/spack/repos/builtin/packages/py-hatchling/package.py index 930a7067ae..dc6610f0a0 100644 --- a/var/spack/repos/builtin/packages/py-hatchling/package.py +++ b/var/spack/repos/builtin/packages/py-hatchling/package.py @@ -15,6 +15,8 @@ class PyHatchling(PythonPackage): license("MIT", checked_by="tgamblin") + version("1.25.0", sha256="7064631a512610b52250a4d3ff1bd81551d6d1431c4eb7b72e734df6c74f4262") + version("1.24.2", sha256="41ddc27cdb25db9ef7b68bef075f829c84cb349aa1bff8240797d012510547b0") version("1.21.0", sha256="5c086772357a50723b825fd5da5278ac7e3697cdf7797d07541a6c90b6ff754c") version("1.18.0", sha256="50e99c3110ce0afc3f7bdbadff1c71c17758e476731c27607940cfa6686489ca") version("1.17.0", sha256="b1244db3f45b4ef5a00106a46612da107cdfaf85f1580b8e1c059fefc98b0930") @@ -26,6 +28,7 @@ class PyHatchling(PythonPackage): depends_on("py-editables@0.3:", type=("build", "run")) depends_on("py-packaging@21.3:", type=("build", "run")) + depends_on("py-packaging@23.2:", when="@1.24.2:", type=("build", "run")) depends_on("py-pathspec@0.10.1:", when="@1.9:", type=("build", "run")) depends_on("py-pathspec@0.9:", type=("build", "run")) depends_on("py-pluggy@1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-packaging/package.py b/var/spack/repos/builtin/packages/py-packaging/package.py index 240e8c4894..ed01a54331 100644 --- a/var/spack/repos/builtin/packages/py-packaging/package.py +++ b/var/spack/repos/builtin/packages/py-packaging/package.py @@ -13,7 +13,8 @@ class PyPackaging(PythonPackage): pypi = "packaging/packaging-19.2.tar.gz" license("BSD-2-Clause") - + version("24.1", sha256="026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002") + version("23.2", sha256="048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5") version("23.1", sha256="a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f") version("23.0", sha256="b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97") version("21.3", sha256="dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb") @@ -29,6 +30,7 @@ class PyPackaging(PythonPackage): # Needed to bootstrap Spack correctly on Python 3.6 (rhel8 platform-python) depends_on("python@3.7:", when="@22:", type=("build", "run")) + depends_on("python@3.8:", when="@24.1", type=("build", "run")) # Historical dependencies depends_on("py-setuptools@40.8.0:", when="@20.8:21", type="build") diff --git a/var/spack/repos/builtin/packages/py-pdb-tools/package.py b/var/spack/repos/builtin/packages/py-pdb-tools/package.py new file mode 100644 index 0000000000..8cf360160b --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pdb-tools/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2024 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 PyPdbTools(PythonPackage): + """A swiss army knife for manipulating and editing PDB files.""" + + homepage = "https://haddocking.github.io/pdb-tools/" + pypi = "pdb-tools/pdb-tools-2.5.0.tar.gz" + + license("Apache 2.0") + + version("2.5.0", sha256="b76c4cd6304a15e545eff2737a76b71db31b881573e5ba3a93dba9a71a79653b") + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-sequence-models/package.py b/var/spack/repos/builtin/packages/py-sequence-models/package.py new file mode 100644 index 0000000000..5f863540da --- /dev/null +++ b/var/spack/repos/builtin/packages/py-sequence-models/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2024 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 PySequenceModels(PythonPackage): + """Pytorch modules and utilities for modeling biological sequence data.""" + + homepage = "https://github.com/microsoft/protein-sequence-models" + pypi = "sequence-models/sequence-models-1.8.0.tar.gz" + + license("BSD-1-Clause") + + version("1.8.0", sha256="b031e8bc3edce60311000c2cfe237e533929ecffe6cf4364bd57f0178f541beb") + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-userpath/package.py b/var/spack/repos/builtin/packages/py-userpath/package.py index f7d62a92bb..ec56a961db 100644 --- a/var/spack/repos/builtin/packages/py-userpath/package.py +++ b/var/spack/repos/builtin/packages/py-userpath/package.py @@ -13,10 +13,12 @@ class PyUserpath(PythonPackage): pypi = "userpath/userpath-1.8.0.tar.gz" license("MIT") - + version("1.9.0", sha256="85e3274543174477c62d5701ed43a3ef1051824a9dd776968adc411e58640dd1") version("1.8.0", sha256="04233d2fcfe5cff911c1e4fb7189755640e1524ff87a4b82ab9d6b875fee5787") + version("1.7.0", sha256="dcd66c5fa9b1a3c12362f309bbb5bc7992bac8af86d17b4e6b1a4b166a11c43f") depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools", type=("build", "run")) depends_on("py-hatchling", type="build") diff --git a/var/spack/repos/builtin/packages/py-uv/package.py b/var/spack/repos/builtin/packages/py-uv/package.py new file mode 100644 index 0000000000..83d38a0f47 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-uv/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2024 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 PyUv(PythonPackage): + """An extremely fast Python package and project manager, written in Rust.""" + + homepage = "https://github.com/astral-sh/uv" + pypi = "uv/0.4.15.tar.gz" + + license("APACHE 2.0 or MIT") + + version("0.4.17", sha256="01564bd760eff885ad61f44173647a569732934d1a4a558839c8088fbf75e53f") + version("0.4.16", sha256="2144995a87b161d063bd4ef8294b1e948677bd90d01f8394d0e3fca037bb847f") + version("0.4.15", sha256="8e36b8e07595fc6216d01e729c81a0b4ff029a93cc2ef987a73d3b650d6d559c") + + depends_on("rust@1.81:", type=("build", "run")) + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-maturin@1:1", type=("build")) + + executables = ["^uv$"] diff --git a/var/spack/repos/builtin/packages/py-virtualenv/package.py b/var/spack/repos/builtin/packages/py-virtualenv/package.py index 1c01c5f622..fbb2d7734f 100644 --- a/var/spack/repos/builtin/packages/py-virtualenv/package.py +++ b/var/spack/repos/builtin/packages/py-virtualenv/package.py @@ -14,7 +14,16 @@ class PyVirtualenv(PythonPackage): git = "https://github.com/pypa/virtualenv.git" license("MIT") - + version("20.26.5", sha256="ce489cac131aa58f4b25e321d6d186171f78e6cb13fafbf32a840cee67733ff4") + version("20.26.4", sha256="c17f4e0f3e6036e9f26700446f85c76ab11df65ff6d8a9cbfad9f71aabfcf23c") + version("20.26.3", sha256="4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a") + version("20.26.2", sha256="82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c") + version("20.26.1", sha256="604bfdceaeece392802e6ae48e69cec49168b9c5f4a44e483963f9242eb0e78b") + version("20.26.0", sha256="ec25a9671a5102c8d2657f62792a27b48f016664c6873f6beed3800008577210") + version("20.25.3", sha256="7bb554bbdfeaacc3349fa614ea5bff6ac300fc7c335e9facf3a3bcfc703f45be") + version("20.25.2", sha256="fa7edb8428620518010928242ec17aa7132ae435319c29c1651d1cf4c4173aad") + version("20.25.1", sha256="e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197") + version("20.25.0", sha256="bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b") version("20.24.5", sha256="e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752") version("20.22.0", sha256="278753c47aaef1a0f14e6db8a4c5e1e040e90aea654d0fc1dc7e0d8a42616cc3") version("20.17.1", sha256="f8b927684efc6f1cc206c9db297a570ab9ad0e51c16fa9e45487d36d1905c058") |