Skip to content

[HTSlib] [package list]

HTSlib/1.17-cpeGNU-22.12 (HTSlib-1.17-cpeGNU-22.12.eb)

Install with the EasyBuild-user module:

eb HTSlib-1.17-cpeGNU-22.12.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider HTSlib/1.17-cpeGNU-22.12.

EasyConfig:

# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Pablo Escobar Lopez
# Swiss Institute of Bioinformatics
# Biozentrum - University of Basel
# 1.4 modified by:
# Adam Huffman, Jonas Demeulemeester
# The Francis Crick Institute
# Updated to 1.14
# J. Sassmannshausen /GSTT
# K. Lust: Updated to 1.15.1 for LUMI.

easyblock = 'ConfigureMake'

local_HTSlib_version =       '1.17'          # https://github.com/samtools/htslib/releases

# Dependencies from the main software stack
local_bzip2_version =        '1.0.8'         # http://www.bzip.org/downloads.html
local_cURL_version =         '7.86.0'        # https://curl.haxx.se/download/
local_libdeflate_version =   '1.15'          # https://github.com/ebiggers/libdeflate/releases
local_XZ_version =           '5.4.2'         # https://tukaani.org/xz/

name =    'HTSlib'
version = local_HTSlib_version

homepage = "https://www.htslib.org/"

whatis = [
    "Description: HTSlib is a C library for reading/writing high-throughput sequencing data."
]

description = """
HTSlib is an implementation of a unified C library for accessing common file
formats, such as SAM, CRAM and VCF, used for high-throughput sequencing data,
and is the core library used by samtools and bcftools.
HTSlib implements a generalized BAM index, with file extension .csi
(coordinate-sorted index). The HTSlib file reader first looks for the new
index and then for the old if the new index is absent.
This project also includes the popular tabix indexer, which indexes both
.tbi and .csi formats, and the bgzip compression utility.
"""

docurls = [
    'man pages in sections 1, 5 and 7',
]

toolchain = {'name': 'cpeGNU', 'version': '22.12'}

source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/']
sources =     [SOURCELOWER_TAR_BZ2]
checksums =   ['763779288c40f07646ec7ad98b96c378c739171d162ad98398868783b721839f']

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True),
]

# cURL added for S3 support
dependencies = [
    ('libdeflate', local_libdeflate_version),
    ('bzip2',      local_bzip2_version),
    ('XZ',         local_XZ_version),
    ('cURL',       local_cURL_version),
]

#
# Unload modules that are not needed to compile HTSlib. A user has reported crashed with
# version 1.14, so let's remove everything that is not strictly needed.
#
preconfigopts = 'module unload cray-libsci cray-mpich xpmem cray-dsmml ; module list ; '
prebuildopts = preconfigopts
preinstallopts = preconfigopts

configopts = '--with-libdeflate --enable-libcurl --enable-s3 --enable-gcs '

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s ; cp LICENSE NEWS README %(installdir)s/share/licenses/%(name)s'    
]

sanity_check_paths = {
    'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT],
    'dirs':  ['include'],
}

sanity_check_commands = [
    'bgzip --version',
    'htsfile --version',
    'tabix --version',
]

moduleclass = 'bio'

[HTSlib] [package list]