def get_sn_fraction(sn_type):
    """Return SN rates for specific types. These are taken from
    https://arxiv.org/pdf/1509.06574.pdf, and are assumed to be fixed
    fractions of the overall SN rate. Acceptable types are:
        SNIIn
        SNIIP
        SNIb
        SNIc
        SNIbc (equal to Ib + Ic)

    :param sn_type: Type of SN
    :return: fraction represented by that subtype
    """
    if sn_type == 'IIn':
        return 0.064
    elif sn_type == 'IIp':
        return 0.52
    elif sn_type == 'Ib':
        return 0.069
    elif sn_type == 'Ic':
        return 0.176
    elif sn_type == 'Ibc':
        return 0.069 + 0.176
    else:
        raise Exception('SN sn_type ' + str(sn_type) + ' not recognised!')
