The problem, in short, is that I’m trying to call pack_rotamers_setup(). The final argument is an InteractionGraphBaseOP pointer which can’t be instantiated directly in Python.
I can get a subclass of InteractionGraphBase that I’m interested in, such as ig = DensePDInteractionGraph(n). There doesn’t seem to be any way to dereference this and pack_rotamers_setup() doesn’t like anything but a pointer to the base class as the last argument.
I can create the correct object by calling ig = InteractionGraphFactory.create_interaction_graph(…), but in order to provide arguments to this method I need to do most of the computation of pack_rotamers_setup(). I’d like to avoid having to reimplement the function if possible.
Jason, I have looked this up and the problem that ‘pack_rotamers_setup’ function uses last argument as reference for return value. So such functions could not be directly binded in Python. As work-around for this problem I have added two new version of functions pack_rotamers_setup and symmetric_pack_rotamers_setup which will return OP object instead. This code should be available in our binary builds >= 55575.