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