--- /dev/null
+'''
+Created on Oct 20, 2010
+
+@author: sau
+'''
+import unittest
+from erange import geneMrnaCountsWeighted
+
+
+class TestGeneMrnaCountsWeighted(unittest.TestCase):
+
+
+ def setUp(self):
+ pass
+
+
+ def tearDown(self):
+ pass
+
+
+ #TODO: write test
+ def testMain(self):
+ pass
+
+
+ #TODO: write test
+ def testGeneMrnaCountsWeighted(self):
+ pass
+
+
+ def testDoNotProcessChromosome(self):
+ chromosomeList = []
+ self.assertTrue(geneMrnaCountsWeighted.doNotProcessChromosome("chr1", chromosomeList))
+
+ chromosomeList = ["chr1"]
+ self.assertFalse(geneMrnaCountsWeighted.doNotProcessChromosome("chr1", chromosomeList))
+
+ chromosomeList = ["chr2"]
+ self.assertTrue(geneMrnaCountsWeighted.doNotProcessChromosome("chr1", chromosomeList))
+
+
+ #TODO: write test
+ def testGetReadGIDs(self):
+ pass
+
+
+ def testGetGeneSymbolEmptyDicts(self):
+ geneinfoDict = {}
+ geneannotDict = {}
+ genome = "hsapien"
+ self.assertEquals("FARGene", geneMrnaCountsWeighted.getGeneSymbol("FARGene", genome, geneinfoDict, geneannotDict))
+ self.assertEquals("LOCGene", geneMrnaCountsWeighted.getGeneSymbol("Gene", genome, geneinfoDict, geneannotDict))
+
+
+ def testGetGeneSymbolFromInfoDict(self):
+ geneinfoDict = {"Gene": [("GeneName", "AltGeneName")]}
+ geneannotDict = {}
+ self.assertEquals("GeneName", geneMrnaCountsWeighted.getGeneSymbol("Gene", "hsapien", geneinfoDict, geneannotDict))
+ self.assertEquals("AltGeneName", geneMrnaCountsWeighted.getGeneSymbol("Gene", "celegans", geneinfoDict, geneannotDict))
+
+
+ def testGetGeneSymbolFromAnnotDict(self):
+ geneinfoDict = {}
+ geneannotDict = {("hsapien", "Gene"): ["GeneName", "AltGeneName"]}
+ self.assertEquals("GeneName", geneMrnaCountsWeighted.getGeneSymbol("Gene", "hsapien", geneinfoDict, geneannotDict))
+ self.assertEquals("LOCGene", geneMrnaCountsWeighted.getGeneSymbol("Gene", "celegans", geneinfoDict, geneannotDict))
+
+
+ #TODO: write test
+ def testWriteCountsToFile(self):
+ pass
+
+
+ def testGetTagCount(self):
+ self.assertEquals(0.0, geneMrnaCountsWeighted.getTagCount({}, "gene", {"gene": ""}, {}))
+
+ uniqueCountDict = {"gene": 1,
+ "related1": 1,
+ "related2": 1
+ }
+ gidReadDict = {"gene": ["read1"]}
+ read2GidDict = {"read1": ["related1", "related2"]}
+ self.assertEquals(0.5, geneMrnaCountsWeighted.getTagCount(uniqueCountDict, "gene", gidReadDict, read2GidDict))
+ self.assertEquals(0.5, geneMrnaCountsWeighted.getTagCount({}, "gene", gidReadDict, read2GidDict))
+
+ uniqueCountDict["gene"] = 2
+ self.assertEquals(1.0, geneMrnaCountsWeighted.getTagCount(uniqueCountDict, "gene", gidReadDict, read2GidDict))
+
+
+def suite():
+ suite = unittest.TestSuite()
+ suite.addTest(unittest.makeSuite(TestGeneMrnaCountsWeighted))
+
+ return suite
+
+
+if __name__ == "__main__":
+ #import sys;sys.argv = ['', 'Test.testName']
+ unittest.main()
\ No newline at end of file