def show_frame(self, frame):
        self.update_node(':builtins:', frame['builtins'])
        self.update_node(':globals:', frame['globals'])
        self.update_node(':locals:', frame['locals'])
Given a codon span, strand and reference seqid, scan upstream/downstream
dataset/ETHPy150Open pybee/bugjar/bugjar/widgets.py/InspectorView.show_frame--crossover with--dataset/ETHPy150Open tanghaibao/jcvi/formats/gff.py/scan_for_valid_codon