+def getParser(usage):
+ parser = optparse.OptionParser(usage=usage)
+ parser.add_option("--minFeature", type="int", dest="minFeature",
+ help="size of smallest partition")
+ parser.add_option("--chromField", type="int", dest="cField",
+ help="num chromosome fields")
+ parser.add_option("--padregion", type="int", dest="padregion",
+ help="padding on each side of region")
+ parser.add_option("--mergeregion", type="int", dest="mergeregion",
+ help="bp threshold to merge regions")
+ parser.add_option("--nomerge", action="store_false", dest="merging",
+ help="do not merge regions")
+ parser.add_option("--log", dest="logfilename",
+ help="log file")
+ parser.add_option("--locID", action="store_true", dest="locID",
+ help="use location as region ID")
+ parser.add_option("--norandom", action="store_true", dest="ignoreRandom",
+ help="ignore 'random' chromosomes")
+
+ configParser = getConfigParser()
+ section = "partition"
+ minFeature = getConfigIntOption(configParser, section, "minFeature", 25)
+ cField = getConfigIntOption(configParser, section, "cField", 1)
+ padregion = getConfigIntOption(configParser, section, "padregion", 1)
+ locID = getConfigBoolOption(configParser, section, "locID", False)
+ ignoreRandom = getConfigBoolOption(configParser, section, "ignoreRandom", False)
+ mergeregion = getConfigIntOption(configParser, section, "mergeregion", 0)
+ merging = getConfigBoolOption(configParser, section, "merging", True)
+ logfilename = getConfigOption(configParser, section, "logfilename", "partition.log")
+
+ parser.set_defaults(minFeature=minFeature, cField=cField, padregion=padregion, locID=locID,
+ ignoreRandom=ignoreRandom, mergeregion=mergeregion, merging=merging,
+ logfilename=logfilename)
+
+ return parser
+
+
+def partition(mergeID, regionfiles, outfilename, minFeature=25, cField=1, padregion=0,
+ locID=False, ignoreRandom=False, mergeregion=0, merging=True,
+ logfilename="partition.log"):