def __init__(self, edges, numbers, orders=None, symbols=None, num_vertices=None):
if num_vertices is not None and num_vertices != len(numbers):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if orders is None:<EOL><INDENT>orders = np.ones(len(edges), float)<EOL><DEDENT>Graph.__init__(self, edges, len(numbers))<EOL>self.numbers = numbers<EOL>self.orders = orders<EOL>self.symbols = symbols<EOL>
Arguments:
 | ``edges``  --  See base class (Graph) documentation
 | ``numbers``  --  consecutive atom numbers

Optional arguments:
 | ``orders``  --  bond orders
 | ``symbols``  --  atomic symbols
 | ``num_vertices``  --  must be the same as the number of atoms or None

When the nature of an atom or a bond is unclear ambiguous, set the
corresponding integer to zero. This means the nature of the atom or
bond is unspecified. When the bond orders are not given, they are all
set to  zero.

If you want to use 'special' atom types, use negative numbers. The
same for bond orders. e.g. a nice choice for the bond order of a
hybrid bond is -1.