def get_transcripts_from_tree(chrom, start, stop, cds_tree):
    """Uses cds tree to btain transcript IDs from genomic coordinates

    chrom: (String) Specify chrom to use for transcript search.
    start: (Int) Specify start position to use for transcript search.
    stop: (Int) Specify ending position to use for transcript search
    cds_tree: (Dict) dictionary of IntervalTree() objects containing
        transcript IDs as function of exon coords indexed by chr/contig ID.

    Return value: (set) a set of matching unique transcript IDs.
    """
    transcript_ids = set()
    # Interval coordinates are inclusive of start, exclusive of stop
    if chrom not in cds_tree:
        return []
    cds = list(cds_tree[chrom].overlap(start, stop))
    for cd in cds:
        transcript_ids.add(cd.data)
    return list(transcript_ids)