wlroots: 0.18.1 -> 0.18.2 (#364488)
[NixPkgs.git] / pkgs / applications / science / biology / truvari / default.nix
blob51fd73ea2493f0b08db6776970a0f6a2a109a090
2   lib,
3   fetchFromGitHub,
4   python3Packages,
5   runtimeShell,
6   bcftools,
7   htslib,
8 }:
10 let
11   ssshtest = fetchFromGitHub {
12     owner = "ryanlayer";
13     repo = "ssshtest";
14     rev = "d21f7f928a167fca6e2eb31616673444d15e6fd0";
15     hash = "sha256-zecZHEnfhDtT44VMbHLHOhRtNsIMWeaBASupVXtmrks=";
16   };
18 python3Packages.buildPythonApplication rec {
19   pname = "truvari";
20   version = "4.2.2";
21   pyproject = true;
23   src = fetchFromGitHub {
24     owner = "ACEnglish";
25     repo = "truvari";
26     rev = "v${version}";
27     hash = "sha256-SFBVatcVavBfQtFbBcXifBX3YnKsxJS669vCcyjsBA4=";
28   };
30   postPatch = ''
31     substituteInPlace truvari/utils.py \
32       --replace "/bin/bash" "${runtimeShell}"
33     patchShebangs repo_utils/test_files
34   '';
36   build-system = [
37     python3Packages.setuptools
38   ];
40   dependencies = with python3Packages; [
41     pywfa
42     rich
43     edlib
44     pysam
45     intervaltree
46     joblib
47     numpy
48     pytabix
49     bwapy
50     pandas
51     pyabpoa
52   ];
54   makeWrapperArgs = [
55     "--prefix"
56     "PATH"
57     ":"
58     (lib.makeBinPath [
59       bcftools
60       htslib
61     ])
62   ];
64   pythonImportsCheck = [ "truvari" ];
66   nativeCheckInputs =
67     [
68       bcftools
69       htslib
70     ]
71     ++ (with python3Packages; [
72       coverage
73     ]);
75   checkPhase = ''
76     runHook preCheck
78     ln -s ${ssshtest}/ssshtest .
79     bash repo_utils/truvari_ssshtests.sh
81     runHook postCheck
82   '';
84   meta = with lib; {
85     description = "Structural variant comparison tool for VCFs";
86     homepage = "https://github.com/ACEnglish/truvari";
87     changelog = "https://github.com/ACEnglish/truvari/releases/tag/${src.rev}";
88     license = licenses.mit;
89     maintainers = with maintainers; [
90       natsukium
91       scalavision
92     ];
93     longDescription = ''
94       Truvari is a benchmarking tool for comparison sets of SVs.
95       It can calculate the recall, precision, and f-measure of a
96       vcf from a given structural variant caller. The tool
97       is created by Spiral Genetics.
98     '';
99   };