docs: def _read2bit(d, l, offset=False):
          """
          Read DNA from a 2bit file where each base is encoded in 2bit 
          (4 bases per byte).
          
          Parameters
          ----------
          d:
          l : tuple
              Location tuple
          
          Returns
          -------
          list
              Array of base chars
          """
          
          s = l.start - 1
          
          ret = bytearray([0] * l.length) #[]
          
          if offset:
              bi = s // 4
          else:
              bi = 0
          
          for i in range(0, l.length):
              block = s % 4
              
              if block == 0:
                  v = (d[bi] >> 6)
              elif block == 1:
                  v = (d[bi] >> 4)
              elif block == 2:
                  v = (d[bi] >> 2)
              else:
                  v = d[bi]
                  
                  # Reached end of byte so we are moving into the next byte
                  bi += 1
              
              # Only care about the lowest 2 bits
              v &= 3
              
              ret[i] = DNA_UC_DECODE_DICT[v]
                  
              s += 1
              
          return ret