def filter_seq(seq):
if seq.res:<EOL><INDENT>return None<EOL><DEDENT>n = nt.Factors(seq.factors)<EOL>guide, s, t = aq.canonical_form(n)<EOL>seq.guide = guide<EOL>cls = aq.get_class(guide=guide)<EOL>num_larges = seq.factors.count('<STR_LIT:P>')<EOL>upper_bound_tau = cls - num_larges - len(t)<EOL>if cls < <NUM_LIT:2> or upper_bound_tau < <NUM_LIT:2>: <EOL><INDENT>return None<EOL><DEDENT>v = nt.Factors({p: a for p, a in guide.items() if p != <NUM_LIT:2> and a > <NUM_LIT:0>})<EOL>if int(v) == <NUM_LIT:1> and cls > <NUM_LIT:3>:<EOL><INDENT>return None<EOL><DEDENT>if not aq.is_driver(guide=guide):<EOL><INDENT>return None<EOL><DEDENT>return n, guide<EOL>
Examines unreserved sequences to see if they are prone to mutation. This
    currently ignores solely-power-of-2 guides with b > 3