docs: def dna(self, loc, mask='lower', rev_comp=False, lowercase=False):
          """
          Returns the DNA for a location.
          
          Parameters
          ----------
          mask : str, optional
              Indicate whether masked bases should be represented as is
              ('upper'), lowercase ('lower'), or as N ('n')
          lowercase : bool, optional
              Indicates whether sequence should be displayed as upper or
              lowercase. Default is False so sequence is uppercase. Note that
              this only affects the reference DNA and does not affect the
              mask.
          
          Returns
          -------
          list
              List of base chars.
          """
          
          l = libdna.parse_loc(loc)
              
          ret = self._read_dna(l, lowercase=lowercase)
          
          self._read_n(l, ret)
              
          self._read_mask(l, ret, mask=mask)
          
          if rev_comp:
              DNA2Bit._rev_comp(ret)
          
          ret = ret.decode('utf-8')
          
          if lowercase:
              ret = ret.lower()
        
          return ret