def mdl(ll, k, data):
"""<STR_LIT>"""<EOL>N, m = data.shape<EOL>cost = ll + (N*m + m*k)*(np.log(data.sum()/(N*k)))<EOL>return cost<EOL>
Returns the minimum description length score of the model given its
log-likelihood and k, the number of cell types.

a lower cost is better...