Closed stefdoerr closed 2 years ago
I do have a question though about optimization. If you look at the resulting pqr file it seems like pdb2pqr
modifies the backbone dihedrals a lot (and the side chains). I'm a bit preoccupied if your optimization algorithm has issues with cyclic peptide backbones.
Merging #307 (4fa2c1f) into master (82f02e5) will increase coverage by
0.01%
. The diff coverage is81.81%
.
@@ Coverage Diff @@
## master #307 +/- ##
==========================================
+ Coverage 65.38% 65.40% +0.01%
==========================================
Files 30 30
Lines 7783 7792 +9
==========================================
+ Hits 5089 5096 +7
- Misses 2694 2696 +2
Impacted Files | Coverage Δ | |
---|---|---|
pdb2pqr/biomolecule.py | 75.86% <81.81%> (+0.02%) |
:arrow_up: |
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 82f02e5...4fa2c1f. Read the comment docs.
pdb2pqr was adding terminals to cyclic peptides. I fixed it by checking if the distance between the two terminal N/C are smaller than the amide distance. If that's the case it skips the adding of termini. I added a test for 5VAV PDB https://www.rcsb.org/structure/5vav which is a nice small cyclic peptide, also with a disulfide CYX/CYX bond. Closes https://github.com/Electrostatics/pdb2pqr/issues/306
I also added a fix for supporting modified backbone residues like: https://www.rcsb.org/ligand/33X Before the code was checking just if the residue was a proline but the same rule should apply to any N atom which has more than two heavy atom bonds (counted as 1 here since we don't count the peptide bond to the next residue).
Finally there is also a tiny improvement for my last PR where I was not checking NEUTRAL-N/C{RES} names for keeping the protonation state.