view commons/core/parsing/test/Test_VarscanHit_WithTag.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 source

import unittest
from commons.core.checker.CheckerException import CheckerException
from commons.core.parsing.VarscanHit_WithTag import VarscanHit_WithTag

class Test_VarscanHit_WithTag(unittest.TestCase):

    def test_setAttributesFromString(self):
        line = "chr1\t1804\tT\tC\t0\t1\t100%\t0\t1\t0\t53\t0.98\tEspeceA\n"
        
        expChrom = "chr1"
        expPosition = "1804"
        expRef = "T"
        expVar = "C"
        expReadsRef = "0"
        expReadsVar = "1"
        expVarFreq = "100%"
        expStrandsRef = "0"
        expStrandsVar = "1"
        expQualRef = "0"
        expQualVar = "53"
        expPValue = "0.98"
        expTag = "EspeceA"
        
        varscanHit = VarscanHit_WithTag()
        varscanHit.setAttributesFromString(line)
        
        obsChrom = varscanHit.getChrom()
        obsPosition = varscanHit.getPosition()
        obsRef = varscanHit.getRef()
        obsVar = varscanHit.getVar()
        obsReadsRef = varscanHit.getReadsRef()
        obsReadsVar = varscanHit.getReadsVar()
        obsVarFreq = varscanHit.getVarFreq()
        obsStrandsRef = varscanHit.getStrandsRef()
        obsStrandsVar = varscanHit.getStrandsVar()
        obsQualRef = varscanHit.getQualRef()
        obsQualVar = varscanHit.getQualVar()
        obsPValue = varscanHit.getPValue()
        obsTag = varscanHit.getTag()
        
        self.assertEquals(expChrom, obsChrom)
        self.assertEquals(expPosition, obsPosition)
        self.assertEquals(expRef, obsRef)
        self.assertEquals(expVar, obsVar)
        self.assertEquals(expReadsRef, obsReadsRef)
        self.assertEquals(expReadsVar, obsReadsVar)
        self.assertEquals(expVarFreq, obsVarFreq)
        self.assertEquals(expStrandsRef, obsStrandsRef)
        self.assertEquals(expStrandsVar, obsStrandsVar)
        self.assertEquals(expQualRef, obsQualRef)
        self.assertEquals(expQualVar, obsQualVar)
        self.assertEquals(expPValue, obsPValue)
        self.assertEquals(expTag, obsTag)
        
    def test_setAttributesFromString_empty_chrom(self):
        line = "\t1804\tT\tC\t0\t1\t100%\t0\t1\t0\t53\t0.98\tEspeceA\n"
        varscanHit = VarscanHit_WithTag()
        try :
            varscanHit.setAttributesFromString(line)
        except CheckerException, e:
            checkerExceptionInstance = e
        expMessage = "The field Chrom is empty in varscan file in line "
        obsMessage = checkerExceptionInstance.msg
        self.assertEquals(expMessage, obsMessage)
        
    def test_setAttributes(self):
        lResults = ['chr1', '1804', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', 'EspeceA']
        lineNumber = 1
        
        expChrom = "chr1"
        expPosition = "1804"
        expRef = "T"
        expVar = "C"
        expReadsRef = "0"
        expReadsVar = "1"
        expVarFreq = "100%"
        expStrandsRef = "0"
        expStrandsVar = "1"
        expQualRef = "0"
        expQualVar = "53"
        expPValue = "0.98"
        expTag = "EspeceA"
        
        varscanHit = VarscanHit_WithTag()
        varscanHit.setAttributes(lResults, lineNumber)
        
        obsChrom = varscanHit.getChrom()
        obsPosition = varscanHit.getPosition()
        obsRef = varscanHit.getRef()
        obsVar = varscanHit.getVar()
        obsReadsRef = varscanHit.getReadsRef()
        obsReadsVar = varscanHit.getReadsVar()
        obsVarFreq = varscanHit.getVarFreq()
        obsStrandsRef = varscanHit.getStrandsRef()
        obsStrandsVar = varscanHit.getStrandsVar()
        obsQualRef = varscanHit.getQualRef()
        obsQualVar = varscanHit.getQualVar()
        obsPValue = varscanHit.getPValue()
        obsTag = varscanHit.getTag()
        
        self.assertEquals(expChrom, obsChrom)
        self.assertEquals(expPosition, obsPosition)
        self.assertEquals(expRef, obsRef)
        self.assertEquals(expVar, obsVar)
        self.assertEquals(expReadsRef, obsReadsRef)
        self.assertEquals(expReadsVar, obsReadsVar)
        self.assertEquals(expVarFreq, obsVarFreq)
        self.assertEquals(expStrandsRef, obsStrandsRef)
        self.assertEquals(expStrandsVar, obsStrandsVar)
        self.assertEquals(expQualRef, obsQualRef)
        self.assertEquals(expQualVar, obsQualVar)
        self.assertEquals(expPValue, obsPValue)
        self.assertEquals(expTag, obsTag)

    def test_setAttributes_empty_chrom(self):
        lResults = ['', '1804', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', 'EspeceA']
        lineNumber = 1
        
        varscanHit = VarscanHit_WithTag()
        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 = ['chr1', '', 'T', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', 'EspeceA']
        lineNumber = 1
        
        varscanHit = VarscanHit_WithTag()
        checkerExceptionInstance = None
        try:
            varscanHit.setAttributes(lResults, lineNumber)
        except CheckerException, e:
            checkerExceptionInstance = e
        
        expMessage = "The field Position is empty in varscan file in line 1"
        obsMessage = checkerExceptionInstance.msg
           
        self.assertEquals(expMessage, obsMessage)

    def test_setAttributes_empty_ref(self):
        lResults = ['chr1', '1000', '', 'C', '0', '1', '100%', '0', '1', '0', '53', '0.98', 'EspeceA']
        lineNumber = 1
        
        varscanHit = VarscanHit_WithTag()
        checkerExceptionInstance = None
        try:
            varscanHit.setAttributes(lResults, lineNumber)
        except CheckerException, e:
            checkerExceptionInstance = e
        
        expMessage = "The field Ref is empty in varscan file in line 1"
        obsMessage = checkerExceptionInstance.msg
           
        self.assertEquals(expMessage, obsMessage)

    def test_setAttributes_empty_cns(self):
        lResults = ['chr1', '1000', 'T', '', '0', '1', '100%', '0', '1', '0', '53', '0.98', 'EspeceA']
        lineNumber = 1
        
        varscanHit = VarscanHit_WithTag()
        checkerExceptionInstance = None
        try:
            varscanHit.setAttributes(lResults, lineNumber)
        except CheckerException, e:
            checkerExceptionInstance = e
        
        expMessage = "The field Var is empty in varscan file in line 1"
        obsMessage = checkerExceptionInstance.msg
           
        self.assertEquals(expMessage, obsMessage)

    def test__eq__notEquals(self):
        varscanHit1 = VarscanHit_WithTag()
        varscanHit1.setChrom('C02HBa0291P19_LR48')
        varscanHit1.setPosition('34')
        varscanHit1.setRef('A')
        varscanHit1.setVar('T')
        varscanHit1.setVar('EspeceA')
        
        varscanHit2 = VarscanHit_WithTag()
        varscanHit2.setChrom('C02HBa0291P19_LR48')
        varscanHit2.setPosition('34')
        varscanHit2.setRef('A')
        varscanHit2.setVar('T')
        varscanHit2.setVar('EspeceB')
        
        self.assertFalse(varscanHit1 == varscanHit2)

    def test__eq__Equals(self):
        varscanHit1 = VarscanHit_WithTag()
        varscanHit1.setChrom('C02HBa0291P19_LR48')
        varscanHit1.setPosition('34')
        varscanHit1.setRef('A')
        varscanHit1.setVar('T')
        varscanHit1.setVar('EspeceA')
        
        varscanHit2 = VarscanHit_WithTag()
        varscanHit2.setChrom('C02HBa0291P19_LR48')
        varscanHit2.setPosition('34')
        varscanHit2.setRef('A')
        varscanHit2.setVar('T')
        varscanHit2.setVar('EspeceA')
    
if __name__ == "__main__":
    unittest.main()