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):
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:
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):
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)