                     else:
                         chr1 = value_str
                         
-                    chr1, chr1_coord = chr1.split(':')
+                    chr1, chr1_coord = chr1.rsplit(':', 1)
                     chr1_left, chr1_right = chr1_coord.split('-')
                     chr1_left, chr1_right = int(chr1_left), int(chr1_right)
                     value_dic["chr1"] = chr1

                    exon_list = curr_transcript[-1]
                    
                    if type == "exon":
                        chr, chr_coord = fields[1].split(':')
                        chr_left, chr_right = chr_coord.split('-')
                        chr_left, chr_right = int(chr_left), int(chr_right)
                        exon_list.append(["exon", chr, chr_left, chr_right])
                    else:
                        fusion_left, fusion_right = fields[1].split(' ')
                        chr1, chr1_pos = fusion_left.split(':')
                        chr2, chr2_pos = fusion_right.split(':')

                        chr1_pos, chr2_pos = int(chr1_pos), int(chr2_pos)
                        exon_list.append(["fusion", chr1, chr1_pos, chr2, chr2_pos])

            if line[0] == '@':
                if line[1:3] == 'SQ':
                    line = line[:-1].split('\t')
                    contig = line[1].split(':', 1)[1]
                    if contig not in contigs:
                        contigs[contig] = len(contigs)

