Reads 'N' mask from 1 bit file to convert bases to 'N'. In the
        2 bit file, 'N' or any other invalid base is written as 'A'.
        Therefore the 'N' mask file is required to correctly identify where
        invalid bases are.
        
        Parameters
        ----------
        l : tuple
            location
        ret : list
            List of bases which will be modified in place.

def _read_n(self, l, ret):
        """
        Reads 'N' mask from 1 bit file to convert bases to 'N'. In the
        2 bit file, 'N' or any other invalid base is written as 'A'.
        Therefore the 'N' mask file is required to correctly identify where
        invalid bases are.
        
        Parameters
        ----------
        l : tuple
            location
        ret : list
            List of bases which will be modified in place.
        """
        
        file = os.path.join(self.dir, l.chr + ".n.1bit")
        
        if not os.path.exists(file):
            return
        
        data = DNA2Bit._read_1bit_file(file, l)
        
        d = DNA2Bit._read1bit(data, l)
        
        for i in range(0, len(ret)):
            if d[i] == 1:
                ret[i] = DNA_N_UC