erange version 4.0a dev release
[erange.git] / test / testGeneMrnaCountsWeighted.py
diff --git a/test/testGeneMrnaCountsWeighted.py b/test/testGeneMrnaCountsWeighted.py
new file mode 100644 (file)
index 0000000..108a3b8
--- /dev/null
@@ -0,0 +1,99 @@
+'''
+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