For the most part, the filter is now complete and candidate selection is done.  I have 3 remaining implementations remaining:
scanner.py - Take a WMM and compute number of motif hits, average distance to cleave site, and histogram of hit positions
meme.py - Take a WMM and run a single iteration of the MEME algorithm, output a new WMM
entropy.py - Take a WMM and a background model WMM and compute the relative entropy