docs: def make_subgraph(graph, vertices, edges):
      """Converts a subgraph given by a list of vertices and edges into a graph object."""
      # Copy the entire graph
      local_graph = copy.deepcopy(graph)
  
      # Remove all the edges that aren't in the list
      edges_to_delete = [x for x in local_graph.get_all_edge_ids() if x not in edges]
      for e in edges_to_delete:
          local_graph.delete_edge_by_id(e)
  
      # Remove all the vertices that aren't in the list
      nodes_to_delete = [x for x in local_graph.get_all_node_ids() if x not in vertices]
      for n in nodes_to_delete:
          local_graph.delete_node(n)
  
      return local_graph