def subread_dictionary(bash5_reader):
    """Return a dictionary of dictionaries. First level keys are
    (movie_name, hole_number). They point to a second dictionary with
    keys (rStart, rEnd) where rStart and rEnd are from the region table
    in the bax.h5

    Args:
        bash5_reader: a BasH5IO.BasH5Reader object from which we will read
                      the region table

    Returns:
        subread_dict: a dictionary, as described above.
    """
    subread_dict = {}
    for zmw in bash5_reader:
        first_key = (bash5_reader.movieName, zmw.holeNumber)
        second_keys = [tuple(k) for k in zmw.insertRegions]

        if first_key not in subread_dict:
            subread_dict[first_key] = {}

        for second_key in second_keys:
            subread_dict[first_key][second_key] = None

    return subread_dict