erange version 4.0a dev release
[erange.git] / test / testGeneMrnaCountsWeighted.py
1 '''
2 Created on Oct 20, 2010
3
4 @author: sau
5 '''
6 import unittest
7 from erange import geneMrnaCountsWeighted
8
9
10 class TestGeneMrnaCountsWeighted(unittest.TestCase):
11
12
13     def setUp(self):
14         pass
15
16
17     def tearDown(self):
18         pass
19
20
21     #TODO: write test
22     def testMain(self):
23         pass
24
25
26     #TODO: write test
27     def testGeneMrnaCountsWeighted(self):
28         pass
29
30
31     def testDoNotProcessChromosome(self):
32         chromosomeList = []
33         self.assertTrue(geneMrnaCountsWeighted.doNotProcessChromosome("chr1", chromosomeList))
34
35         chromosomeList = ["chr1"]
36         self.assertFalse(geneMrnaCountsWeighted.doNotProcessChromosome("chr1", chromosomeList))
37
38         chromosomeList = ["chr2"]
39         self.assertTrue(geneMrnaCountsWeighted.doNotProcessChromosome("chr1", chromosomeList))
40
41
42     #TODO: write test
43     def testGetReadGIDs(self):
44         pass
45
46
47     def testGetGeneSymbolEmptyDicts(self):
48         geneinfoDict = {}
49         geneannotDict = {}
50         genome = "hsapien"
51         self.assertEquals("FARGene", geneMrnaCountsWeighted.getGeneSymbol("FARGene", genome, geneinfoDict, geneannotDict))
52         self.assertEquals("LOCGene", geneMrnaCountsWeighted.getGeneSymbol("Gene", genome, geneinfoDict, geneannotDict))
53
54
55     def testGetGeneSymbolFromInfoDict(self):
56         geneinfoDict = {"Gene": [("GeneName", "AltGeneName")]}
57         geneannotDict = {}
58         self.assertEquals("GeneName", geneMrnaCountsWeighted.getGeneSymbol("Gene", "hsapien", geneinfoDict, geneannotDict))
59         self.assertEquals("AltGeneName", geneMrnaCountsWeighted.getGeneSymbol("Gene", "celegans", geneinfoDict, geneannotDict))
60
61
62     def testGetGeneSymbolFromAnnotDict(self):
63         geneinfoDict = {}
64         geneannotDict = {("hsapien", "Gene"): ["GeneName", "AltGeneName"]}
65         self.assertEquals("GeneName", geneMrnaCountsWeighted.getGeneSymbol("Gene", "hsapien", geneinfoDict, geneannotDict))
66         self.assertEquals("LOCGene", geneMrnaCountsWeighted.getGeneSymbol("Gene", "celegans", geneinfoDict, geneannotDict))
67
68
69     #TODO: write test
70     def testWriteCountsToFile(self):
71         pass
72
73
74     def testGetTagCount(self):
75         self.assertEquals(0.0, geneMrnaCountsWeighted.getTagCount({}, "gene", {"gene": ""}, {}))
76
77         uniqueCountDict = {"gene": 1,
78                            "related1": 1,
79                            "related2": 1
80         }
81         gidReadDict = {"gene": ["read1"]}
82         read2GidDict = {"read1": ["related1", "related2"]}
83         self.assertEquals(0.5, geneMrnaCountsWeighted.getTagCount(uniqueCountDict, "gene", gidReadDict, read2GidDict))
84         self.assertEquals(0.5, geneMrnaCountsWeighted.getTagCount({}, "gene", gidReadDict, read2GidDict))
85
86         uniqueCountDict["gene"] = 2
87         self.assertEquals(1.0, geneMrnaCountsWeighted.getTagCount(uniqueCountDict, "gene", gidReadDict, read2GidDict))
88
89
90 def suite():
91     suite = unittest.TestSuite()
92     suite.addTest(unittest.makeSuite(TestGeneMrnaCountsWeighted))
93
94     return suite
95
96
97 if __name__ == "__main__":
98     #import sys;sys.argv = ['', 'Test.testName']
99     unittest.main()