#!/usr/bin/env python

# -*- coding: latin-1 -*-
'''Midpoint extend by 500 on either side of histone enhancers'''

EPILOG = '''
For more details:
        %(prog)s --help
'''

import numpy
import pybedtools
import pybedtools.featurefuncs
import argparse
import os
from subprocess import Popen


def get_args():
    parser = argparse.ArgumentParser(
            description=__doc__, epilog=EPILOG,
            formatter_class=argparse.RawDescriptionHelpFormatter,
    )
    parser.add_argument('-e', '--enhancers',
    	help="The enhancers",
        required = True)
    parser.add_argument('-o', '--outfile',
    	help="The outfile",
        required = True)
    args = parser.parse_args()
    return args


def main():
    args = get_args()
    # Read in bedtools:
    histone_bed = pybedtools.BedTool(args.enhancers)
    chromsizes = pybedtools.helpers.chromsizes("hg19")
    input_bed_mid = histone_bed.each(pybedtools.featurefuncs.midpoint)
    input_extend = input_bed_mid.slop(b=500,g=chromsizes)
    input_extend.saveas(args.outfile + '.bed')



if __name__ == '__main__':
    main()