[Biopython] RFC on WIP - internal coordinates, structure / prediction folk please read

rob miller rob.miller.gh at gmail.com
Tue Apr 9 13:07:47 UTC 2019


Hi,

This is a request for feedback on code I would like to contribute to
Biopython.  I want to do more cleaning, testing, polishing and documenting
before making a pull request, so don't worry yet :-).  This post is to
query whether there's sufficient interest to accept the facility into
Biopython when I'm ready, hopefully gather some positive feedback and
ideas, and to make it publicly available now as it's working for me for
most structures.

This branch ( https://github.com/rob-miller/biopython/tree/rtm-pic ) adds
infrastructure for internal coordinates under a .pic attribute on Bio.PDB
Chain and Residue objects.  'Internal coordinates' means phi, psi, omega,
chi<X> dihedral angles, all bond angles and bond lengths.  Internal
coordinates can be read from a PDB structure and used to regenerate
identical coordinate PDB chains (HETATMs not withstanding, although there
is some support).

While my primary application is to support structure prediction work, there
are some useful side effects.  Probably most interesting is the ability to
generate OpenSCAD files to 3D print protein structure models, as it uses
the same algorithm for assembly of bond length, angle and dihedral angle
data.  (Please be aware that the initial OpenSCAD rendering is reasonably
quick, but the detailed rendering to generate an .stl file for printing can
take hours depending on your hardware.)  Of lesser note, filtering options
add support for removing Hydrogens from PDB structures, and obviously one
can make Ramachandran plots and database projects looking at different
subsets of chi rotamers and other aspects of protein structure.

I've made a gist at
https://gist.github.com/rob-miller/0be208b73fe2ab36fadeeef60831fc92
to access the basic functionality.  Hopefully this is easy to get working
in your hands, if you have a local pdb mirror there is a place to configure
access to it near the beginning of the script.

If you are playing with OpenSCAD and your protein has chain breaks (or you
excised lysozyme from a GPCR), increase the -maxp cutoff in the gist
options to treat the gap as an extra long peptide bond.

All development so far has been exclusively on python3, so yes more
versions to support.  I am aware of the related projects FragBuilder and
PeptideBuilder.

I hope you like it; please be gentle with me.

Rob.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.open-bio.org/pipermail/biopython/attachments/20190409/a6d51591/attachment.htm>


More information about the Biopython mailing list