Mercurial > repos > yufei-luo > s_mart
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SMART/Java/Python/ncList/test/Test_FindOverlaps_randomExample.py Fri Jan 18 04:54:14 2013 -0500 @@ -0,0 +1,99 @@ +import unittest +import os +import time +from SMART.Java.Python.misc import Utils +from SMART.Java.Python.ncList.test.MockFindOverlaps_randomExample import * +from SMART.Java.Python.ncList.FindOverlaps_naif import FindOverlaps_naif +from SMART.Java.Python.FindOverlapsOptim import FindOverlapsOptim + +class Test_FindOverlaps_randomExample(unittest.TestCase): + + def setUp(self): + self._output_naif = 'output_naif.gff3' + self._outputOptim = 'outputOptim.gff3' + + + def tearDown(self): + return + os.remove(self._output_naif) + os.remove(self._outputOptim) + + def test_run_smallSize(self): + inputRefGff3FileName = 'ref_small.gff3' + numberOfReads = 10 + chromSize = 1000 + iMFO_rand = MockFindOverlaps_randomExample(inputRefGff3FileName, 'reference', numberOfReads, chromSize) + iMFO_rand.write() + + inputQueryGff3FileName = 'query_small.gff3' + iMFO_rand = MockFindOverlaps_randomExample(inputQueryGff3FileName,'query', 10, 1000) + iMFO_rand.write() + + iFON = FindOverlaps_naif(inputRefGff3FileName, inputQueryGff3FileName) + iFON.setOutputGff3FileName(self._output_naif) + iFOO = FindOverlapsOptim(0) + iFOO.setRefFileName(inputRefGff3FileName, "gff3") + iFOO.setQueryFileName(inputQueryGff3FileName, "gff3") + iFOO.setOutputFileName(self._outputOptim) + iFOO.prepareIntermediateFiles() + iFOO.createNCLists() + + startTime_naif = time.time() + iFON.run() + iFON.close() + endTime_naif = time.time() + totalTime_naif = endTime_naif - startTime_naif + print 'for naive algo, we take %e second' % (totalTime_naif) + + startTimeOptim = time.time() + iFOO.compare() + endTimeOptim = time.time() + totalTimeOptim = endTimeOptim - startTimeOptim + print 'for optim algo, we take %e second' % (totalTimeOptim) + iFOO.close() + + self.assertTrue(Utils.diff(self._output_naif, self._outputOptim)) + + os.remove(inputRefGff3FileName) + os.remove(inputQueryGff3FileName) + + + def test_creatRandomExampleWithMOverlaps_smallSize(self): + inputRefGff3FileName = 'refMOverlaps_small.gff3' + inputQueryGff3FileName = 'queryMOverlaps_small.gff3' + numberOfReads = 10 + chromSize = 1000 + iRMSS = MockFindOverlaps_randomExample_MOverlaps(inputRefGff3FileName, inputQueryGff3FileName, 7, numberOfReads, chromSize) + iRMSS.createRandomExample() + + + iFON = FindOverlaps_naif(inputRefGff3FileName, inputQueryGff3FileName) + iFON.setOutputGff3FileName(self._output_naif) + iFOO = FindOverlapsOptim(0) + iFOO.setRefFileName(inputRefGff3FileName, "gff3") + iFOO.setQueryFileName(inputQueryGff3FileName, "gff3") + iFOO.setOutputFileName(self._outputOptim) + iFOO.prepareIntermediateFiles() + iFOO.createNCLists() + + startTime_naif = time.time() + iFON.run() + endTime_naif = time.time() + totalTime_naif = endTime_naif - startTime_naif + print 'for naive algo, we take %e second' % (totalTime_naif) + iFON.close() + + startTimeOptim = time.time() + iFOO.compare() + endTimeOptim = time.time() + totalTimeOptim = endTimeOptim - startTimeOptim + print 'for optim algo, we take %e second' % (totalTimeOptim) + iFOO.close() + + self.assertTrue(Utils.diff(self._output_naif, self._outputOptim)) + + os.remove(inputRefGff3FileName) + os.remove(inputQueryGff3FileName) + +if __name__ == "__main__": + unittest.main()