annotate commons/core/seq/test/Test_BioseqUtils.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 # Copyright INRA (Institut National de la Recherche Agronomique)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
2 # http://www.inra.fr
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
3 # http://urgi.versailles.inra.fr
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
4 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
5 # This software is governed by the CeCILL license under French law and
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
6 # abiding by the rules of distribution of free software. You can use,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
7 # modify and/ or redistribute the software under the terms of the CeCILL
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
8 # license as circulated by CEA, CNRS and INRIA at the following URL
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
9 # "http://www.cecill.info".
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
10 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
11 # As a counterpart to the access to the source code and rights to copy,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
12 # modify and redistribute granted by the license, users are provided only
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
13 # with a limited warranty and the software's author, the holder of the
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
14 # economic rights, and the successive licensors have only limited
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
15 # liability.
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
16 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
17 # In this respect, the user's attention is drawn to the risks associated
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
18 # with loading, using, modifying and/or developing or reproducing the
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
19 # software by the user in light of its specific status of free software,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
20 # that may mean that it is complicated to manipulate, and that also
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
21 # therefore means that it is reserved for developers and experienced
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
22 # professionals having in-depth computer knowledge. Users are therefore
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
23 # encouraged to load and test the software's suitability as regards their
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
24 # requirements in conditions enabling the security of their systems and/or
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
25 # data to be ensured and, more generally, to use and operate it in the
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
26 # same conditions as regards security.
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
27 #
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
28 # The fact that you are presently reading this means that you have had
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
29 # knowledge of the CeCILL license and that you accept its terms.
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
30
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
31
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
32 import unittest
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
33 import os
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
34 from commons.core.seq.Bioseq import Bioseq
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
35 from commons.core.seq.BioseqUtils import BioseqUtils
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
36 from commons.core.utils.FileUtils import FileUtils
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
37
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
38
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
39 class Test_BioseqUtils( unittest.TestCase ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
40
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
41 def test_translateSequence_one_nt( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
42 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
43 bioseq.sequence = "G"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
44 BioseqUtils.translateSequence(bioseq, 1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
45 expSequence = ""
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
46 obsSequence = bioseq.sequence
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
47 self.assertEqual(expSequence, obsSequence)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
48
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
49
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
50 def test_translateSequence_frame1( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
51 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
52 bioseq.sequence = "NGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
53 BioseqUtils.translateSequence(bioseq, 1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
54 expSequence = "XGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
55 obsSequence = bioseq.sequence
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
56 self.assertEqual(expSequence, obsSequence)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
57
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
58
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
59 def test_translateSequence_frame2( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
60 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
61 bioseq.sequence = "NGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
62 BioseqUtils.translateSequence(bioseq, 2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
63 expSequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
64 obsSequence = bioseq.sequence
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
65 self.assertEqual(expSequence, obsSequence)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
66
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
67
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
68 def test_translateSequence_frame3( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
69 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
70 bioseq.sequence = "NGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
71 BioseqUtils.translateSequence(bioseq, 3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
72 expSequence = "WLLVDQFMITMISRRCLVAPTNQQYNASRA*"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
73 obsSequence = bioseq.sequence
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
74 self.assertEqual(expSequence, obsSequence)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
75
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
76
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
77 def test_setFrameInfoOnHeader(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
78 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
79 bioseq.header = "header1 description1 description2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
80 BioseqUtils.setFrameInfoOnHeader(bioseq,1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
81 expHeader = "header1_1 description1 description2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
82 obsHeader = bioseq.header
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
83 self.assertEquals(expHeader,obsHeader)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
84
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
85
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
86 def test_setFrameInfoOnHeader_header_without_space(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
87 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
88 bioseq.header = "header"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
89 BioseqUtils.setFrameInfoOnHeader(bioseq,1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
90 expHeader = "header_1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
91 obsHeader = bioseq.header
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
92 self.assertEquals(expHeader, obsHeader)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
93
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
94
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
95 def test_TranslateInAllFrame( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
96 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
97 bioseq.header = "header1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
98 bioseq.sequence = "TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
99
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
100 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
101 bioseq1.header = "header1_1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
102 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
103 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
104 bioseq2.header = "header1_2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
105 bioseq2.sequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
106 bioseq3 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
107 bioseq3.header = "header1_3"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
108 bioseq3.sequence = "WLLVDQFMITMISRRCLVAPTNQQYNASRA*"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
109 bioseq4 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
110 bioseq4.header = "header1_4"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
111 bioseq4.sequence = "SSSTRIILLISRSHETPT*NHCDHKLIN*KP"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
112 bioseq5 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
113 bioseq5.header = "header1_5"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
114 bioseq5.sequence = "QALLALYC*LVGATRHLREIIVIIN*STRSH"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
115 bioseq6 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
116 bioseq6.header = "header1_6"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
117 bioseq6.sequence = "KLYSHYIVD*SEPRDTYVKSL*S*TDQLEAT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
118
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
119 expLBioseq = [bioseq1, bioseq2, bioseq3, bioseq4, bioseq5, bioseq6]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
120 obsLBioseq = BioseqUtils.translateInAllFrame(bioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
121
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
122 self.assertEquals(expLBioseq, obsLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
123
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
124
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
125 def test_replaceStopCodonsByX( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
126 bioseq = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
127 bioseq.sequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
128 BioseqUtils.replaceStopCodonsByX(bioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
129 expSequence = "VASSXSVYDHNDFTXVSRGSDXSTIXCEXSL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
130 obsSequence = bioseq.sequence
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
131 self.assertEquals(expSequence, obsSequence)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
132
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
133
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
134 def test_translateBioseqListInAllFrames_with_empty_list( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
135 lBioseq = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
136 obsLBioseq = BioseqUtils.translateBioseqListInAllFrames( lBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
137 expLBioseq = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
138 self.assertEquals( expLBioseq, obsLBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
139
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
140
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
141 def test_translateBioseqListInAllFrames_with_one_item( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
142 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
143 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
144 bioseq1.sequence = "TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
145 lBioseq = [bioseq1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
146 obsLBioseq = BioseqUtils.translateBioseqListInAllFrames( lBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
147
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
148 expBioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
149 expBioseq1.header = "header1_1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
150 expBioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
151
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
152 expBioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
153 expBioseq2.header = "header1_2 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
154 expBioseq2.sequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
155
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
156 expBioseq3 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
157 expBioseq3.header = "header1_3 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
158 expBioseq3.sequence = "WLLVDQFMITMISRRCLVAPTNQQYNASRA*"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
159
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
160 expBioseq4 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
161 expBioseq4.header = "header1_4 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
162 expBioseq4.sequence = "SSSTRIILLISRSHETPT*NHCDHKLIN*KP"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
163
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
164 expBioseq5 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
165 expBioseq5.header = "header1_5 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
166 expBioseq5.sequence = "QALLALYC*LVGATRHLREIIVIIN*STRSH"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
167
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
168 expBioseq6 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
169 expBioseq6.header = "header1_6 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
170 expBioseq6.sequence = "KLYSHYIVD*SEPRDTYVKSL*S*TDQLEAT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
171
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
172 expLBioseq = [expBioseq1, expBioseq2, expBioseq3, expBioseq4, expBioseq5, expBioseq6]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
173
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
174 self.assertEquals( expLBioseq, obsLBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
175
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
176
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
177 def test_translateBioseqListInAllFrames( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
178 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
179 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
180 bioseq1.sequence = "TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
181 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
182 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
183 bioseq2.sequence = "TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTACGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
184 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
185 obsLBioseq = BioseqUtils.translateBioseqListInAllFrames( lBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
186
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
187 expBioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
188 expBioseq1.header = "header1_1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
189 expBioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
190
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
191 expBioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
192 expBioseq2.header = "header1_2 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
193 expBioseq2.sequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
194
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
195 expBioseq3 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
196 expBioseq3.header = "header1_3 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
197 expBioseq3.sequence = "WLLVDQFMITMISRRCLVAPTNQQYNASRA*"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
198
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
199 expBioseq4 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
200 expBioseq4.header = "header1_4 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
201 expBioseq4.sequence = "SSSTRIILLISRSHETPT*NHCDHKLIN*KP"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
202
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
203 expBioseq5 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
204 expBioseq5.header = "header1_5 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
205 expBioseq5.sequence = "QALLALYC*LVGATRHLREIIVIIN*STRSH"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
206
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
207 expBioseq6 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
208 expBioseq6.header = "header1_6 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
209 expBioseq6.sequence = "KLYSHYIVD*SEPRDTYVKSL*S*TDQLEAT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
210
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
211 expBioseq7 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
212 expBioseq7.header = "header2_1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
213 expBioseq7.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
214
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
215 expBioseq8 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
216 expBioseq8.header = "header2_2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
217 expBioseq8.sequence = "VASS*SVYDHNDFT*VSRGYD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
218
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
219 expBioseq9 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
220 expBioseq9.header = "header2_3"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
221 expBioseq9.sequence = "WLLVDQFMITMISRRCLVATTNQQYNASRA*"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
222
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
223 expBioseq10 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
224 expBioseq10.header = "header2_4"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
225 expBioseq10.sequence = "SSSTRIILLISRSHETPT*NHCDHKLIN*KP"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
226
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
227 expBioseq11 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
228 expBioseq11.header = "header2_5"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
229 expBioseq11.sequence = "QALLALYC*LVVATRHLREIIVIIN*STRSH"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
230
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
231 expBioseq12 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
232 expBioseq12.header = "header2_6"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
233 expBioseq12.sequence = "KLYSHYIVD*S*PRDTYVKSL*S*TDQLEAT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
234
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
235 expLBioseq = [expBioseq1, expBioseq2, expBioseq3, expBioseq4, expBioseq5, expBioseq6, expBioseq7, expBioseq8, expBioseq9, expBioseq10, expBioseq11, expBioseq12]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
236 self.assertEquals( expLBioseq, obsLBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
237
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
238
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
239 def test_replaceStopCodonsByXInBioseqList_empty_list( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
240 lBioseq = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
241 obsLBioseq = BioseqUtils.replaceStopCodonsByXInBioseqList( lBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
242 expLBioseq = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
243 self.assertEquals(obsLBioseq, expLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
244
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
245
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
246 def test_replaceStopCodonsByXInBioseqList_without_stop_codon( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
247 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
248 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
249 bioseq1.sequence = "CGFLISLSQFHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
250
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
251 lBioseq = [bioseq1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
252
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
253 obsLBioseq = BioseqUtils.replaceStopCodonsByXInBioseqList( lBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
254
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
255 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
256 bioseq2.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
257 bioseq2.sequence = "CGFLISLSQFHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
258
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
259 expLBioseq = [bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
260
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
261 self.assertEquals(obsLBioseq, expLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
262
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
263
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
264 def test_replaceStopCodonsByXInBioseqList( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
265 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
266 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
267 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
268
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
269 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
270 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
271 bioseq2.sequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
272
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
273 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
274
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
275 obsLBioseq = BioseqUtils.replaceStopCodonsByXInBioseqList( lBioseq )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
276
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
277 bioseq3 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
278 bioseq3.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
279 bioseq3.sequence = "CGFXLISLXSQXFHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
280
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
281 bioseq4 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
282 bioseq4.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
283 bioseq4.sequence = "VASSXSVYDHNDFTXVSRGSDXSTIXCEXSL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
284
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
285 expLBioseq = [bioseq3, bioseq4]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
286
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
287 self.assertEquals(obsLBioseq, expLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
288
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
289
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
290 def test_writeBioseqListIntoFastaFile(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
291 obsFileName = "dummyWrittenFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
292
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
293 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
294 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
295 bioseq1.sequence = "TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
296 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
297 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
298 bioseq2.sequence = "TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTACGACTAATCAACAATATAATGCGAGTAGAGCTTGA"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
299
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
300 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
301
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
302 BioseqUtils.writeBioseqListIntoFastaFile( lBioseq, obsFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
303
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
304 expFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
305 f = open(expFileName, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
306 f.write(">header1 description\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
307 f.write("TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
308 f.write("CGACTAATCAACAATATAATGCGAGTAGAGCTTGA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
309 f.write(">header2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
310 f.write("TGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
311 f.write("CGACTAATCAACAATATAATGCGAGTAGAGCTTGA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
312 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
313
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
314 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
315
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
316 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
317 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
318
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
319
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
320 def test_extractBioseqListFromFastaFile( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
321 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
322 f = open(fileName,"w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
323 f.write(">header1_1 description1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
324 f.write("CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
325 f.write(">header1_2 description2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
326 f.write("VASS*SVYDHNDFT*VSRGSD*STI*CE*SL\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
327 f.write(">header1_3 description3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
328 f.write("CWLLVDQFMITMISRRCLVAPTNQQYNASRA*\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
329 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
330
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
331 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
332 bioseq1.header = "header1_1 description1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
333 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
334 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
335 bioseq2.header = "header1_2 description2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
336 bioseq2.sequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
337 bioseq3 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
338 bioseq3.header = "header1_3 description3"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
339 bioseq3.sequence = "CWLLVDQFMITMISRRCLVAPTNQQYNASRA*"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
340
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
341 expLBioseq = [bioseq1, bioseq2, bioseq3]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
342
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
343 obsLBioseq = BioseqUtils.extractBioseqListFromFastaFile( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
344 self.assertEquals(expLBioseq , obsLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
345
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
346 os.remove( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
347
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
348
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
349 def test_extractBioseqListFromFastaFile_empty_seq( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
350 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
351 f = open(fileName,"w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
352 f.write(">header1_1 description1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
353 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
354
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
355 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
356 bioseq1.header = "header1_1 description1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
357 bioseq1.sequence = ""
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
358 expLBioseq = [bioseq1]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
359
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
360 obsLBioseq = BioseqUtils.extractBioseqListFromFastaFile( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
361 self.assertEquals(expLBioseq , obsLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
362
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
363 os.remove( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
364
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
365
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
366 def test_extractBioseqListFromFastaFile_empty_file( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
367 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
368
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
369 f = open(fileName,"w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
370 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
371
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
372 expLBioseq = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
373
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
374 obsLBioseq = BioseqUtils.extractBioseqListFromFastaFile( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
375 self.assertEquals(expLBioseq , obsLBioseq)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
376
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
377 os.remove( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
378
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
379
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
380 def test_getSeqLengthWithSeqName ( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
381 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
382 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
383 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
384
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
385 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
386 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
387 bioseq2.sequence = "ATGCGTGCGTAAATGCGTATGCGTATGCGTTCGCGAATGCGTGT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
388
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
389 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
390
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
391 obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header1 description")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
392 expLength = 31
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
393
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
394 self.assertEquals( expLength, obsLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
395
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
396
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
397 def test_getSeqLengthWithSeqName_second_item ( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
398 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
399 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
400 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
401
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
402 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
403 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
404 bioseq2.sequence = "ATGCGTGCGTAAATGCGTATGCGTATGCGTTCGCGAATGCGTGT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
405
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
406 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
407
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
408 obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
409 expLength = 44
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
410
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
411 self.assertEquals( expLength, obsLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
412
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
413
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
414 def test_getSeqLengthWithSeqName_empty_list ( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
415 lBioseq = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
416
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
417 obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
418 expLength = 0
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
419
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
420 self.assertEquals( expLength, obsLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
421
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
422
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
423 def test_getSeqLengthWithSeqName_empty_sequence ( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
424 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
425 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
426 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
427
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
428 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
429 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
430 bioseq2.sequence = ""
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
431
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
432 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
433
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
434 obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header2")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
435 expLength = 0
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
436
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
437 self.assertEquals( expLength, obsLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
438
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
439
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
440 def test_getSeqLengthWithSeqName_sequence_unknown ( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
441 bioseq1 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
442 bioseq1.header = "header1 description"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
443 bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
444
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
445 bioseq2 = Bioseq()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
446 bioseq2.header = "header2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
447 bioseq2.sequence = "ATGCGTGCGTAAATGCGTATGCGTATGCGTTCGCGAATGCGTGT"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
448
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
449 lBioseq = [bioseq1, bioseq2]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
450
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
451 obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header3")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
452 expLength = 0
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
453
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
454 self.assertEquals( expLength, obsLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
455
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
456
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
457 def test_getLengthPerSeqFromFile( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
458 inFile = "dummyInFile"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
459 inFileHandler = open( inFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
460 inFileHandler.write( ">seq1\nAGCGATGCAGCTA\n" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
461 inFileHandler.write( ">seq2\nGCGATGCGCATCGACGCGA\n" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
462 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
463
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
464 dExp = { "seq1": 13, "seq2": 19 }
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
465
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
466 dObs = BioseqUtils.getLengthPerSeqFromFile( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
467
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
468 self.assertEqual( dExp, dObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
469
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
470 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
471
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
472
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
473 def test_getBioseqListSortedByDecreasingLength( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
474 lBioseqs = [ Bioseq( "TE2", "ACC" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
475 Bioseq( "TE3", "TA" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
476 Bioseq( "TE1", "AGCG" ) ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
477 lExp = [ Bioseq( "TE1", "AGCG" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
478 Bioseq( "TE2", "ACC" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
479 Bioseq( "TE3", "TA" ) ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
480 lObs = BioseqUtils.getBioseqListSortedByDecreasingLength( lBioseqs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
481 self.assertEquals( lExp, lObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
482
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
483
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
484 def test_getBioseqListSortedByDecreasingLengthWithoutGaps( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
485 lBioseqs = [ Bioseq( "TE2", "-ACC-" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
486 Bioseq( "TE3", "TA---" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
487 Bioseq( "TE1", "-AGCG" ) ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
488 lExp = [ Bioseq( "TE1", "-AGCG" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
489 Bioseq( "TE2", "-ACC-" ),
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
490 Bioseq( "TE3", "TA---" ) ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
491 lObs = BioseqUtils.getBioseqListSortedByDecreasingLengthWithoutGaps( lBioseqs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
492 self.assertEquals( lExp, lObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
493
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
494
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
495 test_suite = unittest.TestSuite()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
496 test_suite.addTest( unittest.makeSuite( Test_BioseqUtils ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
497 if __name__ == "__main__":
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
498 unittest.TextTestRunner(verbosity=2).run( test_suite )