def makeParser(usage=""):
parser = optparse.OptionParser(usage=usage)
- parser.add_option("--cistype", action="store_false", dest="cistype")
+ parser.add_option("--cistype", dest="cistype")
parser.add_option("--radius", type="int", dest="radius")
configParser = getConfigParser()
def featureIntersects(tabFileName, cistype="TFBSCONSSITES", radius=100):
- tabfile = open(tabFileName)
- previous = ""
+
+ posList = getPositionList(tabFileName)
+ feats = featuresIntersecting("human", posList, radius, cistype)
+ featkeys = feats.keys()
+ featkeys.sort()
+ for (chrom, pos) in featkeys:
+ print "chr%s:%d-%d\t%s" % (chrom, pos, pos + 20, str(feats[(chrom, pos)]))
+
+def getPositionList(tabFileName):
+ previous = ""
posList = []
+ tabfile = open(tabFileName)
for line in tabfile:
fields = line.split("\t")
current = fields[0]
chrom = fields[1][3:]
posList.append((chrom, (int(fields[2]) + int(fields[3]))/2))
- feats = featuresIntersecting("human", posList, radius, cistype)
- featkeys = feats.keys()
- featkeys.sort()
- for (chrom, pos) in featkeys:
- print "chr%s:%d-%d\t%s" % (chrom, pos, pos + 20, str(feats[(chrom, pos)]))
+ return posList
if __name__ == "__main__":