X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=getsplicefa.py;fp=getsplicefa.py;h=cbca805a2426ace12e5121668cffecf2c646d3d5;hp=db8e2048aae93b16551fd9c62c2ff0e6fd55b433;hb=0d3e3112fd04c2e6b44a25cacef1d591658ad181;hpb=5e4ae21098dba3d1edcf11e7279da0d84c3422e4 diff --git a/getsplicefa.py b/getsplicefa.py index db8e204..cbca805 100755 --- a/getsplicefa.py +++ b/getsplicefa.py @@ -6,15 +6,16 @@ try: psyco.full() except: print "psyco not running" -from cistematic.core import complement + from cistematic.genomes import Genome +from commoncode import getConfigParser, getConfigIntOption def main(argv=None): if not argv: argv = sys.argv - verstring = "%prog: version 1.0" + verstring = "getsplicefa: version 1.1" print verstring delimiter = "|" @@ -22,11 +23,7 @@ def main(argv=None): \n\twhere spacer is by default 2, and maxBorder should be readlen - (2 * spacer)\ \n\tdelimiter is set to %s - edit the code to change it, if necessary\n" % delimiter - parser = optparse.OptionParser(usage=usage) - parser.add_option("--verbose", action="store_true", dest="doVerbose", - help="show verbose messages [default: False]") - parser.add_option("--spacer", type="int", dest="spacer", - help="number of spacer NTs to use [default: 2") + parser = makeParser(usage) parser.set_defaults(doVerbose=False, spacer=2) (options, args) = parser.parse_args(argv[1:]) @@ -42,6 +39,23 @@ def main(argv=None): getSpliceFasta(genome, datafilename, outfilename, maxBorder, options.doVerbose, options.spacer, delimiter) +def makeParser(usage=""): + parser = optparse.OptionParser(usage=usage) + parser.add_option("--verbose", action="store_true", dest="doVerbose", + help="show verbose messages [default: False]") + parser.add_option("--spacer", type="int", dest="spacer", + help="number of spacer NTs to use [default: 2") + + configParser = getConfigParser() + section = "getsplicefa" + doVerbose = getConfigIntOption(configParser, section, "doVerbose", False) + spacer = getConfigIntOption(configParser, section, "spacer", 2) + + parser.set_defaults(doVerbose=doVerbose, spacer=spacer) + + return parser + + def getSpliceFasta(genome, datafilename, outfilename, maxBorder, doVerbose=False, spacer=2, delimiter="|"): spacerseq = "N" * spacer @@ -87,7 +101,7 @@ def getSpliceFasta(genome, datafilename, outfilename, maxBorder, doVerbose=False exonStopDict[name] = exonStops exonLengths = [] for index in range(spliceCount + 1): - exonLengths.append(exonStops[index] - exonStarts[index]) + exonLengths.append(exonStops[index] - exonStarts[index] + 1) exonLengthDict[name] = exonLengths