Combinatorial Domain Hunting: solving problems in protein expression.