autoFill Authors: Graham T. Johnson1,2, Ludovic Autin1, Mostafa Al-Alusi1, David Goodsell1, Arthur Olson1, & Michel Sanner1
The Python incarnation of autoFill is based on COFFEE* Script developed by Graham Johnson between 2005 and 2010 with assistance from Mostafa Al-Alusi in 2009 and with periodic input from Arthur Olson and many members of his Molecular Graphics Lab at The Scripps Research Institute throughout, namely David Goodsell.
In 2010 I sat with Michel
Sanner for two weeks to transpose the COFFEE code into Python. Along the way,
Michel organized the code into a clean class-based architecture, which enabled
us to easily implement modular options for variations of autoFill that I had yearned to include for years, as well as to implement novel options that Michel and I came up with during
translation. Michel spent another two weeks cleaning and debugging our rough
translation, adding further modular enhancements of his own and splitting the major loop into two key options (pick an ingredient first vs pick a compartment first) that have since enabled Ludovic and I to recode an ability to deposit along gradients- a critical feature we had sacrificed during the initial translation. In just four weeks, Michel ultimately
provided a beautiful base-library of code that has since made further development for
me– a Python novice, and for Ludovic– an autoFill novice, much easier.
Ludovic Autin joined the effort in 2010 (no longer an autoFill novice) and has helped to debug the code, extend the algorithms and interoperate autoFill with uPy** and uPy-wrapped hosts to not only enhance autoFill's capabilities, but to make autoFill much more accessible to users and to increase its output options. Ludovic recently coded a unity instancing script that enables us to export expansive autoFill models for viewing in realtime 3D directly on the web using the Unity game engine plugin.
HistoVol.py ,Organelle.py, Recipe.py, Ingredient.py, Authors: Johnson, Autin, Al-Alusi, & Sanner
Translation to Python: Initiated March 1, 2010 by Sanner with JohnsonAdditional Support:
Class restructuring and organization: Sanner, and continued by Autin with Johnson
Additional algorithm implementation: Johnson, Autin, Sanner
Analysis tools: Johnson & Autin
uPy wrapping & ePMV interoperation: Autin
autoFill GUI development: Autin & Johnson
autoFill Recipe Script Structure: Autin & Sanner with Johnson
autoFill Recipes: Goodsell, Johnson, Autin
Copyright: Graham Johnson 2010
* COFFEE is a proprietary API for the professional 3D animation software package Cinema 4D from Maxon.net
**A citation for the uPy API developed by Autin & Sanner will be available in a few months, for now, visit epmv.scripps.edu to see a fully developed uPy plugin
1The Scripps Research Institute
2QB3@UCSF Fellow, University of California San Francisco
This research was supported in part by an NSF Predoctoral Fellowship (NSF 07576) to G.T.Johnson, and NIH Grant P41 RR08605 to A.J.Olson. & M.F.Sanner.
This research is currently funded by a QB3@UCSF Fellowship to G.T. Johnson, and NIH Grant P41 RR08605 to L. Autin, A.J.Olson. & M.F.Sanner.
Special thanks to Christopher Diggins from Autodesk for endless hours of hard work to enable uPy to communicate with Autodesk 3d Studio Max 2013 and to Chris Andrews at Autodesk for reinitiating the project. Special thanks to our pre-alpha testers, Kelly Michels, Merry Wang, Eddy Xuan, Kevin Brennan, and Donny Bliss for working hard to break the software before our regular users do.
autoPACK and cellPACK Logo designs by Anna Kuo and Graham Johnson.