Thanks for your e-mail and I’m glad to hear from you. You may already have the background to understand different representations (e.g., cartoons, ribbons, etc.) so I apologize if some of the comments below are generic. I wrote this up for others interested in the project.
It’s important that Avogadro gains:
- Support for tracking data needed to render a protein (or nucleic acid or sugar) - storing residue information, sequence/chain, etc.
- How the rendering is done (e.g., how to use OpenGL or WebGL to draw a cartoon, ribbon, etc.)
- 3dmol.js - https://github.com/3dmol/3Dmol.js/blob/master/3Dmol/glcartoon.js
- ngl - https://github.com/arose/ngl/blob/master/src/representation/cartoon-representation.js
(I can't find the PyMol cartoon code, but it'd be worth finding that.)
- Avogadro1 - https://github.com/cryos/avogadro/blob/master/libavogadro/src/engines/cartoonmeshgenerator.cpp
There are also academic papers on protein rendering that would be useful to read:
Consider also, how can you use symmetry to improve rendering speed? Should the implementation use GPU, CPU or CPU/GPU hybrid approaches?
If you can’t access any of the articles, please let me know.
Hope that helps - let us know if you have further questions when drafting a proposal!