diff commons/core/parsing/test/Test_VarscanHitForGnpSNP.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/commons/core/parsing/test/Test_VarscanHitForGnpSNP.py	Fri Jan 18 04:54:14 2013 -0500
@@ -0,0 +1,412 @@
+import unittest
+from commons.core.parsing.VarscanHitForGnpSNP import VarscanHitForGnpSNP
+from commons.core.checker.CheckerException import CheckerException
+
+class Test_VarscanHitForGnpSNP(unittest.TestCase):
+
+    def test_setAttributes(self):
+        lResults = ["C02HBa0291P19_LR48", "32", "C", "T", "1", "2", "66,67%", "1", "1", "37", "35", "0.3999999999999999"]
+        lineNumber = 1
+    
+        expChrom = "C02HBa0291P19_LR48"
+        expPosition = "32"
+        expRef = "C"
+        expVar = "T"
+        expReads1 = "1"
+        expReads2 = "2"
+        expVarFreq = 66.67
+        expStrands1 = "1"
+        expStrands2 = "1"
+        expQual1 = "37"
+        expQual2 = "35"
+        expPvalue = "0.3999999999999999"
+        
+        varscanHit = VarscanHitForGnpSNP()
+        varscanHit.setAttributes(lResults, lineNumber)
+        
+        obsChrom = varscanHit.getChrom()
+        obsPosition = varscanHit.getPosition()
+        obsRef = varscanHit.getRef()
+        obsVar = varscanHit.getVar()
+        obsReads1 = varscanHit.getReads1()
+        obsReads2 = varscanHit.getReads2()
+        obsVarFreq = varscanHit.getVarFreq()
+        obsStrands1 = varscanHit.getStrands1()
+        obsStrands2 = varscanHit.getStrands2()
+        obsQual1 = varscanHit.getQual1()
+        obsQual2 = varscanHit.getQual2()
+        obsPvalue = varscanHit.getPvalue()
+        
+        self.assertEquals(expChrom, obsChrom)
+        self.assertEquals(expPosition, obsPosition)
+        self.assertEquals(expRef, obsRef)
+        self.assertEquals(expVar, obsVar)
+        self.assertEquals(expReads1, obsReads1)
+        self.assertEquals(expReads2, obsReads2)
+        self.assertEquals(expVarFreq, obsVarFreq)
+        self.assertEquals(expStrands1, obsStrands1)
+        self.assertEquals(expStrands2, obsStrands2)
+        self.assertEquals(expQual1, obsQual1)
+        self.assertEquals(expQual2, obsQual2)
+        self.assertEquals(expPvalue, obsPvalue)
+
+    def test_setAttributes_empty_chrom(self):
+        lResults = ["", "", "", "", "", "", "10", "", "", "", "", ""]
+        lineNumber = 1
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Chrom is empty in varscan file in line 1"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_position(self):
+        lResults = ["chrom", "", "", "", "", "", "10", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Position is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_ref(self):
+        lResults = ["chrom", "position", "", "", "", "", "10", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Ref is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_var(self):
+        lResults = ["chrom", "position", "ref", "", "", "", "10", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Var is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_reads1(self):
+        lResults = ["chrom", "position", "ref", "var", "", "", "10", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Reads1 is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_reads2(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "", "10", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Reads2 is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_varFreq(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "reads2", "", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field VarFreq is empty or in bad format in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_strands1(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "reads2", "10", "", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Strands1 is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_strands2(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "reads2", "10", "strands1", "", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Strands2 is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_qual1(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "reads2", "10", "strands1", "strands2", "", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Qual1 is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_qual2(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "reads2", "10", "strands1", "strands2", "qual1", "", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Qual2 is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+
+    def test_setAttributes_empty_pvalue(self):
+        lResults = ["chrom", "position", "ref", "var", "reads1", "reads2", "10", "strands1", "strands2", "qual1", "qual2", ""]
+        lineNumber = 5
+        
+        varscanHit = VarscanHitForGnpSNP()
+        checkerExceptionInstance = None
+        try:
+            varscanHit.setAttributes(lResults, lineNumber)
+        except CheckerException, e:
+            checkerExceptionInstance = e
+        
+        expMessage = "The field Pvalue is empty in varscan file in line 5"
+        obsMessage = checkerExceptionInstance.msg
+           
+        self.assertEquals(expMessage, obsMessage)
+        
+    def test__eq__notEquals(self):
+        varscanHit1 = VarscanHitForGnpSNP()
+        varscanHit1.setChrom('C02HBa0291P19_LR48')
+        varscanHit1.setPosition('32')
+        varscanHit1.setRef('C')
+        varscanHit1.setVar('T')
+        varscanHit1.setReads1('1')
+        varscanHit1.setReads2('2')
+        varscanHit1.setVarFreq('66,67%')
+        varscanHit1.setStrands1('1')
+        varscanHit1.setStrands2('1')
+        varscanHit1.setQual1('37')
+        varscanHit1.setQual2('35')
+        varscanHit1.setPvalue('0.3999999999999999')
+        
+        varscanHit2 = VarscanHitForGnpSNP()
+        varscanHit2.setChrom('C02HBa0291P19_LR48')
+        varscanHit2.setPosition('34')
+        varscanHit2.setRef('A')
+        varscanHit2.setVar('T')
+        varscanHit2.setReads1('1')
+        varscanHit2.setReads2('2')
+        varscanHit2.setVarFreq('66,67%')
+        varscanHit2.setStrands1('1')
+        varscanHit2.setStrands2('1')
+        varscanHit2.setQual1('40')
+        varscanHit2.setQual2('34')
+        varscanHit2.setPvalue('0.3999999999999999')
+        
+        self.assertFalse(varscanHit1 == varscanHit2)
+
+    def test__eq__Equals(self):
+        varscanHit1 = VarscanHitForGnpSNP()
+        varscanHit1.setChrom('C02HBa0291P19_LR48')
+        varscanHit1.setPosition('32')
+        varscanHit1.setRef('C')
+        varscanHit1.setVar('T')
+        varscanHit1.setReads1('1')
+        varscanHit1.setReads2('2')
+        varscanHit1.setVarFreq('66,67%')
+        varscanHit1.setStrands1('1')
+        varscanHit1.setStrands2('1')
+        varscanHit1.setQual1('37')
+        varscanHit1.setQual2('35')
+        varscanHit1.setPvalue('0.3999999999999999')
+        
+        varscanHit2 = VarscanHitForGnpSNP()
+        varscanHit2.setChrom('C02HBa0291P19_LR48')
+        varscanHit2.setPosition('32')
+        varscanHit2.setRef('C')
+        varscanHit2.setVar('T')
+        varscanHit2.setReads1('1')
+        varscanHit2.setReads2('2')
+        varscanHit2.setVarFreq('66,67%')
+        varscanHit2.setStrands1('1')
+        varscanHit2.setStrands2('1')
+        varscanHit2.setQual1('37')
+        varscanHit2.setQual2('35')
+        varscanHit2.setPvalue('0.3999999999999999')
+        
+        self.assertTrue(varscanHit1 == varscanHit2)        
+
+    def test_formatAlleles2GnpSnp_for_Deletion(self):
+        varscanHit1 = VarscanHitForGnpSNP()
+        varscanHit1.setChrom('C02HBa0291P19_LR48')
+        varscanHit1.setPosition('32')
+        varscanHit1.setRef('C')
+        varscanHit1.setVar('-ATT')
+        varscanHit1.setReads1('1')
+        varscanHit1.setReads2('2')
+        varscanHit1.setVarFreq('66,67%')
+        varscanHit1.setStrands1('1')
+        varscanHit1.setStrands2('1')
+        varscanHit1.setQual1('37')
+        varscanHit1.setQual2('35')
+        varscanHit1.setPvalue('0.3999999999999999')
+        
+        expPolymType = "DELETION"
+        expGnpSnpRef = "ATT"
+        expGnpSnpVar = "---"
+        expGnpSnpPosition = 33
+        
+        varscanHit1.formatAlleles2GnpSnp()
+        
+        obsPolymType = varscanHit1.getPolymType()
+        obsGnpSnpRef = varscanHit1.getGnpSnpRef()
+        obsGnpSnpVar = varscanHit1.getGnpSnpVar()
+        obsGnpSnpPosition = varscanHit1.getGnpSnpPosition()
+        
+        self.assertEquals(expPolymType,obsPolymType)
+        self.assertEquals(expGnpSnpRef, obsGnpSnpRef)
+        self.assertEquals(expGnpSnpVar, obsGnpSnpVar)
+        self.assertEquals(expGnpSnpPosition, obsGnpSnpPosition)
+        
+    def test_setVarFreq(self):
+        varscanHit1 = VarscanHitForGnpSNP()  
+        exp = 66.67      
+        varscanHit1.setVarFreq('66,67%')
+        obs = varscanHit1.getVarFreq()
+        self.assertEquals(exp, obs)
+            
+    def test_formatAlleles2GnpSnp_for_Insertion(self):
+        varscanHit1 = VarscanHitForGnpSNP()
+        varscanHit1.setChrom('C02HBa0291P19_LR48')
+        varscanHit1.setPosition('32')
+        varscanHit1.setRef('C')
+        varscanHit1.setVar('+TG')
+        varscanHit1.setReads1('1')
+        varscanHit1.setReads2('2')
+        varscanHit1.setVarFreq('66,67%')
+        varscanHit1.setStrands1('1')
+        varscanHit1.setStrands2('1')
+        varscanHit1.setQual1('37')
+        varscanHit1.setQual2('35')
+        varscanHit1.setPvalue('0.3999999999999999')
+        
+        expPolymType = "INSERTION"
+        expGnpSnpRef = "--"
+        expGnpSnpVar = "TG"
+        expGnpSnpPosition = 32
+        
+        varscanHit1.formatAlleles2GnpSnp()
+        
+        obsPolymType = varscanHit1.getPolymType()
+        obsGnpSnpRef = varscanHit1.getGnpSnpRef()
+        obsGnpSnpVar = varscanHit1.getGnpSnpVar()
+        obsGnpSnpPosition = varscanHit1.getGnpSnpPosition()
+        
+        self.assertEquals(expPolymType,obsPolymType)
+        self.assertEquals(expGnpSnpRef, obsGnpSnpRef)
+        self.assertEquals(expGnpSnpVar, obsGnpSnpVar)
+        self.assertEquals(expGnpSnpPosition, obsGnpSnpPosition)
+        
+    def test_formatAlleles2GnpSnp_for_SNP(self):
+        varscanHit1 = VarscanHitForGnpSNP()
+        varscanHit1.setChrom('C02HBa0291P19_LR48')
+        varscanHit1.setPosition('12')
+        varscanHit1.setRef('G')
+        varscanHit1.setVar('T')
+        varscanHit1.setReads1('1')
+        varscanHit1.setReads2('2')
+        varscanHit1.setVarFreq('66,67%')
+        varscanHit1.setStrands1('1')
+        varscanHit1.setStrands2('1')
+        varscanHit1.setQual1('37')
+        varscanHit1.setQual2('35')
+        varscanHit1.setPvalue('0.3999999999999999')
+        
+        expPolymType = "SNP"
+        expGnpSnpRef = "G"
+        expGnpSnpVar = "T"
+        expGnpSnpPosition = 12
+        
+        varscanHit1.formatAlleles2GnpSnp()
+        
+        obsPolymType = varscanHit1.getPolymType()
+        obsGnpSnpRef = varscanHit1.getGnpSnpRef()
+        obsGnpSnpVar = varscanHit1.getGnpSnpVar()
+        obsGnpSnpPosition = varscanHit1.getGnpSnpPosition()
+        
+        self.assertEquals(expPolymType,obsPolymType)
+        self.assertEquals(expGnpSnpRef, obsGnpSnpRef)
+        self.assertEquals(expGnpSnpVar, obsGnpSnpVar)
+        self.assertEquals(expGnpSnpPosition, obsGnpSnpPosition)
+        
+
+if __name__ == "__main__":
+    unittest.main()
\ No newline at end of file