diff --git a/packages/apbs/package.py b/packages/apbs/package.py new file mode 100644 index 0000000000000000000000000000000000000000..cf459b4f5c63938609a24771baa61ffadeadab2a --- /dev/null +++ b/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.9:3.10', type=('build')) + depends_on('blas', type='build') + depends_on('suite-sparse', type='build') + depends_on('maloc', type='build') + + 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.9', + '-DPYTHON_MAX_VERSION=3.10', + ] + return args diff --git a/packages/py-pdb2pqr/package.py b/packages/py-pdb2pqr/package.py new file mode 100644 index 0000000000000000000000000000000000000000..39c2a60bf3a2fd8d4271d6ef1c4ff9fbb6376406 --- /dev/null +++ b/packages/py-pdb2pqr/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 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')) diff --git a/packages/sda/package.py b/packages/sda/package.py new file mode 100644 index 0000000000000000000000000000000000000000..3bb82653351034172b449626bbfad54f5fe9ef5e --- /dev/null +++ b/packages/sda/package.py @@ -0,0 +1,50 @@ +# 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 Sda(MakefilePackage): + """ + SDA 7 can be used to carry out Brownian dynamics simulations of the diffusional association + in a continuum aqueous solvent of two solute molecules, e.g. proteins, or of a solute + molecule to an inorganic surface. SDA 7 can also be used to simulate the diffusion of + multiple proteins, in dilute or concentrated solutions, e.g., to study the effects of + macromolecular crowding. + """ + + # Url for the package's homepage. + homepage = "https://mcm.h-its.org/sda/doc/doc_sda7/doc/doc_sda7/index.html" + url = "https://mcm.h-its.org/wiki/lib/exe/fetch.php?media=googlecolab:sda-7.3.3d.tgz" + + # A list of GitHub accounts to notify when the package is updated. + maintainers = ['richtesn', 'thielblz'] + + # Versions and checksums. + version('7.3.3d', sha256='295ca0142532759a43375422a4ebc050e15b1c248e45493f5864765a9fe8076f') + + # Dependencies. + depends_on('gcc@9.4.0:') + depends_on('python@3.8:', type=('build','run')) + conflicts('%intel') + + build_directory = 'src' + build_jobs = 1 + + def edit(self, spec, prefix): + makefile = FileFilter('src/Makefile') + makefile.filter(r'gfortran', spack_fc) + makefile.filter(r'^\s*FC\s*=.*', 'FC = ' + spack_fc) + makefile.filter(r'^\s*CC_plus\s*=.*', 'CXX = ' + spack_cxx) + makefile.filter(r'\${CC_plus}', '${CXX}') + makefile.filter(r'^\s*CC_moins\s*=.*', 'CC = ' + spack_cc) + makefile.filter(r'\${CC_moins}', '${CC}') + + @property + def install_targets(self): + build_directory = 'sda_flex-7.3.3d/src/' + targets = ['init libsda sda_flex tools auxi clust test_module'] + return ['prefix={0}'.format(self.prefix), 'install'] diff --git a/spack.yaml b/spack.yaml index 0bec1623a3cbb81866b77964028ae9785e460add..4d609e91b0a9dd66876a141fe1f4e00bb9c88068 100644 --- a/spack.yaml +++ b/spack.yaml @@ -52,6 +52,9 @@ spack: - py-frites #- biobb-common #- biobb-md + - apbs + - py-pdb2pqr + - sda # demo for codejam12 #- funniest1022 concretization: together