1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 hatchling,
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.7.1";
20 pyproject = true;
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-BbXEZAIqOtEclZfG/H9wxWBhxGabFJelGVjakNlZFS8=";
27 };
28
29 pythonRelaxDeps = [ "docutils" ];
30
31 build-system = [
32 hatchling
33 ];
34
35 propagatedBuildInputs = [
36 mmcif-pdbx
37 numpy
38 propka
39 requests
40 docutils
41 ];
42
43 nativeCheckInputs = [
44 pytestCheckHook
45 pandas
46 testfixtures
47 ];
48
49 disabledTests = [
50 # these tests have network access
51 "test_short_pdb"
52 "test_basic_cif"
53 "test_long_pdb"
54 "test_ligand_biomolecule"
55 "test_log_output_in_pqr_location"
56 "test_propka_apo"
57 "test_propka_pka"
58 "test_basic"
59 ];
60
61 pythonImportsCheck = [ "pdb2pqr" ];
62
63 meta = with lib; {
64 description = "Software for determining titration states, adding missing atoms, and assigning charges/radii to biomolecules";
65 homepage = "https://www.poissonboltzmann.org/";
66 changelog = "https://github.com/Electrostatics/pdb2pqr/releases/tag/v${version}";
67 license = licenses.bsd3;
68 maintainers = with maintainers; [ natsukium ];
69 };
70}