Mercurial > repos > yufei-luo > s_mart
comparison SMART/Java/Python/ncList/test/Test_FindOverlaps_randomExample.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 SMART.Java.Python.misc import Utils | |
| 5 from SMART.Java.Python.ncList.test.MockFindOverlaps_randomExample import * | |
| 6 from SMART.Java.Python.ncList.FindOverlaps_naif import FindOverlaps_naif | |
| 7 from SMART.Java.Python.FindOverlapsOptim import FindOverlapsOptim | |
| 8 | |
| 9 class Test_FindOverlaps_randomExample(unittest.TestCase): | |
| 10 | |
| 11 def setUp(self): | |
| 12 self._output_naif = 'output_naif.gff3' | |
| 13 self._outputOptim = 'outputOptim.gff3' | |
| 14 | |
| 15 | |
| 16 def tearDown(self): | |
| 17 return | |
| 18 os.remove(self._output_naif) | |
| 19 os.remove(self._outputOptim) | |
| 20 | |
| 21 def test_run_smallSize(self): | |
| 22 inputRefGff3FileName = 'ref_small.gff3' | |
| 23 numberOfReads = 10 | |
| 24 chromSize = 1000 | |
| 25 iMFO_rand = MockFindOverlaps_randomExample(inputRefGff3FileName, 'reference', numberOfReads, chromSize) | |
| 26 iMFO_rand.write() | |
| 27 | |
| 28 inputQueryGff3FileName = 'query_small.gff3' | |
| 29 iMFO_rand = MockFindOverlaps_randomExample(inputQueryGff3FileName,'query', 10, 1000) | |
| 30 iMFO_rand.write() | |
| 31 | |
| 32 iFON = FindOverlaps_naif(inputRefGff3FileName, inputQueryGff3FileName) | |
| 33 iFON.setOutputGff3FileName(self._output_naif) | |
| 34 iFOO = FindOverlapsOptim(0) | |
| 35 iFOO.setRefFileName(inputRefGff3FileName, "gff3") | |
| 36 iFOO.setQueryFileName(inputQueryGff3FileName, "gff3") | |
| 37 iFOO.setOutputFileName(self._outputOptim) | |
| 38 iFOO.prepareIntermediateFiles() | |
| 39 iFOO.createNCLists() | |
| 40 | |
| 41 startTime_naif = time.time() | |
| 42 iFON.run() | |
| 43 iFON.close() | |
| 44 endTime_naif = time.time() | |
| 45 totalTime_naif = endTime_naif - startTime_naif | |
| 46 print 'for naive algo, we take %e second' % (totalTime_naif) | |
| 47 | |
| 48 startTimeOptim = time.time() | |
| 49 iFOO.compare() | |
| 50 endTimeOptim = time.time() | |
| 51 totalTimeOptim = endTimeOptim - startTimeOptim | |
| 52 print 'for optim algo, we take %e second' % (totalTimeOptim) | |
| 53 iFOO.close() | |
| 54 | |
| 55 self.assertTrue(Utils.diff(self._output_naif, self._outputOptim)) | |
| 56 | |
| 57 os.remove(inputRefGff3FileName) | |
| 58 os.remove(inputQueryGff3FileName) | |
| 59 | |
| 60 | |
| 61 def test_creatRandomExampleWithMOverlaps_smallSize(self): | |
| 62 inputRefGff3FileName = 'refMOverlaps_small.gff3' | |
| 63 inputQueryGff3FileName = 'queryMOverlaps_small.gff3' | |
| 64 numberOfReads = 10 | |
| 65 chromSize = 1000 | |
| 66 iRMSS = MockFindOverlaps_randomExample_MOverlaps(inputRefGff3FileName, inputQueryGff3FileName, 7, numberOfReads, chromSize) | |
| 67 iRMSS.createRandomExample() | |
| 68 | |
| 69 | |
| 70 iFON = FindOverlaps_naif(inputRefGff3FileName, inputQueryGff3FileName) | |
| 71 iFON.setOutputGff3FileName(self._output_naif) | |
| 72 iFOO = FindOverlapsOptim(0) | |
| 73 iFOO.setRefFileName(inputRefGff3FileName, "gff3") | |
| 74 iFOO.setQueryFileName(inputQueryGff3FileName, "gff3") | |
| 75 iFOO.setOutputFileName(self._outputOptim) | |
| 76 iFOO.prepareIntermediateFiles() | |
| 77 iFOO.createNCLists() | |
| 78 | |
| 79 startTime_naif = time.time() | |
| 80 iFON.run() | |
| 81 endTime_naif = time.time() | |
| 82 totalTime_naif = endTime_naif - startTime_naif | |
| 83 print 'for naive algo, we take %e second' % (totalTime_naif) | |
| 84 iFON.close() | |
| 85 | |
| 86 startTimeOptim = time.time() | |
| 87 iFOO.compare() | |
| 88 endTimeOptim = time.time() | |
| 89 totalTimeOptim = endTimeOptim - startTimeOptim | |
| 90 print 'for optim algo, we take %e second' % (totalTimeOptim) | |
| 91 iFOO.close() | |
| 92 | |
| 93 self.assertTrue(Utils.diff(self._output_naif, self._outputOptim)) | |
| 94 | |
| 95 os.remove(inputRefGff3FileName) | |
| 96 os.remove(inputQueryGff3FileName) | |
| 97 | |
| 98 if __name__ == "__main__": | |
| 99 unittest.main() |
