Mercurial > repos > yufei-luo > s_mart
comparison SMART/Java/Python/runRandomJobs.py @ 6:769e306b7933
Change the repository level.
| author | yufei-luo |
|---|---|
| date | Fri, 18 Jan 2013 04:54:14 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 5:ea3082881bf8 | 6:769e306b7933 |
|---|---|
| 1 import unittest | |
| 2 import os | |
| 3 import time | |
| 4 from optparse import OptionParser | |
| 5 from SMART.Java.Python.ncList.test.MockFindOverlaps_randomExample import MockFindOverlaps_randomExample | |
| 6 from SMART.Java.Python.FindOverlapsOptim import FindOverlapsOptim | |
| 7 | |
| 8 if __name__ == '__main__': | |
| 9 description = "runRandomJobs: create random ref/query files (with size given), and run the jobs on cluster with help of runJobs.sh" | |
| 10 | |
| 11 parser = OptionParser(description = description) | |
| 12 parser.add_option("-i", "--inputRef", dest="inputRefGff3FileName", action="store", type="string", help="Reference input file [compulsory] [format: file in gff3 format]") | |
| 13 parser.add_option("-j", "--inputQuery", dest="inputQueryGff3FileName", action="store", type="string", help="Query input file [compulsory] [format: file in gff3 format]") | |
| 14 parser.add_option("-m", "--inputRefSize", dest="numberOfRefReads", action="store", type="int", help="The number of Reference") | |
| 15 parser.add_option("-n", "--inputQuerySize", dest="numberOfQReads", action="store", type="int", help="The number of Query") | |
| 16 parser.add_option("-o", "--output", dest="outputGff3FileName", action="store", type="string", help="output file [compulsory] [format: output file in gff3 format]") | |
| 17 (options, args) = parser.parse_args() | |
| 18 | |
| 19 outputDataName = 'timeResult.dat' | |
| 20 fTime = open(outputDataName, 'w') | |
| 21 fTime.write('NbRef\tNbQuery\tNbOverlap\ttime\n') | |
| 22 chromSize = 100000 | |
| 23 print 'ref size = %d, query size = %d' %(options.numberOfRefReads, options.numberOfQReads) | |
| 24 iMFOR_ref = MockFindOverlaps_randomExample(options.inputRefGff3FileName, 'ref', options.numberOfRefReads, chromSize) | |
| 25 iMFOR_ref.write() | |
| 26 cmd_ref = 'sort -f -n -k4 -k5.4rn -o %s %s' % (options.inputRefGff3FileName, options.inputRefGff3FileName) | |
| 27 os.system(cmd_ref) | |
| 28 iMFOR_query = MockFindOverlaps_randomExample(options.inputQueryGff3FileName,'q', options.numberOfQReads, chromSize) | |
| 29 iMFOR_query.write() | |
| 30 cmd_query = 'sort -f -n -k4 -k5.4rn -o %s %s' % (options.inputQueryGff3FileName, options.inputQueryGff3FileName) | |
| 31 os.system(cmd_query) | |
| 32 iFOO = FindOverlaps_optim(options.inputRefGff3FileName, options.inputQueryGff3FileName) | |
| 33 iFOO.setOutputGff3FileName(options.outputGff3FileName) | |
| 34 | |
| 35 startTime_optim = time.time() | |
| 36 iFOO.run() | |
| 37 iFOO.close() | |
| 38 nbOverlap = iFOO.getNbOverlap() | |
| 39 endTime_optim = time.time() | |
| 40 cmd = 'sort -f -n -k4 -k5.4rn -k9.5 -t ";" -o %s %s' % (options.outputGff3FileName, options.outputGff3FileName) | |
| 41 os.system(cmd) | |
| 42 totalTime_optim = endTime_optim - startTime_optim | |
| 43 print 'we take %s second.' % (totalTime_optim) | |
| 44 fTime.write('%d\t%d\t%d\t%.2f\n'%(options.numberOfRefReads, options.numberOfQReads, nbOverlap, totalTime_optim)) | |
| 45 iFOO.deletIntermediateFiles() | |
| 46 fTime.close() |
