comparison commons/core/parsing/test/Test_VarscanToVCF.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
comparison
equal deleted inserted replaced
17:b0e8584489e6 18:94ab73e8a190
1 import unittest
2 from commons.core.parsing.VarscanToVCF import VarscanToVCF
3
4 class Test_VarscanToVCF(unittest.TestCase):
5
6 def setUp(self):
7 self._iVarscanToVCF = VarscanToVCF(doClean = True, verbosity = 2)
8
9 # def test_convertVarscanLineToVCFRecord(self):
10 ## Chrom Position Ref Cons Reads1 Reads2 VarFreq Strands1 Strands2 Qual1 Qual2 Pvalue
11 ## chr1 10 C Y 1 1 50% 1 1 68 69 0.49999999999999994
12 ## MapQual1 MapQual2 Reads1Plus Reads1Minus Reads2Plus Reads2Minus VarAllele
13 ## 1 1 1 0 1 0 T
14 # varscanLine = "chr1\t10\tC\tY\t1\t1\t50%\t1\t1\t68\t69\t0.49999999999999994\t1\t1\t1\t0\t1\t0\tT"
15 # obsRecord = self._iVarscanToVCF._convertVarscanLineToVCFRecord(varscanLine, 1)
16 #
17 # expInfo = {"AF": "50%",
18 # "DP": 2,
19 # "MQ": "1"}
20 #
21 # expRecord = vcf.model._Record("chr1", 10, "1", "C", "T", 3.010299957, ".", expInfo, ".", None)
22 ## CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO, FORMAT, sample_indexes, samples=None
23 #
24 # self.assertEqual(expRecord.ID, obsRecord.ID)
25 # self.assertEqual(expRecord.QUAL, obsRecord.QUAL)
26 # self.assertEqual(expRecord.FILTER, obsRecord.FILTER)
27 # self.assertEqual(expRecord.INFO, obsRecord.INFO)
28 # self.assertEqual(expRecord.FORMAT, obsRecord.FORMAT)
29 # self.assertEqual(expRecord, obsRecord)
30
31 def test_convertVarscanLineToVCFLine(self):
32 # Chrom Position Ref Cons Reads1 Reads2 VarFreq Strands1 Strands2 Qual1 Qual2 Pvalue
33 # chr1 10 C Y 1 1 50% 1 1 68 69 0.49999999999999994
34 # MapQual1 MapQual2 Reads1Plus Reads1Minus Reads2Plus Reads2Minus VarAllele
35 # 1 1 1 0 1 0 T
36 varscanLine = "chr1\t10\tC\tY\t1\t1\t50%\t1\t1\t68\t69\t0.49999999999999994\t1\t1\t1\t0\t1\t0\tT"
37 obsVCFLine = self._iVarscanToVCF._convertVarscanLineToVCFRecord(varscanLine, 1)
38
39 expVCFLine = "chr1\t10\t.\tC\tT\t3.010299957\t.\tAF=0.5000;DP=2;RBQ=68;ABQ=69\n"
40 # CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO
41 self.assertEqual(expVCFLine, obsVCFLine)
42
43 def test_convertVarscanLineToVCFLine_false_VarAllele(self):
44 varscanLine = "chr1\t10\tC\tY\t1\t1\t50%\t1\t1\t68\t69\t0.49999999999999994\t1\t1\t1\t0\t1\t0\tA"
45 obsVCFLine = self._iVarscanToVCF._convertVarscanLineToVCFRecord(varscanLine, 1)
46
47 expVCFLine = "chr1\t10\t.\tC\tT\t3.010299957\t.\tAF=0.5000;DP=2;RBQ=68;ABQ=69\n"
48 # CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO
49 self.assertEqual(expVCFLine, obsVCFLine)
50
51 def test_convertVarscanLineToVCFRecord_empty_line(self):
52 obsMsg = ""
53 try:
54 self._iVarscanToVCF._convertVarscanLineToVCFRecord("", 10)
55 except Exception as e:
56 obsMsg = e.msg
57
58 self.assertEqual("This varscan line (l.10) is not complete", obsMsg)
59
60 if __name__ == "__main__":
61 unittest.main()