Hydra Architecture and Migration Path

Tom Goddard
September 18, 2014

Main areas of effort put into Hydra (ordered most to least time spent).

Hydra architecture differences from Chimera 1. Source code.

Session class

session.py source.

What code in Python, what in C++

Put everything in Python unless C++ is needed for speed.

All C++ in hydra is currently in two modules molecule_cpp and map_cpp with one additional C++ library arrays to handle passing numpy arrays between Python and C++.

Migration Path

Most pressing steps

Important enhancements for an initial release

Does an initial release need programmer APIs?
I think no. APIs are essential to Chimera 2 success but they will delay an initial release too long and should be added in a subsequent release. We have important new user features like ambient occlusion, efficient large molecule handling, robust molecular surfaces, Sam's multidomain assembler, ... which should not be delayed while APIs are developed.