def multirun(graph: BELGraph,<EOL>node: BaseEntity,<EOL>key: Optional[str] = None,<EOL>tag: Optional[str] = None,<EOL>default_score: Optional[float] = None,<EOL>runs: Optional[int] = None,<EOL>use_tqdm: bool = False,<EOL>) -> Iterable['<STR_LIT>']:
if runs is None:<EOL><INDENT>runs = <NUM_LIT:100><EOL><DEDENT>it = range(runs)<EOL>if use_tqdm:<EOL><INDENT>it = tqdm(it, total=runs)<EOL><DEDENT>for i in it:<EOL><INDENT>try:<EOL><INDENT>runner = Runner(graph, node, key=key, tag=tag, default_score=default_score)<EOL>runner.run()<EOL>yield runner<EOL><DEDENT>except Exception:<EOL><INDENT>log.debug('<STR_LIT>', i, node)<EOL><DEDENT><DEDENT>
Run the heat diffusion workflow multiple times, each time yielding a :class:`Runner` object upon completion.

    :param graph: A BEL graph
    :param node: The BEL node that is the focus of this analysis
    :param key: The key in the node data dictionary representing the experimental data. Defaults to
     :data:`pybel_tools.constants.WEIGHT`.
    :param tag: The key for the nodes' data dictionaries where the scores will be put. Defaults to 'score'
    :param default_score: The initial score for all nodes. This number can go up or down.
    :param runs: The number of times to run the heat diffusion workflow. Defaults to 100.
    :param use_tqdm: Should there be a progress bar for runners?
    :return: An iterable over the runners after each iteration