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