foundry
foundry copied to clipboard
Add OXT atom to each protein chain
In RFD3 outputs, the C-terminus of a protein chain missing the OXT atom. Logic has been added to restore missing OXT atoms where applicable.
A new utility script, add_oxt.py, has been added under rfd3/utils to address this issue.
When writing the atom_array to RFD3Output, the array is first split by chain. For each chain that is identified as a protein and whose terminal residue lacks an OXT atom, an OXT atom is added. The coordinates of the OXT atom are computed from the coordinates of the C, CA, and O atoms of the terminal residue. Specifically, the OXT position is generated by rotating the O atom by 180° around the C–CA bond, consistent with standard protein geometry.