def __init__(self, oriented=True, points=None, edges=None, rand=True, n=2000, max_neighbours=20, acyclic=False, negative_costs=False, maxflux=False):
        self.max_neighbours = max_neighbours if max_neighbours < n else n - 1
        self.oriented = oriented
        self.acyclic = acyclic
        self.negative_costs = negative_costs
        self.maxflux = maxflux
        if points is None:
            self.n = n  # number of nodes
            self._init_random_nodes()
        else:
            self.nodes = points
            self.n = len(points)
        self._init_nodes()
        self._init_structs()
        if not edges and not rand:
            print 'you must provide an edge list or rand=True'
            return
        if rand:
            self._init_edges()
            self._init_edges_list()
            self._init_gamma()
            self._init_qu()
        if edges:
            self.add_edges(edges)
            if self.is_cyclic(self.FSs) and not self.cyclic:
                print 'error, edges provides contains cycles and cyclic is False'
                return

        # FIXME here in some case (using italy's countries coords)
        # the edges generation process generate unreachable nodes, thus BS[i]
        # is [] and this could raise some error
        if self.acyclic:
            for i in range(self.n):
                if len(self.BSs[i]) == 0:
                    self.add_edges([[head, i] for head in self.FSs[i]])

        if maxflux:
            if self.oriented is False:
                print 'cannot apply maxflux on an unoriented graph'
            if self.negative_costs is True:
                print 'costs will still be positive'
            self._init_capacities()
            self._init_flux()

        print 'number of nodes: ', self.n
        print 'number of arches: ', len(self.edges)
Get the trail in .dot compatible format.
dataset/ETHPy150Open dnlcrl/PyGraphArt/src/graph.py/Graph.__init__--crossover with--dataset/ETHPy150Open kste/cryptosmt/cryptanalysis/diffchars.py/DifferentialCharacteristic.getDOTString