2022-01-13 03:21:41 +08:00
|
|
|
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
|
2020-06-30 14:58:13 +08:00
|
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
|
|
|
|
from spack import *
|
2022-03-18 07:42:07 +08:00
|
|
|
from spack.pkg.builtin.boost import Boost
|
2020-06-30 14:58:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
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:')
|
|
|
|
|
2022-03-18 07:42:07 +08:00
|
|
|
# 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)
|
|
|
|
|
2021-01-29 17:29:42 +08:00
|
|
|
# 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'
|
|
|
|
)
|
|
|
|
|
2020-06-30 14:58:13 +08:00
|
|
|
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 \\')
|
2021-01-29 17:29:42 +08:00
|
|
|
|
|
|
|
@run_after('install')
|
|
|
|
def cache_test_sources(self):
|
2021-07-15 04:33:50 +08:00
|
|
|
"""Save off the pdb sources for stand-alone testing."""
|
2021-01-29 17:29:42 +08:00
|
|
|
self.cache_extra_test_sources('pdb')
|
|
|
|
|
|
|
|
def test(self):
|
2021-07-15 04:33:50 +08:00
|
|
|
"""Perform stand-alone/smoke test on installed package."""
|
|
|
|
pdb_path = join_path(self.test_suite.current_test_cache_dir, 'pdb')
|
|
|
|
self.run_test('mkdssp', options=['1ALK.pdb', '1alk.dssp'],
|
|
|
|
purpose='test: calculating structure for example',
|
|
|
|
installed=True,
|
|
|
|
work_dir=pdb_path)
|