annotate commons/core/parsing/test/Test_CrossSsrAndBesMappedByBlatToGff.py @ 6:769e306b7933

Change the repository level.
author yufei-luo
date Fri, 18 Jan 2013 04:54:14 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1 from commons.core.parsing.CrossSsrAndBesMappedByBlatToGff import CrossSsrAndBesMappedByBlatToGff
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
2 from commons.core.parsing.SsrParser import SsrParser
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
3
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
4 import unittest
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
5 import os
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
6
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
7
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
8 class Test_CrossSsrAndBesMappedByBlatToGff(unittest.TestCase):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
9
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
10
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
11 def test_createDictOfSsrParser(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
12 obsDictSsrParser = {}
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
13
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
14 ssrFileName = 'input_SSR_Resuts.tab'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
15 SSRFile = open(ssrFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
16 SSRFile.write('BES_name\tBES_redundancy\tSSR_di/tri/tetranucleotide\tSSR_Motif\tSSR_Motif_number\tSSR_start\tSSR_end\tBES_size\n')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
17 SSRFile.write('MRRE1H001A12RM1\t1\t4\tttta\t6\t272\t295\t724\n')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
18 SSRFile.write('MRRE1H001B01RM1\t1\t3\taat\t8\t264\t287\t683\n')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
19 SSRFile.write('MRRE1H001B07RM1\t1\t2\tta\t19\t153\t190\t734\n')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
20 SSRFile.write('MRRE1H001B07RM1\t2\t2\taata\t25\t83\t90\t734\n')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
21 SSRFile.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
22
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
23 iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
24 iCrossSsrAndBesMappedByBlatToGff._inputFileSSR = ssrFileName
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
25 obsDictSsrParser = iCrossSsrAndBesMappedByBlatToGff.createDictOfSsrParser(obsDictSsrParser)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
26
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
27 SsrParser1 = SsrParser('MRRE1H001A12RM1', '1', '4', 'ttta', '6', '272', '295', '724')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
28 SsrParser2 = SsrParser('MRRE1H001B01RM1', '1', '3', 'aat', '8', '264', '287', '683')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
29 SsrParser3 = SsrParser('MRRE1H001B07RM1', '1', '2', 'ta', '19', '153', '190', '734')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
30 SsrParser4 = SsrParser('MRRE1H001B07RM1', '2', '2', 'aata', '25', '83', '90', '734')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
31
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
32 expDictSsrParser = {
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
33 'MRRE1H001A12RM1': [SsrParser1],
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
34 'MRRE1H001B01RM1': [SsrParser2],
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
35 'MRRE1H001B07RM1': [SsrParser3, SsrParser4]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
36 }
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
37
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
38 self.assertEquals(expDictSsrParser, obsDictSsrParser)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
39 os.remove(ssrFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
40
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
41 def test_convertSSRPositionsToBlatPositions_strand_FW(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
42 ssrPos = 75
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
43 blatPosStart = 10501475
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
44 blatPosEnd = 10501985
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
45 strand = '+'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
46 iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
47 obsNewPos = iCrossSsrAndBesMappedByBlatToGff.convertSSRPositionsToChromPositions(ssrPos, blatPosStart, blatPosEnd, strand)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
48 expNewPos = 10501549
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
49 self.assertEquals(expNewPos, obsNewPos)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
50
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
51 def test_convertSSRPositionsToBlatPositions_strand_RV(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
52 ssrPos = 75
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
53 blatPosStart = 10501475
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
54 blatPosEnd = 10501985
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
55 strand = '-'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
56 iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
57 obsNewPos = iCrossSsrAndBesMappedByBlatToGff.convertSSRPositionsToChromPositions(ssrPos, blatPosStart, blatPosEnd, strand)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
58 expNewPos = 10501911
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
59 self.assertEquals(expNewPos, obsNewPos)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
60
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
61 def test_getSsrMotif(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
62 ssrMotif = 'atg'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
63 ssrNbMotif = 4
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
64 iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
65 obsSsrSeq = iCrossSsrAndBesMappedByBlatToGff.getSsrSeq(ssrMotif, ssrNbMotif)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
66 expSsrSeq = 'atgatgatgatg'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
67 self.assertEquals(expSsrSeq, obsSsrSeq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
68
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
69 if __name__ == "__main__":
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
70 unittest.main()