My docking_prepack application is incorrectly patching the hydroxyproline residues. Although the log file indicates that the full-atom patch is correctly read from the fa_standard/patches and also successfully patched, the output prepacked file contains a bond between the CD as well as CG to the OD1 of the HYP residue.
The original pdb file had HYP residues annotated as HETATM with appropriate CONECT coordinates. I have tried to use both the original pdb as well changing HETATM to ATOM and deleting CONECT coordinates but no change in the output.
The pro_hydroxylated_case1.txt file in the fa_standard/patches contains the following line,
NAME3 PRO DPR
Shouldn't the DPR be HYP? In any case, I changed it to HYP but the output was identical!
Any advice is deeply appreciated.
Rosetta (currently) doesn't read CONECT records - the connectivity of the residue is the connectivity encoded in the database topology file. One problem with this is that structure display programs like PyMol don't have access to Rosetta's topology files, and have to use distance heuristics to figure out what's connected. This means that if atoms are too close, they sometimes can draw bonds which aren't actually being modeled by Rosetta.
I'm guessing that's what's happening here. Your input OD1 is close enough to the CD that it's being heuristically classified as bonded in the drawing program. You might not notice it in the original structures, as your drawing program might be recognizing the the CONECT records and using those instead of the heuristic method. I'm guessing if you delete the CONECT records from the original structure and look at that under the display program, you'll see the "extra" bond.
You might be able to fix up the bad geometries by forcing a repacking of that residue. One option is to use fixbb application with a resfile which packs just that position. Alternatively, you can delete one of the other heavy atoms from the residue, and rely on the behavior of Rosetta which repacks residues with missing atoms. (Don't delete the hydroxy oxygen, as then Rosetta will view it as just a regular proline.)
The NAME3 line is supposed to be NAME3 PRO DPR; hydroxyl prolines are implemented as a "patch" to proline, rather than an independant residue type. That particular NAME3 line is listing the residue types which can be patched to make a hydroxylproline. (Proline and d-proline). The actual IO string for the patched variant is set lower down in the patch file, on the SET_IO_STRING line.
Hello Rmoretti While I was waiting for the response, I "cleaned" the pdb using clean_pdb.py and then relaxed the output. Feeding the relaxed output into prepack seems to successfully patch the hydroxyproline without the extra bond.
Thanks for your help anyway.