<｜begin▁of▁sentence｜>### Instruction:
Given a graph that can be read from a GML file (e.g., 'network.gml'), how can you decompose it into weakly connected components, by ensuring that isolated nodes are not considered as separate components, and display the number of nodes and edges in each component?
### Response:
import igraph as ig

# Load a graph
filename = 'network.gml'
g = ig.read(filename)

# Decompose the graph into subgraphs
components = g.decompose(mode='weak', maxcompno=None, minelements=2)

# Print information about the components
for i, component in enumerate(components):
    print('Component {}:'.format(i+1), 'Nodes:', len(component.vs), 'Edges:', len(component.es))
<|EOT|>
