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