Parse the disease-drug target associations file.

    :param str path: Path to the disease-drug target associations file.
    :param list excluded_disease_ids: Identifiers of the disease for which drug targets are being predicted.
    :return: Dictionary of drug target-disease mappings.

def parse_disease_associations(path: str, excluded_disease_ids: set):
    """Parse the disease-drug target associations file.

    :param str path: Path to the disease-drug target associations file.
    :param list excluded_disease_ids: Identifiers of the disease for which drug targets are being predicted.
    :return: Dictionary of drug target-disease mappings.
    """
    if os.path.isdir(path) or not os.path.exists(path):
        logger.info("Couldn't find the disease associations file. Returning empty list.")
        return {}

    disease_associations = defaultdict(list)
    with open(path) as input_file:
        for line in input_file:
            target_id, disease_id = line.strip().split(" ")
            if disease_id not in excluded_disease_ids:
                disease_associations[target_id].append(disease_id)
    return disease_associations