diff --git a/docs/releases.rst b/docs/releases.rst index a076a59..4a80b14 100644 --- a/docs/releases.rst +++ b/docs/releases.rst @@ -2,6 +2,15 @@ Release history =============== +---------------------------- +Current version (unreleased) +---------------------------- + +^^^^^^^^^^^^^ +Minor Updates +^^^^^^^^^^^^^ + +* Added `Spack `_` configuration file to ``tools/spack`` directory. See `#191 _` for more information. --------------------- APBS 3.4.1 (Apr 2022) diff --git a/docs/using/tools.rst b/docs/using/tools.rst index 5fb9973..bef030e 100644 --- a/docs/using/tools.rst +++ b/docs/using/tools.rst @@ -49,6 +49,14 @@ benchmark Benchmark file I/O for reading/writing scalar data. Found in :file:`tools/mesh` +^^^^^ +spack +^^^^^ + +`Spack `_` configuration files for APBS, PROPKA, and PDB2PQR. +See `#191 _` for more information. +Found in :file:`tools/spack` + ^^^^^^^^^^^^ uhbd_asc2bin ^^^^^^^^^^^^ diff --git a/tools/spack/README.md b/tools/spack/README.md new file mode 100644 index 0000000..3ab7067 --- /dev/null +++ b/tools/spack/README.md @@ -0,0 +1,3 @@ +# Spack configuration files + +This directory contains [Spack](https://spack.io/) configuration files for APBS, PROPKA, and PDB2PQR provided by [Stefan Richter](https://github.com/StefanGIT). diff --git a/tools/spack/packages/apbs/package.py b/tools/spack/packages/apbs/package.py new file mode 100644 index 0000000..288b92f --- /dev/null +++ b/tools/spack/packages/apbs/package.py @@ -0,0 +1,46 @@ +# 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 import * + + +class Apbs(CMakePackage): + """ + APBS (Adaptive Poisson-Boltzmann Solver) solves the equations of continuum electrostatics + for large biomolecular assemblages. This software was designed "from the ground up" + using modern design principles to ensure its ability to interface with other computational + packages and evolve as methods and applications change over time. The APBS code is + accompanied by extensive documentation for both users and programmers and is supported + by a variety of utilities for preparing calculations and analyzing results. + Finally, the free, open-source APBS license ensures its accessibility to the entire + biomedical community. + """ + + # Homepage and Github URL. + homepage = "https://www.poissonboltzmann.org/" + url = "https://github.com/Electrostatics/apbs/archive/refs/tags/v3.4.0.tar.gz" + + # List of GitHub accounts to notify when the package is updated. + maintainers = ['thielblz', 'richtesn'] + + # SHA256 checksum. + version('3.4.0', sha256='572ff606974119430020ec948c78e171d8525fb0e67a56dad937a897cac67461') + + # Dependencies. + depends_on('cmake@3.19', type='build') + depends_on('python@3.8:3.10', type=('build', 'run')) + depends_on('blas', type=('build', 'run')) + depends_on('suite-sparse', type=('build', 'run')) + depends_on('maloc', type=('build', 'run')) + + def cmake_args(self): + # Min and max Python versions need to be set as variables to pass tests. + # See tests/CMakeLists.txt lines 6-14. + args = [ + '-DPYTHON_MIN_VERSION=3.8', + '-DPYTHON_MAX_VERSION=3.10', + ] + return args diff --git a/tools/spack/packages/py-pdb2pqr/package.py b/tools/spack/packages/py-pdb2pqr/package.py new file mode 100644 index 0000000..4890e39 --- /dev/null +++ b/tools/spack/packages/py-pdb2pqr/package.py @@ -0,0 +1,34 @@ +# 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 import * + + +class PyPdb2pqr(PythonPackage): + """ + PDB2PQR - determining titration states, + adding missing atoms, and assigning + charges/radii to biomolecules. + """ + + # Url for the package's homepage. + homepage = "http://www.poissonboltzmann.org/" + pypi = "pdb2pqr/pdb2pqr-3.5.2.tar.gz" + + # List of GitHub accounts to + # notify when the package is updated. + maintainers = ['richtesn', 'thielblz'] + + version('3.5.2', sha256='9d145ff3797a563ce818f9d2488413ac339f66c58230670c2455b2572cccd957') + + depends_on('python@3.8:', type=('build','run')) + depends_on('py-docutils@:0.18', type=('build','run')) + depends_on('py-mmcif-pdbx@1.1.2:', type=('build','run')) + depends_on('py-numpy', type=('build','run')) + depends_on('py-propka@3.2:', type=('build','run')) + depends_on('py-requests', type=('build','run')) + depends_on('py-setuptools', type=('build','run')) + diff --git a/tools/spack/packages/py-propka/package.py b/tools/spack/packages/py-propka/package.py new file mode 100644 index 0000000..7074a15 --- /dev/null +++ b/tools/spack/packages/py-propka/package.py @@ -0,0 +1,32 @@ + +# 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 import * + + +class PyPropka(PythonPackage): + """ + PROPKA predicts the pKa values of ionizable + groups in proteins (version 3.0) and protein-ligand + complexes (version 3.1 and later) based on the 3D + structure. + For proteins without ligands both version should + produce the same result. + """ + + # Url for the package's homepage. + homepage = "http://propka.org/" + pypi = "propka/propka-3.4.0.tar.gz" + + # List of GitHub accounts to + # notify when the package is updated. + maintainers = ['richtesn', 'thielblz'] + + version('3.4.0', sha256='f19c2e145faa7eab000ce056a9058b8a30adba6970705047bb4fb7ba7570b020') + + depends_on('py-setuptools', type=('build','run')) +