summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Romero <1013414+NessieCanCode@users.noreply.github.com>2022-03-09 00:47:04 -0800
committerGitHub <noreply@github.com>2022-03-09 09:47:04 +0100
commit811abf5d004d86ec1fd6e08f0f6a18ffe09f66cc (patch)
tree1b09c129bd3ee25b4b6e2fd576e431c6abd7f443
parent37e14ee1ac6a3e54f3f730d42e8edbd86e29581e (diff)
downloadspack-811abf5d004d86ec1fd6e08f0f6a18ffe09f66cc.tar.gz
spack-811abf5d004d86ec1fd6e08f0f6a18ffe09f66cc.tar.bz2
spack-811abf5d004d86ec1fd6e08f0f6a18ffe09f66cc.tar.xz
spack-811abf5d004d86ec1fd6e08f0f6a18ffe09f66cc.zip
HiCOPS: add new package (#26767)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
-rw-r--r--var/spack/repos/builtin/packages/hicops/package.py113
-rw-r--r--var/spack/repos/builtin/packages/lastz/package.py2
2 files changed, 114 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/hicops/package.py b/var/spack/repos/builtin/packages/hicops/package.py
new file mode 100644
index 0000000000..ccd52af0e0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hicops/package.py
@@ -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
diff --git a/var/spack/repos/builtin/packages/lastz/package.py b/var/spack/repos/builtin/packages/lastz/package.py
index f87845b9f8..114dd2faca 100644
--- a/var/spack/repos/builtin/packages/lastz/package.py
+++ b/var/spack/repos/builtin/packages/lastz/package.py
@@ -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')