def isomorphic_to(self, other):
        """
        Checks if the graphs of two MoleculeGraphs are isomorphic to one
        another. In order to prevent problems with misdirected edges, both
        graphs are converted into undirected nx.Graph objects.

        :param other: MoleculeGraph object to be compared.
        :return: bool
        """
        if self.molecule.composition != other.molecule.composition:
            return False
        else:
            self_undir = self.graph.to_undirected()
            other_undir = other.graph.to_undirected()
            nm = iso.categorical_node_match("specie", "ERROR")
            isomorphic = nx.is_isomorphic(self_undir, other_undir, node_match=nm)
            return isomorphic