HiCOPS: add new package (#26767)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
This commit is contained in:
parent
37e14ee1ac
commit
811abf5d00
113
var/spack/repos/builtin/packages/hicops/package.py
Normal file
113
var/spack/repos/builtin/packages/hicops/package.py
Normal file
@ -0,0 +1,113 @@
|
||||
# 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 Hicops(CMakePackage):
|
||||
"""HiCOPS is a software framework for accelerating database peptide search
|
||||
workflows on supercomputers. HiCOPS provided algorithm-independent
|
||||
parallelizations and optimizations can be extended into new HPC database search
|
||||
algorithms or scalably accelerate the existing ones.
|
||||
"""
|
||||
|
||||
homepage = "https://hicops.github.io/index"
|
||||
git = "https://github.com/hicops/hicops.git"
|
||||
maintainers = ['pcdslab', 'mhaseeb123', 'nessiecancode']
|
||||
|
||||
version('release', branch='release')
|
||||
version('develop', branch='develop')
|
||||
|
||||
# Build Options
|
||||
variant('mpi', default=True,
|
||||
description='Enable MPI support.')
|
||||
variant('timemory', default=False,
|
||||
description='Enable timemory interface. Requires timemory '
|
||||
'installation.')
|
||||
variant('mpip', default=False,
|
||||
description='Enables the MPIP data_tracker via Timemory. '
|
||||
'Requires timemory installation.')
|
||||
variant('tailfit', default=True,
|
||||
description='Use the tailfit method instead of Gumbelfit '
|
||||
'for e-value computation.')
|
||||
variant('progress', default=True,
|
||||
description='Display HiCOPS progress marks.')
|
||||
variant('seqlen', default='60',
|
||||
description='Allowed maximum peptide sequence length.',
|
||||
values=int, multi=False)
|
||||
variant('qalen', default='100',
|
||||
description='Maximum number of top K peaks to keep when '
|
||||
'spectrum preprocess.', values=int,
|
||||
multi=False)
|
||||
variant('qchunk', default='10000',
|
||||
description='Max size of each batch extracted from the '
|
||||
'dataset.', values=int, multi=False)
|
||||
variant('hyperscore', default='100',
|
||||
description='Maximum allowed hyperscore computed.',
|
||||
values=int, multi=False)
|
||||
variant('shdpeaks', default='80',
|
||||
description='Maximum shared b- or y-ions allowed.',
|
||||
values=int, multi=False)
|
||||
variant('cxx_std', default='14',
|
||||
description='C++ standard', values=('14', '17'),
|
||||
multi=False)
|
||||
|
||||
depends_on('py-numpy')
|
||||
depends_on('py-python-dateutil')
|
||||
depends_on('py-setuptools')
|
||||
depends_on('py-bottleneck')
|
||||
depends_on('py-pyparsing')
|
||||
depends_on('py-subprocess32')
|
||||
depends_on('py-six')
|
||||
depends_on('py-setuptools-scm')
|
||||
depends_on('py-et-xmlfile')
|
||||
depends_on('py-argparse')
|
||||
depends_on('py-cython')
|
||||
depends_on('py-cycler')
|
||||
depends_on('py-pytz')
|
||||
depends_on('py-kiwisolver')
|
||||
depends_on('py-numexpr')
|
||||
depends_on('py-matplotlib')
|
||||
depends_on('py-jdcal')
|
||||
depends_on('py-pandas')
|
||||
depends_on('py-openpyxl')
|
||||
depends_on('python@3.7:3.9')
|
||||
depends_on('boost')
|
||||
depends_on('mpich')
|
||||
depends_on('git', type='build', when='@release')
|
||||
depends_on('git', type='build', when='@develop')
|
||||
depends_on('cmake@3.11:', type='build')
|
||||
depends_on('pkgconf', type='build')
|
||||
# TODO: Add timemory and mpip depends_on()
|
||||
|
||||
conflicts('+timemory')
|
||||
# Build failing when added. Creating a conflict as a workaround
|
||||
conflicts('%gcc@:7.2.0')
|
||||
conflicts('+mpip -timemory')
|
||||
conflicts('+mpip -mpi')
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
env.prepend_path('PATH', self.prefix.tools)
|
||||
env.prepend_path('PATH', self.prefix.bin.tools)
|
||||
env.set('HICOPS_INSTALL', self.prefix)
|
||||
env.prepend_path('INCLUDE', self.prefix.include)
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
self.define('USE_MPI', True),
|
||||
self.define('CMAKE_INSTALL_PREFIX', self.prefix),
|
||||
self.define_from_variant('USE_TIMEMORY', 'timemory'),
|
||||
self.define_from_variant('USE_MPIP_LIBRARY', 'mpip'),
|
||||
self.define_from_variant('TAILFIT', 'tailfit'),
|
||||
self.define_from_variant('PROGRESS', 'progress'),
|
||||
self.define_from_variant('MAX_SEQ_LEN', 'seqlen'),
|
||||
self.define_from_variant('QALEN', 'qalen'),
|
||||
self.define_from_variant('QCHUNK', 'qchunk'),
|
||||
self.define_from_variant('MAX_HYPERSCORE', 'hyperscore'),
|
||||
self.define_from_variant('MAX_SHDPEAKS', 'shdpeaks'),
|
||||
self.define_from_variant('CMAKE_CXX_STANDARD', 'cxx_std')
|
||||
]
|
||||
|
||||
return args
|
@ -11,7 +11,7 @@ class Lastz(MakefilePackage):
|
||||
|
||||
homepage = "https://lastz.github.io/lastz"
|
||||
url = "https://github.com/lastz/lastz/archive/1.04.00.tar.gz"
|
||||
|
||||
version('1.04.15', sha256='46a5cfb1fd41911a36fce5d3a2721ebfec9146952943b302e78b0dfffddd77f8')
|
||||
version('1.04.03', sha256='c58ed8e37c4b0e82492b3a2b3e12447a3c40286fb8358906d19f10b0a713e9f4')
|
||||
version('1.04.00', sha256='a4c2c7a77430387e96dbc9f5bdc75874334c672be90f5720956c0f211abf9f5a')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user