X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=geneMrnaCounts.py;fp=geneMrnaCounts.py;h=cf5065ab88c40279c7ca5dfb30b70bc99dfd2065;hp=b905cf0f1317e2fbdb6af64008511870dd81c107;hb=0d3e3112fd04c2e6b44a25cacef1d591658ad181;hpb=5e4ae21098dba3d1edcf11e7279da0d84c3422e4 diff --git a/geneMrnaCounts.py b/geneMrnaCounts.py index b905cf0..cf5065a 100755 --- a/geneMrnaCounts.py +++ b/geneMrnaCounts.py @@ -6,11 +6,12 @@ except: import sys import optparse -from commoncode import readDataset, getFeaturesByChromDict +from commoncode import getFeaturesByChromDict, getConfigParser, getConfigOption, getConfigBoolOption +import ReadDataset from cistematic.genomes import Genome from cistematic.core.geneinfo import geneinfoDB -print "%s: version 5.1" % sys.argv[0] +print "geneMrnaCounts: version 5.2" def main(argv=None): @@ -19,21 +20,7 @@ def main(argv=None): usage = "usage: python %prog genome rdsfile outfilename [options]" - parser = optparse.OptionParser(usage=usage) - parser.add_option("--stranded", action="store_true", dest="trackStrand") - parser.add_option("--splices", action="store_true", dest="doSplices") - parser.add_option("--noUniqs", action="store_false", dest="doUniqs") - parser.add_option("--multi", action="store_true", dest="doMulti") - parser.add_option("--models", dest="extendGenome") - parser.add_option("--replacemodels", action="store_true", dest="replaceModels") - parser.add_option("--searchGID", action="store_true", dest="searchGID") - parser.add_option("--countfeatures", action="store_true", dest="countFeats") - parser.add_option("--cache", type="int", dest="cachePages") - parser.add_option("--markGID", action="store_true", dest="markGID") - parser.set_defaults(trackStrand=False, doSplices=False, doUniqs=True, doMulti=False, - extendGenome="", replaceModels=False, searchGID=False, - countFeats=False, cachePages=None, markGID=False) - + parser = getParser(usage) (options, args) = parser.parse_args(argv[1:]) if len(args) < 3: @@ -49,6 +36,38 @@ def main(argv=None): options.searchGID, options.countFeats, options.cachePages, options.markGID) +def getParser(usage): + parser = optparse.OptionParser(usage=usage) + parser.add_option("--stranded", action="store_true", dest="trackStrand") + parser.add_option("--splices", action="store_true", dest="doSplices") + parser.add_option("--noUniqs", action="store_false", dest="doUniqs") + parser.add_option("--multi", action="store_true", dest="doMulti") + parser.add_option("--models", dest="extendGenome") + parser.add_option("--replacemodels", action="store_true", dest="replaceModels") + parser.add_option("--searchGID", action="store_true", dest="searchGID") + parser.add_option("--countfeatures", action="store_true", dest="countFeats") + parser.add_option("--cache", type="int", dest="cachePages") + parser.add_option("--markGID", action="store_true", dest="markGID") + + configParser = getConfigParser() + section = "geneMrnaCounts" + trackStrand = getConfigBoolOption(configParser, section, "trackStrand", False) + doSplices = getConfigBoolOption(configParser, section, "doSplices", False) + doUniqs = getConfigBoolOption(configParser, section, "doUniqs", True) + doMulti = getConfigBoolOption(configParser, section, "doMulti", False) + extendGenome = getConfigOption(configParser, section, "extendGenome", "") + replaceModels = getConfigBoolOption(configParser, section, "replaceModels", False) + searchGID = getConfigBoolOption(configParser, section, "searchGID", False) + countFeats = getConfigBoolOption(configParser, section, "countFeats", False) + cachePages = getConfigOption(configParser, section, "cachePages", None) + markGID = getConfigBoolOption(configParser, section, "markGID", False) + + parser.set_defaults(trackStrand=trackStrand, doSplices=doSplices, doUniqs=doUniqs, doMulti=doMulti, + extendGenome=extendGenome, replaceModels=replaceModels, searchGID=searchGID, + countFeats=countFeats, cachePages=cachePages, markGID=markGID) + + return parser + def geneMrnaCounts(genomeName, hitfile, outfilename, trackStrand=False, doSplices=False, doUniqs=True, doMulti=False, extendGenome="", replaceModels=False, searchGID=False, countFeats=False, cachePages=None, markGID=False): @@ -73,7 +92,7 @@ def geneMrnaCounts(genomeName, hitfile, outfilename, trackStrand=False, doSplice cachePages = 100000 doCache = False - hitRDS = readDataset(hitfile, verbose=True, cache=doCache) + hitRDS = ReadDataset.ReadDataset(hitfile, verbose=True, cache=doCache) if cachePages > hitRDS.getDefaultCacheSize(): hitRDS.setDBcache(cachePages)