Sort protein sequences lexicographically by three criteria:
            - number of unique supporting reads
            - minimum mismatch versus a supporting reference transcript before variant
            - minimum mismatch versus a supporting reference transcript after variant
            - number of supporting reference transcripts

        TODO: Add sort criterion:
            - min number of reads covering each nucleotide of
              the protein sequence >= 2

def ascending_sort_key(self):
        """
        Sort protein sequences lexicographically by three criteria:
            - number of unique supporting reads
            - minimum mismatch versus a supporting reference transcript before variant
            - minimum mismatch versus a supporting reference transcript after variant
            - number of supporting reference transcripts

        TODO: Add sort criterion:
            - min number of reads covering each nucleotide of
              the protein sequence >= 2
        """
        return (
            len(self.alt_reads_supporting_protein_sequence),
            min(t.number_mismatches_before_variant for t in self.translations),
            min(t.number_mismatches_after_variant for t in self.translations),
            len(self.transcripts_supporting_protein_sequence)
        )