def get_subgraph(self, subvertices, normalize=False): """Creates a subgraph of the current graph See :meth:`molmod.graphs.Graph.get_subgraph` for more information. """ graph = Graph.get_subgraph(self, subvertices, normalize) if normalize: new_numbers = self.numbers[ graph._old_vertex_indexes] # vertices do change else: new_numbers = self.numbers # vertices don't change! if self.symbols is None: new_symbols = None elif normalize: new_symbols = tuple(self.symbols[i] for i in graph._old_vertex_indexes) else: new_symbols = self.symbols new_orders = self.orders[graph._old_edge_indexes] result = MolecularGraph(graph.edges, new_numbers, new_orders, new_symbols) if normalize: result._old_vertex_indexes = graph._old_vertex_indexes result._old_edge_indexes = graph._old_edge_indexes return result
def get_subgraph(self, subnodes, normalize=False): """Creates a subgraph of the current graph. See help(Graph.get_subgraph) for more information. """ result = Graph.get_subgraph(self, subnodes, normalize) result.__class__ = MolecularGraph if normalize: result._numbers = self.numbers[result.old_node_indexes] # nodes do change result._numbers.setflags(write=False) else: result._numbers = self.numbers # nodes don't change! result._orders = self.orders[result.old_pair_indexes] result._orders.setflags(write=False) return result
def get_subgraph(self, subvertices, normalize=False): """Creates a subgraph of the current graph See :meth:`molmod.graphs.Graph.get_subgraph` for more information. """ graph = Graph.get_subgraph(self, subvertices, normalize) if normalize: new_numbers = self.numbers[graph._old_vertex_indexes] # vertices do change else: new_numbers = self.numbers # vertices don't change! if self.symbols is None: new_symbols = None elif normalize: new_symbols = tuple(self.symbols[i] for i in graph._old_vertex_indexes) else: new_symbols = self.symbols new_orders = self.orders[graph._old_edge_indexes] result = MolecularGraph(graph.edges, new_numbers, new_orders, new_symbols) if normalize: result._old_vertex_indexes = graph._old_vertex_indexes result._old_edge_indexes = graph._old_edge_indexes return result