Electrostatics / pdb2pqr

PDB2PQR - determining titration states, adding missing atoms, and assigning charges/radii to biomolecules.
http://www.poissonboltzmann.org/
Other
125 stars 34 forks source link

Non-integer residue charge with PEOEPB #381

Open sobolevnrm opened 9 months ago

sobolevnrm commented 9 months ago

Running

pdb2pqr --log-level=INFO --ff=PEOEPB --ffout=PEOEPB --drop-water \
    --whitespace --with-ph=2 --titration-state-method=propka 1AJJ foo.pqr

with PDB2PQR 3.6.1 generates the error

WARNING:Residue GLU A 9 has non-integer charge: -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001.
WARNING:Residue GLU A 16 has non-integer charge: -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001.
WARNING:Residue GLU A 36 has non-integer charge: -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001.
WARNING:Residue GLU A 37 has non-integer charge: -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001.
WARNING:Residue GLU A 9 has non-integer charge:  -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001
WARNING:Residue GLU A 16 has non-integer charge:  -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001
WARNING:Residue GLU A 36 has non-integer charge:  -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001
WARNING:Residue GLU A 37 has non-integer charge:  -0.47 deviates by 0.47 from integral, exceeding error tolerance 0.001
CRITICAL:2.120000000000001 deviates by 0.120000000000001 from integral, exceeding error tolerance 0.001
CRITICAL:Giving up.
Traceback (most recent call last):
  File "C:\Users\nathanbaker\OneDrive - Microsoft\Desktop\Code\pdb2pqr\pdb2pqr\main.py", line 801, in main_driver
    results = non_trivial(
              ^^^^^^^^^^^^
  File "C:\Users\nathanbaker\OneDrive - Microsoft\Desktop\Code\pdb2pqr\pdb2pqr\main.py", line 714, in non_trivial
    raise ValueError(charge_err)
ValueError: 2.120000000000001 deviates by 0.120000000000001 from integral, exceeding error tolerance 0.001

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\nathanbaker\venvs\pdb2pqr\Scripts\pdb2pqr.exe\__main__.py", line 7, in <module>
  File "C:\Users\nathanbaker\OneDrive - Microsoft\Desktop\Code\pdb2pqr\pdb2pqr\main.py", line 838, in main
    if main_driver(args) == 1:
       ^^^^^^^^^^^^^^^^^
  File "C:\Users\nathanbaker\OneDrive - Microsoft\Desktop\Code\pdb2pqr\pdb2pqr\main.py", line 811, in main_driver
    raise RuntimeError from err
RuntimeError