Skip to content

[BCFtools] [package list]

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

This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/b/BCFtools/BCFtools-1.17-cpeGNU-22.12.eb. The corresponding module would be BCFtools/1.17-cpeGNU-22.12.

# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# 
# Author: Jonas Demeulemeester
# The Francis Crick Insitute, London, UK

easyblock = 'ConfigureMake'

local_BCFtools_version =     '1.17'          # https://github.com/samtools/bcftools/releases

# Dependencies from the main software stack
local_GSL_version =          '2.7.1'         # https://ftp.gnu.org/gnu/gsl/

# Dependencies from the contributed applications
local_HTSlib_version =       '1.17'          # https://github.com/samtools/htslib/releases

name =    'BCFtools'
version = local_BCFtools_version

homepage = 'https://www.htslib.org/'
whatis = [
    "Description: BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants",
]

description = """i
BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (
VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, 
both uncompressed and BGZF-compressed.

It used to be part of SAMtools, a suite of programs for interacting with high-throughput 
sequencing data.

This version is compiled using GSL without OpenMP support, so no parallel BLAS etc.
"""

toolchain = {'name': 'cpeGNU', 'version': '22.12'}
toolchainopts = {'pic': True}

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

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

dependencies = [
#    ('zlib',       '1.2.12'),
#    ('libdeflate', '1.12'),
#    ('bzip2',      '1.0.8'),
#    ('XZ',         '5.2.5'),
    ('GSL',        local_GSL_version,    '-sequential'),
    ('HTSlib',     local_HTSlib_version),
]

# As linking with BLAS is automatic on Cray systems, the configure script goes wrong and
# then tries to generate some invalid arguments to link/. As a workaround, we tell to
# use libm as the cblas library. It will add -lm twice to the link line but that does no
# harm.
configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl --with-cblas=m "

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

sanity_check_paths = {
    'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']],
    'dirs':  ['libexec/bcftools']
}

sanity_check_commands = [
    'bcftools -v', 
    'bcftools plugin -lv',
]

# Needed to use BCFtools plugins
modextravars = {'BCFTOOLS_PLUGINS': '%(installdir)s/libexec/bcftools'}

moduleclass = 'bio'

[BCFtools] [package list]