Merge branch 'master' into nathan/delint
This commit is contained in:
@@ -45,7 +45,7 @@ from within a virtual environment (e.g., via [virtualenv](https://pypi.org/proje
|
||||
|
||||
## Requirements
|
||||
|
||||
* Python 3.1 or higher
|
||||
* Python 3.5 or higher
|
||||
|
||||
## Getting started
|
||||
|
||||
|
||||
@@ -215,7 +215,7 @@ def build_parser(parser=None):
|
||||
group.add_argument("-k", "--keep-protons", dest="keep_protons", action="store_true",
|
||||
help="Keep protons in input file", default=False)
|
||||
group.add_argument("-q", "--quiet", action="store_const", const="WARNING",
|
||||
dest="log_level", help="supress non-warning messages")
|
||||
dest="log_level", help="suppress non-warning messages")
|
||||
group.add_argument("--protonate-all", dest="protonate_all", action="store_true",
|
||||
help="Protonate all atoms (will not influence pKa calculation)",
|
||||
default=False)
|
||||
@@ -328,4 +328,3 @@ def debug(*args):
|
||||
def warning(*args):
|
||||
"""Log a WARN message"""
|
||||
logger.warning(_args_to_str(args))
|
||||
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
pytest
|
||||
pytest
|
||||
numpy
|
||||
3
setup.py
3
setup.py
@@ -56,6 +56,7 @@ See http://propka.org/ for the PROPKA web server.
|
||||
],
|
||||
},
|
||||
zip_safe=True,
|
||||
python_requires='>=3',
|
||||
python_requires='>=3.5',
|
||||
tests_require=["pandas", "numpy"],
|
||||
test_suite="tests",
|
||||
)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Testing PROPKA
|
||||
|
||||
These tests assume that PROPKA is installed as a module on your system.
|
||||
These tests assume that PROPKA is installed as a module on your system the
|
||||
dependencies in `../requirements.txt` are satisfied.
|
||||
If you are running in a virtual environment and want to make changes to your
|
||||
code, module installation accomplished by
|
||||
```
|
||||
|
||||
@@ -4,7 +4,7 @@ import os
|
||||
import re
|
||||
from pathlib import Path
|
||||
import pytest
|
||||
import pandas as pd
|
||||
from numpy.testing import assert_almost_equal
|
||||
import propka.lib
|
||||
import propka.molecular_container
|
||||
|
||||
@@ -12,9 +12,10 @@ import propka.molecular_container
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
# Maximum error set by number of decimal places in pKa output as well as need
|
||||
# to make unmodified code work on WSL Ubuntu 18.04
|
||||
MAX_ERR = 0.01
|
||||
# Number of decimal places for maximum tolerable error. Set by number of
|
||||
# decimal places in pKa output as well as need to make unmodified code work
|
||||
# on WSL Ubuntu 18.04
|
||||
MAX_ERR_DECIMALS = 2
|
||||
|
||||
|
||||
# This directory
|
||||
@@ -69,8 +70,6 @@ def run_propka(options, pdb_path, tmp_path):
|
||||
molecule = propka.molecular_container.Molecular_container(str(pdb_path), args)
|
||||
molecule.calculate_pka()
|
||||
molecule.write_pka()
|
||||
except Exception as err:
|
||||
raise err
|
||||
finally:
|
||||
os.chdir(cwd)
|
||||
|
||||
@@ -104,13 +103,9 @@ def compare_output(pdb, tmp_path, ref_path):
|
||||
m = re.search(r'([0-9]+\.[0-9]+)', line)
|
||||
value = float(m.group(0))
|
||||
test_data.append(value)
|
||||
|
||||
df = pd.DataFrame({"reference": ref_data, "test": test_data})
|
||||
df["difference"] = df["reference"] - df["test"]
|
||||
max_err = df["difference"].abs().max()
|
||||
if max_err > MAX_ERR:
|
||||
errstr = "Error in test (%g) exceeds maximum (%g)" % (max_err, MAX_ERR)
|
||||
raise ValueError(errstr)
|
||||
errstr = "Error exceeds maximum allowed value (%d decimal places)" % MAX_ERR_DECIMALS
|
||||
assert_almost_equal(test_data, ref_data, decimal=MAX_ERR_DECIMALS,
|
||||
err_msg=errstr, verbose=True)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("pdb, options", [
|
||||
Reference in New Issue
Block a user