docs: def run(self, graph, universe=None):
          """Run the contained protocol on a seed graph.
  
          :param pybel.BELGraph graph: The seed BEL graph
          :param pybel.BELGraph universe: Allows just-in-time setting of the universe in case it wasn't set before.
                                          Defaults to the given network.
          :return: The new graph is returned if not applied in-place
          :rtype: pybel.BELGraph
          """
          self.universe = universe or graph.copy()
          return self._run_helper(graph.copy(), self.protocol)