class_docstr: Execute workflow with a distribution engine
  
  Combinations of ``proc_done`` and ``proc_pending``:
  
  +------------+---------------+--------------------------------+
  | proc_done  | proc_pending  | outcome                        |
  +============+===============+================================+
  | True       | False         | Process is finished            |
  +------------+---------------+--------------------------------+
  | True       | True          | Process is currently being run |
  +------------+---------------+--------------------------------+
  | False      | False         | Process is queued              |
  +------------+---------------+--------------------------------+
  | False      | True          | INVALID COMBINATION            |
  +------------+---------------+--------------------------------+
  
  Attributes
  ----------
  procs : :obj:`list`
      list (N) of underlying interface elements to be processed
  proc_done : :obj:`numpy.ndarray`
      a boolean numpy array (N,) signifying whether a process has been
      submitted for execution
  proc_pending : :obj:`numpy.ndarray`
      a boolean numpy array (N,) signifying whether a
      process is currently running.
  depidx : :obj:`numpy.matrix`
      a boolean matrix (NxN) storing the dependency structure across
      processes. Process dependencies are derived from each column.
class_docstr_tok: ["Execute","workflow","with","a","distribution","engine","Combinations","of","``","proc_done","``","and","``","proc_pending","``",":","+","--","--","--","--","--","--","+","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","proc_done","|","proc_pending","|","outcome","|","+============+===============+================================+","|","True","|","False","|","Process","is","finished","|","+","--","--","--","--","--","--","+","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","True","|","True","|","Process","is","currently","being","run","|","+","--","--","--","--","--","--","+","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","False","|","False","|","Process","is","queued","|","+","--","--","--","--","--","--","+","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","False","|","True","|","INVALID","COMBINATION","|","+","--","--","--","--","--","--","+","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","Attributes","--","--","--","--","--","procs",":",":","obj",":","`","list","`","list","(","N",")","of","underlying","interface","elements","to","be","processed","proc_done",":",":","obj",":","`","numpy.ndarray","`","a","boolean","numpy","array","(","N",",",")","signifying","whether","a","process","has","been","submitted","for","execution","proc_pending",":",":","obj",":","`","numpy.ndarray","`","a","boolean","numpy","array","(","N",",",")","signifying","whether","a","process","is","currently","running",".","depidx",":",":","obj",":","`","numpy.matrix","`","a","boolean","matrix","(","NxN",")","storing","the","dependency","structure","across","processes",".","Process","dependencies","are","derived","from","each","column","."]
docstr: Generates a dependency list for a list of graphs.
docstr_tok: ["Generates","a","dependency","list","for","a","list","of","graphs","."]
code: def _generate_dependency_list(self, graph):
      """Generates a dependency list for a list of graphs."""
      self.procs, _ = topological_sort(graph)
      self.depidx = _graph_to_lil_matrix(graph, nodelist=self.procs)
      self.refidx = self.depidx.astype(int)
      self.proc_done = np.zeros(len(self.procs), dtype=bool)
      self.proc_pending = np.zeros(len(self.procs), dtype=bool)
  
imports: import sys
  from copy import deepcopy
  from glob import glob
  import os
  import shutil
  from time import sleep, time
  from traceback import format_exception
  import numpy
  from ...None import logging
  from ...utils.misc import str2bool
  from ..engine.utils import topological_sort, load_resultfile
  from ..engine import MapNode
  from .tools import report_crash, report_nodes_not_run, create_pyscript
label_desc: Use image node_id 14 for calling the DistributedPluginBase obj's underlying member method code with example usage: obj._generate_dependency_list(graph) without return types