<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_similar_transcripts(self, tx_ac):
 """Return a list of transcripts that are similar to the given transcript, with relevant similarity criteria. >> sim_tx = hdp.get_similar_transcripts('NM_001285829.1') >> dict(sim_tx[0]) { 'cds_eq': False, 'cds_es_fp_eq': False, 'es_fp_eq': True, 'tx_ac1': 'NM_001285829.1', 'tx_ac2': 'ENST00000498907' } where: * cds_eq means that the CDS sequences are identical * es_fp_eq means that the full exon structures are identical (i.e., incl. UTR) * cds_es_fp_eq means that the cds-clipped portions of the exon structures are identical (i.e., ecluding. UTR) * Hint: "es" = "exon set", "fp" = "fingerprint", "eq" = "equal" "exon structure" refers to the start and end coordinates on a specified reference sequence. Thus, having the same exon structure means that the transcripts are defined on the same reference sequence and have the same exon spans on that sequence. """


        rows = self._fetchall(self._queries['tx_similar'], [tx_ac])
        return rows