nixpkgs/pkgs/by-name/ha/hap-py/package.nix
Alexis Praga 5db72db7fa hap-py: use rtgtools vcfeval as default core
For best results (quality and running time), the
authors advice to use RTGtools vcfeval as the
engine.

Depends on #230394
2024-04-07 21:05:23 +02:00

93 lines
1.7 KiB
Nix

{
autoconf,
bcftools,
boost,
bzip2,
cmake,
curl,
fetchFromGitHub,
htslib,
lib,
makeWrapper,
perl,
python3,
rtg-tools,
samtools,
stdenv,
xz,
zlib,
}:
let
# Bcftools needs perl
runtime = [
bcftools
htslib
my-python
perl
samtools
];
my-python-packages =
p: with p; [
bx-python
pysam
pandas
psutil
scipy
];
my-python = python3.withPackages my-python-packages;
in
stdenv.mkDerivation rec {
pname = "hap.py";
version = "0.3.15";
src = fetchFromGitHub {
owner = "Illumina";
repo = pname;
rev = "v${version}";
sha256 = "sha256-K8XXhioMGMHw56MKvp0Eo8S6R36JczBzGRaBz035zRQ=";
};
# For illumina script
BOOST_ROOT = "${boost.out}";
ZLIBSTATIC = "${zlib.static}";
# For cmake : boost lib and includedir are in differernt location
BOOST_LIBRARYDIR = "${boost.out}/lib";
BOOST_INCLUDEDIR = "${boost.dev}/include";
patches = [
# Compatibility with nix for boost and library flags : zlib, bzip2, curl, crypto, lzma
./boost-library-flags.patch
# Update to python3
./python3.patch
];
nativeBuildInputs = [
autoconf
cmake
makeWrapper
];
buildInputs = [
boost
bzip2
curl
htslib
my-python
rtg-tools
xz
zlib
];
postFixup = ''
wrapProgram $out/bin/hap.py \
--set PATH ${lib.makeBinPath runtime} \
--add-flags "--engine-vcfeval-path=${rtg-tools}/bin/rtg"
'';
meta = with lib; {
description = "Compare genetics variants against a gold dataset";
homepage = "https://github.com/Illumina/hap.py";
license = licenses.bsd2;
maintainers = with maintainers; [ apraga ];
mainProgram = "hap.py";
};
}