def main():
    gtf_file = None
    try:
        opts, _ = getopt.getopt(sys.argv[1:], '', ['gtf='])
    except getopt.GetoptError as err:
        print >> sys.stderr, str(err)
        sys.exit(1)
    for opt, arg in opts:
        if opt == '--gtf':
            gtf_file = arg
    if not gtf_file:
        print >> sys.stderr, "misisng"
        sys.exit(1)
    
    tr_exs = get_transcripts_exons(gtf_file)
    gene_loci = build_gene_loci(tr_exs)
    
    for chr_name, chr_gl in gene_loci.iteritems():
        for gl in chr_gl:
            for exs in gl.t_exs.itervalues():
                ld = 0
                ex = gl.ex2chain[exs[0]]
                while ex.left:
                    ld += 1
                    ex = choice(list(ex.left))
                rd = 0
                ex = gl.ex2chain[exs[-1]]
                while ex.right:
                    rd += 1
                    ex = choice(list(ex.right))
                print len(exs[0].left_exons), ld, len(exs[-1].right_exons), rd, len(gl.ex_chains)
def main():
    gtf_file = None
    bam_file = None
    try:
        opts, _ = getopt.getopt(sys.argv[1:], '', ['gtf=', 'bam='])
    except getopt.GetoptError as err:
        print >> sys.stderr, str(err)
        sys.exit(1)
    for opt, arg in opts:
        if opt == '--gtf':
            gtf_file = arg
        if opt == '--bam':
            bam_file = arg
    if (not gtf_file 
        or not bam_file):
        print >> sys.stderr, "misisng"
        sys.exit(1)
    
    tr_exs = get_transcripts_exons(gtf_file)
    gene_loci = build_gene_loci(tr_exs)