1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 glibcLocales,
6 importlib-metadata,
7 packaging,
8 htslib,
9 fsspec,
10 pytestCheckHook,
11 biopython,
12 setuptools,
13 setuptools-scm,
14}:
15
16buildPythonPackage rec {
17 pname = "pyfaidx";
18 version = "0.8.1.4";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "mdshw5";
23 repo = "pyfaidx";
24 tag = "v${version}";
25 hash = "sha256-SDnmOJbuYYrg6vUQJTEuiqct9hhspN8B9Tpn8UojKFk=";
26 };
27
28 build-system = [
29 setuptools
30 setuptools-scm
31 ];
32
33 dependencies = [
34 importlib-metadata
35 packaging
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 biopython
41 htslib
42 fsspec
43 glibcLocales
44 ];
45
46 pythonImportsCheck = [ "pyfaidx" ];
47
48 preCheck = ''
49 bgzip --keep tests/data/genes.fasta
50 '';
51
52 meta = {
53 description = "Python classes for indexing, retrieval, and in-place modification of FASTA files using a samtools compatible index";
54 homepage = "https://github.com/mdshw5/pyfaidx";
55 changelog = "https://github.com/mdshw5/pyfaidx/releases/tag/${src.tag}";
56 license = lib.licenses.bsd3;
57 maintainers = with lib.maintainers; [ jbedo ];
58 mainProgram = "faidx";
59 };
60}