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