Stores the identical sequences in a map with the structure pdb_id -> chain_id -> List(identical chains)
            where the identical chains have the format 'pdb_id:chain_id'
            e.g. for 1A2P, we get {'1A2P': {'A': ['1A2P:B', '1A2P:C'], 'C': ['1A2P:A', '1A2P:B'], 'B': ['1A2P:A', '1A2P:C']}}

def _find_identical_sequences(self):
        ''' Stores the identical sequences in a map with the structure pdb_id -> chain_id -> List(identical chains)
            where the identical chains have the format 'pdb_id:chain_id'
            e.g. for 1A2P, we get {'1A2P': {'A': ['1A2P:B', '1A2P:C'], 'C': ['1A2P:A', '1A2P:B'], 'B': ['1A2P:A', '1A2P:C']}}
        '''

        sequences = self.sequences
        identical_sequences = {}
        numseq = len(self.sequences)
        for x in range(numseq):
            for y in range(x + 1, numseq):
                pdbID1 = sequences[x][0]
                pdbID2 = sequences[y][0]
                chain1 = sequences[x][1]
                chain2 = sequences[y][1]
                if sequences[x][2] == sequences[y][2]:
                    identical_sequences[pdbID1] = identical_sequences.get(pdbID1, {})
                    identical_sequences[pdbID1][chain1]=identical_sequences[pdbID1].get(chain1, [])
                    identical_sequences[pdbID1][chain1].append("%s:%s" % (pdbID2, chain2))
                    identical_sequences[pdbID2] = identical_sequences.get(pdbID2, {})
                    identical_sequences[pdbID2][chain2]=identical_sequences[pdbID2].get(chain2, [])
                    identical_sequences[pdbID2][chain2].append("%s:%s" % (pdbID1, chain1))
        self.identical_sequences = identical_sequences