def match(self, other):
        ''' This is a noisy terminal-printing function at present since there is no need to make it a proper API function.'''
        colortext.message("FASTA Match")
        for frompdbID, fromchains in sorted(self.iteritems()):
            matched_pdbs = {}
            matched_chains = {}
            for fromchain, fromsequence in fromchains.iteritems():
                for topdbID, tochains in other.iteritems():
                    for tochain, tosequence in tochains.iteritems():
                        if fromsequence == tosequence:
                            matched_pdbs[topdbID] = matched_pdbs.get(topdbID, set())
                            matched_pdbs[topdbID].add(fromchain)
                            matched_chains[fromchain] = matched_chains.get(fromchain, [])
                            matched_chains[fromchain].append((topdbID, tochain))
            foundmatches = []
            colortext.printf("  %s" % frompdbID, color="silver")
            for mpdbID, mchains in matched_pdbs.iteritems():
                if mchains == set(fromchains.keys()):
                    foundmatches.append(mpdbID)
                    colortext.printf("  PDB %s matched PDB %s on all chains" % (mpdbID, frompdbID), color="white")
            if foundmatches:
                for fromchain, fromsequence in fromchains.iteritems():
                    colortext.printf("    %s" % (fromchain), color = "silver")
                    colortext.printf("      %s" % (fromsequence), color = self.unique_sequences[fromsequence])
                    mstr = []
                    for mchain in matched_chains[fromchain]:
                        if mchain[0] in foundmatches:
                            mstr.append("%s chain %s" % (mchain[0], mchain[1]))
                    colortext.printf("	  Matches: %s" % ", ".join(mstr))
            else:
                colortext.error("    No matches found.")