Split comma-separated gene annotations (after add_genes). Leads to duplicated records.
       Input:
          chr1 100 200 F1,F2
       Output:
          chr1 100 200 F1
          chr1 100 200 F2

def gene_one_per_line(in_file, data):
    """Split comma-separated gene annotations (after add_genes). Leads to duplicated records.
       Input:
          chr1 100 200 F1,F2
       Output:
          chr1 100 200 F1
          chr1 100 200 F2
    """
    if in_file:
        # Report all duplicated annotations one-per-line
        one_per_line_file = "%s-opl.bed" % utils.splitext_plus(in_file)[0]
        if not utils.file_uptodate(one_per_line_file, in_file):
            with file_transaction(data, one_per_line_file) as tx_out_file:
                with open(tx_out_file, 'w') as out:
                    for r in pybedtools.BedTool(in_file):
                        for g in r.name.split(','):
                            out.write('\t'.join(map(str, [r.chrom, r.start, r.end, g])) + '\n')
        return one_per_line_file