def METHOD_NAME(
    significant_means: pd.DataFrame,
    separator_celltype='|',
    separator_lr='_',
    human_genes_to_mouse=None
):
    significant_means = preprocess_significant_means_result(significant_means)
    visualization_data = preprocess_data(significant_means, separator_celltype, separator_lr)
    if human_genes_to_mouse is not None:
        def human2mouse(row, human_genes_to_mouse):
            ligand = row['ligand'] if row['ligand'] not in human_genes_to_mouse else human_genes_to_mouse[row['ligand']]
            receptor = row['receptor'] if row['receptor'] not in human_genes_to_mouse else human_genes_to_mouse[row['receptor']]
            return row['celltype1'], row['celltype2'], ligand, receptor
        apply_func = partial(human2mouse, human_genes_to_mouse=human_genes_to_mouse)
        visualization_data = visualization_data.apply(apply_func, axis=1, result_type='broadcast')
    return visualization_data