I think you are looking for connected components.
NetworkX has algorithms for that:
In [20]: import networkx as nx
In [21]: G=nx.Graph()
In [22]: G.add_edge("A","B")
In [23]: G.add_edge("B","C")
In [24]: G.add_edge("H","E")
In [25]: G.add_edge("E","Y")
In [26]: G.add_edge("Y","I")
In [27]: nx.connected_components(G)
Out[27]: [['Y', 'H', 'E', 'I'], ['A', 'C', 'B']]
There is an isomorphism checker:
In [28]: N1,N2=nx.connected_component_subgraphs(G)
In [29]: nx.is_isomorphic(N1,N2)
Out[29]: False
Aric