docs: def kmer_set(seq, k=4):
      """Return the set of unique k-length substrings within a the sequence/string `seq`
  
      Implements formula:
      C_k(s) = C(s) ∩ Σ^k
      from http://biorxiv.org/content/early/2014/08/01/007583
  
      >>> sorted(kmer_set('AGATAGATAGACACAGAAATGGGACCACAC'))  # doctest: +NORMALIZE_WHITESPACE, +ELLIPSIS
      ['AAAT', 'AATG', 'ACAC', 'ACAG', 'ACCA', 'AGAA', 'AGAC', 'AGAT', 'ATAG', 'ATGG', 'CACA', 'CAGA', 'CCAC', 'GAAA', ...
      """
      if isinstance(seq, basestring):
          return set(generate_kmers(seq, k))