From 944dd5a76d50dcce1ba28de60a35d45079d25f09 Mon Sep 17 00:00:00 2001
From: Lorenz Thielbeer <thielblz@rh04359.villa-bosch.de>
Date: Thu, 28 Apr 2022 19:18:34 +0200
Subject: [PATCH] introduction of apbs, py-pdb2pqr and sda
---
packages/apbs/package.py | 46 ++++++++++++++++++++++++++++++
packages/py-pdb2pqr/package.py | 27 ++++++++++++++++++
packages/sda/package.py | 51 ++++++++++++++++++++++++++++++++++
packages/sda/package.py.backup | 8 ++++++
4 files changed, 132 insertions(+)
create mode 100644 packages/apbs/package.py
create mode 100644 packages/py-pdb2pqr/package.py
create mode 100644 packages/sda/package.py
create mode 100644 packages/sda/package.py.backup
diff --git a/packages/apbs/package.py b/packages/apbs/package.py
new file mode 100644
index 000000000..cf459b4f5
--- /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 000000000..39c2a60bf
--- /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 000000000..0116831dd
--- /dev/null
+++ b/packages/sda/package.py
@@ -0,0 +1,51 @@
+# 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.3c.tgz"
+
+ # A list of GitHub accounts to notify when the package is updated.
+ maintainers = ['richtesn', 'thielblz']
+
+ # Versions and checksums.
+ version('7.3.3c', sha256='cf16a9e4dac520c205879f076505f688b93de12e6589143b8681cb055c74e6f4')
+
+ # Dependencies.
+ depends_on('gcc@9.4.0')
+ depends_on('python@3.8:', type=('build','run'))
+ conflicts('%gcc', when='@9.5:')
+ 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.3b/src/'
+ targets = ['init libsda sda_flex tools auxi clust test_module']
+ return ['prefix={0}'.format(self.prefix), 'install']
diff --git a/packages/sda/package.py.backup b/packages/sda/package.py.backup
new file mode 100644
index 000000000..bdb029e43
--- /dev/null
+++ b/packages/sda/package.py.backup
@@ -0,0 +1,8 @@
+from spack import *
+
+# Usage
+class Sda(PythonPackage):
+ url = 'https://mcm.h-its.org/wiki/lib/exe/fetch.php?media=googlecolab:sda-7.3.3.tgz'
+ maintainers = ['richtesn', 'thielblz']
+ version('7.3.3', sha256='d7b3b122743d4c26cfb9d7bb81d87dd67b63c2966fd0a0dcd11d67c868f21f43')
+ depends_on('python@3.8:', type=('build','run'))
--
GitLab