Class EWAKStarGradientDescentPfunc

java.lang.Object
edu.duke.cs.osprey.ewakstar.EWAKStarGradientDescentPfunc
All Implemented Interfaces:
EWAKStarPartitionFunction, EWAKStarPartitionFunction.WithConfTable, EWAKStarPartitionFunction.WithExternalMemory

public class EWAKStarGradientDescentPfunc extends Object implements EWAKStarPartitionFunction.WithConfTable, EWAKStarPartitionFunction.WithExternalMemory
This partition function calculator estimates the partition function value by alternating between two operations: 1. compute lower energy bounds on conformations to refine the pfunc upper bound and: 2. compute upper energy bounds on conformations to refine the pfunc lower bound This implementation will always do operation 1 first, then operation 2 to get off the initial "flat spot" the pfunc surface. After that, this implementation is an attempt at a gradient-descent type partition function calculator. At each step, the operation that maximizes the drop in delta (according to slope sampling heuristics) is chosen. This implementation should also perform much better whe operation 2 is not orders of magnitude slower than operation 1 (when e.g. we're reading energies out of a cache).