##################################
#                                #
# Last modified 01/26/2009       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys

try:
	import psyco
	psyco.full()
except:
	pass

def run():

    if len(sys.argv) < 3:
        print 'usage: python %s getallsitesoutput regionfilename outfileprefix [-startField fieldID]' % sys.argv[0]
        sys.exit(1)

    fieldID=1
    if '-startField' in sys.argv:
        fieldID=int(sys.argv[sys.argv.index('-startField')+1])
    getallsites = sys.argv[1]
    regionfilename = sys.argv[2]
    outputfileprefix = sys.argv[3]

    outfilePresent = open(outputfileprefix+'-motifPresent', 'w')
    outfileAbsent = open(outputfileprefix+'-motifAbsent', 'w')

    input_stream = open(getallsites)
    presentDict={}
    for line in input_stream:
        fields=line.split('\t')
        regionID=fields[4]
#        print regionID
        presentDict[regionID]=''
    input_stream = open(regionfilename)
    for line in input_stream:
        if line[0]=='#':
            continue
        fields=line.split('\t')
        regionID=fields[1]+':'+fields[2]+'-'+fields[3]
#        print '.', regionID
        if presentDict.has_key(regionID):
            outfilePresent.write(line)
        else:
            outfileAbsent.write(line)
    outfilePresent.close()
    outfileAbsent.close()

run()

