1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 pythonRelaxDepsHook,
7 mmcif-pdbx,
8 numpy,
9 propka,
10 requests,
11 docutils,
12 pytestCheckHook,
13 pandas,
14 testfixtures,
15}:
16
17buildPythonPackage rec {
18 pname = "pdb2pqr";
19 version = "3.6.2";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-He301TJ1bzWub0DZ6Ro/Xc+JMtJBbyygVpWjPY6RMbA=";
27 };
28
29 nativeBuildInputs = [ pythonRelaxDepsHook ];
30
31 pythonRelaxDeps = [ "docutils" ];
32
33 propagatedBuildInputs = [
34 mmcif-pdbx
35 numpy
36 propka
37 requests
38 docutils
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 pandas
44 testfixtures
45 ];
46
47 disabledTests = [
48 # these tests have network access
49 "test_short_pdb"
50 "test_basic_cif"
51 "test_long_pdb"
52 "test_ligand_biomolecule"
53 "test_log_output_in_pqr_location"
54 "test_propka_apo"
55 "test_propka_pka"
56 "test_basic"
57 ];
58
59 pythonImportsCheck = [ "pdb2pqr" ];
60
61 meta = with lib; {
62 description = "Software for determining titration states, adding missing atoms, and assigning charges/radii to biomolecules";
63 homepage = "https://www.poissonboltzmann.org/";
64 changelog = "https://github.com/Electrostatics/pdb2pqr/releases/tag/v${version}";
65 license = licenses.bsd3;
66 maintainers = with maintainers; [ natsukium ];
67 };
68}