1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 wheel,
7 numpy,
8 openmm,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "pdbfixer";
14 version = "1.9";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "openmm";
19 repo = "pdbfixer";
20 rev = version;
21 hash = "sha256-ZXQWdNQyoVgjpZj/Wimcfwcbxk3CIvg3n5S1glNYUP4=";
22 };
23
24 nativeBuildInputs = [
25 setuptools
26 wheel
27 ];
28
29 propagatedBuildInputs = [
30 numpy
31 openmm
32 ];
33
34 nativeCheckInputs = [ pytestCheckHook ];
35
36 preCheck = ''
37 export PATH=$out/bin:$PATH
38 '';
39
40 disabledTests = [
41 # require network access
42 "test_build_and_simulate"
43 "test_mutate_1"
44 "test_mutate_2"
45 "test_mutate_3_fails"
46 "test_mutate_4_fails"
47 "test_mutate_5_fails"
48 "test_mutate_multiple_copies_of_chain_A"
49 "test_pdbid"
50 "test_url"
51 ];
52
53 pythonImportsCheck = [ "pdbfixer" ];
54
55 meta = with lib; {
56 description = "PDBFixer fixes problems in PDB files";
57 homepage = "https://github.com/openmm/pdbfixer";
58 changelog = "https://github.com/openmm/pdbfixer/releases/tag/${src.rev}";
59 license = licenses.mit;
60 maintainers = with maintainers; [ natsukium ];
61 mainProgram = "pdbfixer";
62 };
63}