def generate_ppi_network(
        ppi_graph_path: str,
        dge_list: List[Gene],
        max_adj_p: float,
        max_log2_fold_change: float,
        min_log2_fold_change: float,
        ppi_edge_min_confidence: Optional[float] = None,
        current_disease_ids_path: Optional[str] = None,
        disease_associations_path: Optional[str] = None,
) -> Network:
    """Generate the protein-protein interaction network.

    :return Network: Protein-protein interaction network with information on differential expression.
    """
    # Compilation of a protein-protein interaction (PPI) graph (HIPPIE)
    protein_interactions = parsers.parse_ppi_graph(ppi_graph_path, ppi_edge_min_confidence)
    protein_interactions = protein_interactions.simplify()

    if disease_associations_path is not None and current_disease_ids_path is not None:
        current_disease_ids = parsers.parse_disease_ids(current_disease_ids_path)
        disease_associations = parsers.parse_disease_associations(disease_associations_path,
                                                                  current_disease_ids)
    else:
        disease_associations = None

    # Build an undirected weighted graph with the remaining interactions based on Entrez gene IDs
    network = Network(
        protein_interactions,
        max_adj_p=max_adj_p,
        max_l2fc=max_log2_fold_change,
        min_l2fc=min_log2_fold_change,
    )
    network.set_up_network(dge_list, disease_associations=disease_associations)

    return network
def generate_ppi_network ( ppi_graph_path : str , dge_list : List [ Gene ] , max_adj_p : float , max_log2_fold_change : float , min_log2_fold_change : float , ppi_edge_min_confidence : Optional [ float ] = None , current_disease_ids_path : Optional [ str ] = None , disease_associations_path : Optional [ str ] = None , ) -> Network : protein_interactions = parsers . parse_ppi_graph ( ppi_graph_path , ppi_edge_min_confidence ) protein_interactions = protein_interactions . simplify ( ) if disease_associations_path is not None and current_disease_ids_path is not None : current_disease_ids = parsers . parse_disease_ids ( current_disease_ids_path ) disease_associations = parsers . parse_disease_associations ( disease_associations_path , current_disease_ids ) else : disease_associations = None network = Network ( protein_interactions , max_adj_p = max_adj_p , max_l2fc = max_log2_fold_change , min_l2fc = min_log2_fold_change , ) network . set_up_network ( dge_list , disease_associations = disease_associations ) return network
Generate the protein-protein interaction network.

    :return Network: Protein-protein interaction network with information on differential expression.