iMVS is a simple molecular visualisation system (app) for viewing proteins in 3D.
The project is a primarily hobbiest approach to learning Apple Swift rather than a serious molecular viewing tool.
It is a reimplementation of my 1999 dissertation software Java3D Molecular Visualisation System (JMVS), also intended to learn and demonstrate Java3D rather than be a serious molecular tool.
It is built for iOS using Apple's Swift language. It uses SceneKit
iMVS is released under the MIT Licence.
My hopes in open sourcing this code are
- To contribute to the growing body of Swift source in the wild to help others learn.
- To find those who would like to contribute to the roadmap for iMVS, ideally improving it, thereby enabling me to learn from others.
The immediate plans for iMVS are as follows:
- General. Much needs to be done polishing the UI, providing tickers when molecule bonds are being computed, providing a better display/colour mode switching UI.
- Display modes. Currently working on Cartoons mode starting with ribbons for alpha helices and beta sheets.
- Colour modes. CPK and amino modes are already done. Need to add temperature.
- Networking. Rather than provide a limited list of PDB molecule files in the app, reach out to the PDB web services.
- Performance. Specifically in the realm of bonding, I have used my own "point cloud" implementation that is a lot faster than linear atom to atom testing but this could be improved still further, possibly using Octree/KD-tree type implementation
- Persistence. Come up with ways to save PDB files from the web services. Perhaps also persist/cache computed bond data to speed subsequent loads of a molecule.