Remove all reads that were shifted outside of the genome endpoints.

def remove_bins_with_ends_out_of_bounds(df, chromosome_size,
                                        window_size):
    # type: (pd.DataFrame, int, int) -> pd.DataFrame
    """Remove all reads that were shifted outside of the genome endpoints."""

    # The dataframe is empty and contains no bins out of bounds

    # print(df.head(2))
    # print(chromosome_size)
    # print(window_size)
    out_of_bounds = df[df.index.get_level_values("Bin") + window_size >
                       chromosome_size].index
    # print(len(out_of_bounds))
    df = df.drop(out_of_bounds)

    return df