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.11";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "openmm";
19 repo = "pdbfixer";
20 tag = "v${version}";
21 hash = "sha256-Xk3m2w1p3Wu4g6qKGOH679wkKT0LKZLgGn/ARn219fQ=";
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 "test_charge_and_solvate"
52 "test_download_template"
53 "test_nonstandard"
54 "test_leaving_atoms"
55 ];
56
57 pythonImportsCheck = [ "pdbfixer" ];
58
59 meta = with lib; {
60 description = "PDBFixer fixes problems in PDB files";
61 homepage = "https://github.com/openmm/pdbfixer";
62 changelog = "https://github.com/openmm/pdbfixer/releases/tag/${src.tag}";
63 license = licenses.mit;
64 maintainers = with maintainers; [ natsukium ];
65 mainProgram = "pdbfixer";
66 };
67}