docs: def parse_ppi_graph(path: str, min_edge_weight: float = 0.0) -> Graph:
      """Build an undirected graph of gene interactions from edgelist file.
  
      :param str path: The path to the edgelist file
      :param float min_edge_weight: Cutoff to keep/remove the edges, default is 0, but could also be 0.63.
      :return Graph: Protein-protein interaction graph
      """
      logger.info("In parse_ppi_graph()")
      graph = igraph.read(os.path.expanduser(path), format="ncol", directed=False, names=True)
      graph.delete_edges(graph.es.select(weight_lt=min_edge_weight))
      graph.delete_vertices(graph.vs.select(_degree=0))
      logger.info(f"Loaded PPI network.\n"
                  f"Number of proteins: {len(graph.vs)}\n"
                  f"Number of interactions: {len(graph.es)}\n")
      return graph