Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issue with wrong pkas assigned to terminal residues #258

Merged
merged 2 commits into from
Dec 11, 2021

Conversation

stefdoerr
Copy link
Contributor

@stefdoerr stefdoerr commented Dec 1, 2021

Solves #245

I'm not 1000% sure this is the best way to solve it but I checked a few PDBs and it seems like the group_type matches the res_name when you want to get the pKa of the sidechain.

@codecov
Copy link

codecov bot commented Dec 1, 2021

Codecov Report

Merging #258 (bde74be) into master (b5c3c3b) will decrease coverage by 0.03%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #258      +/-   ##
==========================================
- Coverage   64.11%   64.07%   -0.04%     
==========================================
  Files          30       30              
  Lines        7753     7753              
==========================================
- Hits         4971     4968       -3     
- Misses       2782     2785       +3     
Impacted Files Coverage Δ
pdb2pqr/main.py 78.81% <ø> (ø)
pdb2pqr/biomolecule.py 70.29% <0.00%> (-0.43%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b5c3c3b...bde74be. Read the comment docs.

@stefdoerr
Copy link
Contributor Author

for example for 5VBL PDB I get:

for row in pkas:
      print(f"{row['res_name']} {row['group_type']} {row['res_name'] == row['group_type']}")

LYS N+ False
LYS LYS True
ARG ARG True
ARG ARG True
ARG ARG True
GLU COO False
HIS HIS True
LYS LYS True
LYS LYS True
A00 COO False
CYS N+ False
CYS CYS True
GLU COO False
TYR TYR True
ASP COO False
LYS LYS True
TYR TYR True
ARG ARG True
ARG ARG True
GLU COO False
LYS LYS True
ARG ARG True
ARG ARG True
ASP COO False
ASP COO False
TYR TYR True
TYR TYR True
ARG ARG True
ASP COO False
TYR TYR True
ASP COO False
CYS CYS True
LYS LYS True
TYR TYR True
TYR TYR True
CYS CYS True
ASP COO False
ARG ARG True
TYR TYR True
ARG ARG True
ARG ARG True
ARG ARG True
ARG ARG True
ARG ARG True
ASP COO False
GLU COO False
LYS LYS True
CYS CYS True
TYR TYR True
ASP COO False
TYR TYR True
GLU COO False
GLU COO False
CYS CYS True
TYR TYR True
LYS LYS True
LYS LYS True
TYR TYR True
CYS CYS True
CYS CYS True
TYR TYR True
TYR TYR True
GLU COO False
ASP COO False
ASP COO False
ASP COO False
ASP COO False
LYS LYS True
ASP COO False
ASP COO False
ASP COO False
CYS CYS True
CYS CYS True
LYS LYS True
ASP COO False
GLU COO False
GLU COO False
GLU COO False
GLU COO False
ARG ARG True
ARG ARG True
ARG ARG True
CYS CYS True
LYS LYS True
TYR TYR True
HIS HIS True
LYS LYS True
TYR TYR True
HIS HIS True
CYS CYS True
ASP COO False
ASP COO False
TYR TYR True
CYS CYS True
CYS CYS True
TYR TYR True
CYS CYS True
TYR TYR True
ASP COO False
ARG ARG True
ARG ARG True
CYS CYS True
ARG ARG True
ARG COO False

@stefdoerr
Copy link
Contributor Author

stefdoerr commented Dec 1, 2021

No sorry, this creates issues with protonating ASP residues because they get reported as COO group. Maybe a better solution is the following check:

if row["group_label"].startswith(row["res_name"])
LYS N+ False
LYS LYS True
ARG ARG True
ARG ARG True
ARG ARG True
GLU COO True
HIS HIS True
LYS LYS True
LYS LYS True
A00 COO False
CYS N+ False
CYS CYS True
GLU COO True
TYR TYR True
ASP COO True
LYS LYS True
TYR TYR True
ARG ARG True
ARG ARG True
GLU COO True
LYS LYS True
ARG ARG True
ARG ARG True
ASP COO True
ASP COO True
TYR TYR True
TYR TYR True
ARG ARG True
ASP COO True
TYR TYR True
ASP COO True
CYS CYS True
LYS LYS True
TYR TYR True
TYR TYR True
CYS CYS True
ASP COO True
ARG ARG True
TYR TYR True
ARG ARG True
ARG ARG True
ARG ARG True
ARG ARG True
ARG ARG True
ASP COO True
GLU COO True
LYS LYS True
CYS CYS True
TYR TYR True
ASP COO True
TYR TYR True
GLU COO True
GLU COO True
CYS CYS True
TYR TYR True
LYS LYS True
LYS LYS True
TYR TYR True
CYS CYS True
CYS CYS True
TYR TYR True
TYR TYR True
GLU COO True
ASP COO True
ASP COO True
ASP COO True
ASP COO True
LYS LYS True
ASP COO True
ASP COO True
ASP COO True
CYS CYS True
CYS CYS True
LYS LYS True
ASP COO True
GLU COO True
GLU COO True
GLU COO True
GLU COO True
ARG ARG True
ARG ARG True
ARG ARG True
CYS CYS True
LYS LYS True
TYR TYR True
HIS HIS True
LYS LYS True
TYR TYR True
HIS HIS True
CYS CYS True
ASP COO True
ASP COO True
TYR TYR True
CYS CYS True
CYS CYS True
TYR TYR True
CYS CYS True
TYR TYR True
ASP COO True
ARG ARG True
ARG ARG True
CYS CYS True
ARG ARG True
ARG COO False

@intendo intendo requested a review from sobolevnrm December 1, 2021 16:29
@sobolevnrm sobolevnrm merged commit a91216d into Electrostatics:master Dec 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants