annotate SMART/Java/Python/ncList/test/Test_F_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 commons.core.utils.FileUtils import FileUtils
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
5 from SMART.Java.Python.ncList.test.MockFindOverlaps_randomExample import MockFindOverlaps_randomExample_NonOrder
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_F_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_optim = 'output_optim.gff3'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
13
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
14 def test_FindOverlaps_NonOrder(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
15 inputRefGff3FileName = 'refMOverlaps.gff3'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
16 inputQueryGff3FileName = 'queryMOverlaps.gff3'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
17 outputDataName = 'timeResult.dat'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
18 fTime = open(outputDataName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
19 fTime.write('NbRef\tNbQuery\tNbOverlap\ttime\n')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
20 numberOfRefReads = 10
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
21 chromSize = 100000
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
22 numberOfQReads = 10
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
23 print 'ref size = %d, query size = %d' %(numberOfRefReads, numberOfQReads)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
24 iMFOR_ref = MockFindOverlaps_randomExample_NonOrder(inputRefGff3FileName, 'ref', numberOfRefReads, chromSize)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
25 iMFOR_ref.write()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
26 iMFOR_query = MockFindOverlaps_randomExample_NonOrder(inputQueryGff3FileName,'q', numberOfQReads, chromSize)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
27 iMFOR_query.write()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
28 iFOO = FindOverlapsOptim(0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
29 iFOO.setRefFileName(inputRefGff3FileName, "gff3")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
30 iFOO.setQueryFileName(inputQueryGff3FileName, "gff3")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
31 iFOO.setOutputFileName(self._output_optim)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
32 startTime_optim = time.time()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
33 iFOO.run()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
34 iFOO.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
35 nbOverlap = iFOO._nbOverlaps
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
36 endTime_optim = time.time()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
37 totalTime_optim = endTime_optim - startTime_optim
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
38 print 'we take %s second.' % (totalTime_optim)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
39 fTime.write('%d\t%d\t%d\t%.2f\n'%(numberOfRefReads, numberOfQReads, nbOverlap, totalTime_optim))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
40 fTime.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
41 os.remove(inputQueryGff3FileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
42 os.remove(inputRefGff3FileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
43 os.remove(self._output_optim)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
44 os.remove(outputDataName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
45
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
46
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
47 if __name__ == "__main__":
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
48 unittest.main()