1{ lib
2, fetchFromGitHub
3, buildPythonPackage
4, pythonOlder
5, numpy
6, cython
7, zlib
8, python-lzo
9, nose
10}:
11
12buildPythonPackage rec {
13 pname = "bx-python";
14 version = "0.10.0";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "bxlab";
21 repo = "bx-python";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-j2GKj2IGDBk4LBnISRx6ZW/lh5VSdQBasC0gCRj0Fiw=";
24 };
25
26 nativeBuildInputs = [
27 cython
28 ];
29
30 buildInputs = [
31 zlib
32 ];
33
34 propagatedBuildInputs = [
35 numpy
36 python-lzo
37 ];
38
39 nativeCheckInputs = [
40 nose
41 ];
42
43 postInstall = ''
44 cp -r scripts/* $out/bin
45
46 # This is a small hack; the test suite uses the scripts which need to
47 # be patched. Linking the patched scripts in $out back to the
48 # working directory allows the tests to run
49 rm -rf scripts
50 ln -s $out/bin scripts
51 '';
52
53 meta = with lib; {
54 description = "Tools for manipulating biological data, particularly multiple sequence alignments";
55 homepage = "https://github.com/bxlab/bx-python";
56 changelog = "https://github.com/bxlab/bx-python/releases/tag/v${version}";
57 license = licenses.mit;
58 maintainers = with maintainers; [ jbedo ];
59 platforms = [ "x86_64-linux" ];
60 };
61}