code: def _realign(seq, precursor, start):
      
      error = set()
      pattern_addition = [[1, 1, 0], [1, 0, 1], [0, 1, 0], [0, 1, 1], [0, 0, 1], [1, 1, 1]]
      for pos in range(0, len(seq)):
          if seq[pos] != precursor[(start + pos)]:
              error.add(pos)
  
      subs, add = [], []
      for e in error:
          if e < len(seq) - 3:
              subs.append([e, seq[e], precursor[start + e]])
  
      pattern, error_add = [], []
      for e in range(len(seq) - 3, len(seq)):
          if e in error:
              pattern.append(1)
              error_add.append(e)
          else:
              pattern.append(0)
      for p in pattern_addition:
          if pattern == p:
              add = seq[error_add[0]:]
              break
      if not add and error_add:
          for e in error_add:
              subs.append([e, seq[e], precursor[start + e]])
  
      return subs, add
docs: The actual fn that will realign the sequence