1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# Copyright 2013-2023 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 *
from spack.pkg.builtin.boost import Boost
class Dssp(AutotoolsPackage):
"""'mkdssp' utility. (dictionary of protein secondary structure)"""
homepage = "https://github.com/cmbi/dssp"
url = "https://github.com/cmbi/dssp/archive/3.1.4.tar.gz"
version("3.1.4", sha256="496282b4b5defc55d111190ab9f1b615a9574a2f090e7cf5444521c747b272d4")
version("2.3.0", sha256="4c95976d86dc64949cb0807fbd58c7bee5393df0001999405863dc90f05846c6")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("m4", type="build")
depends_on("boost@1.48:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
# pdb data download.
# 1ALK.pdb - PDB (protein data bank) : https://www.rcsb.org/
resource(
name="pdb_data",
url="https://files.rcsb.org/download/1ALK.pdb",
sha256="99f4cd7ab63b35d64eacc85dc1491af5a03a1a0a89f2c9aadfb705c591b4b6c9",
expand=False,
placement="pdb",
)
def configure_args(self):
args = ["--with-boost=%s" % self.spec["boost"].prefix]
return args
@run_after("configure")
def edit(self):
makefile = FileFilter(join_path(self.stage.source_path, "Makefile"))
makefile.filter(".*-Werror .*", " -Wno-error \\")
@run_after("install")
def cache_test_sources(self):
"""Save off the pdb sources for stand-alone testing."""
self.cache_extra_test_sources("pdb")
def test_mkdssp(self):
"""calculate structure for example"""
pdb_path = self.test_suite.current_test_cache_dir.pdb
mkdssp = which(self.prefix.bin.mkdssp)
with working_dir(pdb_path):
mkdssp("1ALK.pdb", "1alk.dssp")
|