clauswilke/PeptideBuilder

PeptideBuilder does not build the last oxygen

Closed this issue · 4 comments

The last amino acid of a peptide chain usually has an extra oxygen atom " OXT" as the last backbone atom. Any chance PeptideBuilder can build that?

Addressing this issue is low on my priority list but I'm happy to consider a pull request that implements this feature.

@clauswilke
Hello! Thank you so much for putting together this library -- I've found it very helpful in my work.

The last amino acid of a peptide chain usually has an extra oxygen atom " OXT" as the last backbone atom. Any chance PeptideBuilder can build that?
Addressing this issue is low on my priority list but I'm happy to consider a pull request that implements this feature.

Regarding this point, is this a feature that you expect will be implemented? If not, could you perhaps provide some guidance into how I could go about building the terminal carboxyl group?

Thanks!

Regarding this point, is this a feature that you expect will be implemented? If not, could you perhaps provide some guidance into how I could go about building the terminal carboxyl group?

Sorry, no, the original authors have moved on to different topics and this is low priority for us. We just try to make sure the software continues to exist and runs with the latest libraries.

To implement this feature, you'd just have to write a function that places the appropriate atoms into the appropriate position in space. You can see how the code does this for other atoms and then mirror that existing code. The entire library is only a few hundred lines of code, mostly quite repetitive, so it shouldn't be too hard to figure out how it works.

This is now possible and will be part of the upcoming v1.1 release.

# create a peptide consisting of 6 glycines
geo = Geometry.geometry("G")
geo.phi = -60
geo.psi_im1 = -40
structure = PeptideBuilder.initialize_res(geo)
for i in range(5):
PeptideBuilder.add_residue(structure, geo)
# add terminal oxygen (OXT) to the final glycine
PeptideBuilder.add_terminal_OXT(structure)