annotate commons/core/seq/test/Test_FastaUtils.py @ 6:769e306b7933

Change the repository level.
author yufei-luo
date Fri, 18 Jan 2013 04:54:14 -0500
parents
children 94ab73e8a190
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 from commons.core.seq.FastaUtils import FastaUtils
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
33 from commons.core.seq.test.Utils_for_T_FastaUtils import Utils_for_T_FastaUtils
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
34 from commons.core.utils.FileUtils import FileUtils
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
35 import glob
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
36 import os
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
37 import shutil
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
38 import unittest
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
39
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
40
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
41 class Test_FastaUtils( unittest.TestCase ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
42
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
43
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
44 def test_dbSize_for_empty_file(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
45 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
46 Utils_for_T_FastaUtils._createFastaFile_for_empty_file(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
47
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
48 obsNb = FastaUtils.dbSize( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
49
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
50 expNb = 0
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
51 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
52 self.assertEquals(expNb, obsNb)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
53
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
54
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
55 def test_dbSize_one_sequence(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
56 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
57 Utils_for_T_FastaUtils._createFastaFile_one_sequence(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
58
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
59 obsNb = FastaUtils.dbSize( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
60
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
61 expNb = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
62 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
63 self.assertEquals(expNb, obsNb)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
64
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
65
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
66 def test_dbSize_four_sequences(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
67 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
68 Utils_for_T_FastaUtils._createFastaFile_four_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
69
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
70 obsNb = FastaUtils.dbSize( fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
71
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
72 expNb = 4
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
73 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
74 self.assertEquals(expNb, obsNb)
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_dbChunks(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
78 inFileName = "dummyBigSeqFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
79 expChunksFileName = 'exp' + inFileName +'_chunks.fa'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
80 expChunksMapFileName = 'exp' + inFileName +'_chunks.map'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
81 expCutFileName = 'exp' + inFileName +'_cut'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
82 expNStretchFileName = 'exp' + inFileName +'.Nstretch.map'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
83 Utils_for_T_FastaUtils._createFastaFile_big_sequence(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
84 Utils_for_T_FastaUtils._createFastaFile_of_Chunks(expChunksFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
85 Utils_for_T_FastaUtils._createMapFile_of_Chunks(expChunksMapFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
86 Utils_for_T_FastaUtils._createFastaFile_of_cut(expCutFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
87 Utils_for_T_FastaUtils._createFastaFile_of_Nstretch(expNStretchFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
88
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
89 FastaUtils.dbChunks(inFileName, '60', '10', '11', '', False, 0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
90
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
91 obsChunksFileName = inFileName +'_chunks.fa'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
92 obsChunksMapFileName = inFileName +'_chunks.map'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
93 obsCutFileName = inFileName +'_cut'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
94 obsNStretchFileName = inFileName +'.Nstretch.map'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
95
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
96 self.assertTrue(FileUtils.are2FilesIdentical(expChunksFileName, obsChunksFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
97 self.assertTrue(FileUtils.are2FilesIdentical(expChunksMapFileName, obsChunksMapFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
98 self.assertTrue(FileUtils.are2FilesIdentical(expCutFileName, obsCutFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
99 self.assertTrue(FileUtils.are2FilesIdentical(expNStretchFileName, obsNStretchFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
100
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
101 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
102 os.remove(expChunksFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
103 os.remove(expChunksMapFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
104 os.remove(expCutFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
105 os.remove(expNStretchFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
106 os.remove(obsChunksFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
107 os.remove(obsChunksMapFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
108 os.remove(obsCutFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
109 os.remove(obsNStretchFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
110
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
111
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
112 def test_dbChunks_with_clean_and_prefix(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
113 inFileName = "dummyBigSeqFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
114 expChunksFileName = 'exp' + inFileName +'_chunks.fa'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
115 expChunksMapFileName = 'exp' + inFileName +'_chunks.map'
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
116 Utils_for_T_FastaUtils._createFastaFile_big_sequence(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
117 Utils_for_T_FastaUtils._createFastaFile_of_Chunks(expChunksFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
118 Utils_for_T_FastaUtils._createMapFile_of_Chunks(expChunksMapFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
119
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
120 FastaUtils.dbChunks(inFileName, '60', '10', '11', 'outFile_chunks', True, 0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
121
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
122 obsChunksFileName = "outFile_chunks.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
123 obsChunksMapFileName = "outFile_chunks.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
124
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
125 self.assertTrue(FileUtils.are2FilesIdentical(expChunksFileName, obsChunksFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
126 self.assertTrue(FileUtils.are2FilesIdentical(expChunksMapFileName, obsChunksMapFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
127
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
128 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
129 os.remove(expChunksFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
130 os.remove(expChunksMapFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
131 os.remove(obsChunksFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
132 os.remove(obsChunksMapFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
133
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
134
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
135 def test_dbCumLength_with_empty_file(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
136 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
137 Utils_for_T_FastaUtils._createFastaFile_for_empty_file(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
138
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
139 expCumulLength = 0
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
140
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
141 inFileHandler = open(inFileName, "r")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
142 obsCumulLength = FastaUtils.dbCumLength(inFileHandler)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
143 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
144 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
145
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
146 self.assertEquals(expCumulLength, obsCumulLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
147
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
148 def test_dbCumLength_four_sequences(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
149 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
150 Utils_for_T_FastaUtils._createFastaFile_four_sequences(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
151
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
152 expCumulLength = 1168
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
153
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
154 inFileHandler = open(inFileName, "r")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
155 obsCumulLength = FastaUtils.dbCumLength(inFileHandler)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
156 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
157 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
158
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
159 self.assertEquals(expCumulLength, obsCumulLength)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
160
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
161
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
162 def test_dbLengths( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
163 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
164 inF = open( inFileName, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
165 inF.write(">seq1\nATGACGT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
166 inF.write(">seq2\nATGGCGAGACGT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
167 inF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
168 lExp = [ 7, 12 ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
169 lObs = FastaUtils.dbLengths( inFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
170 self.assertEquals( lExp, lObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
171 os.remove( inFileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
172
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
173
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
174 def test_dbHeaders_with_empty_file(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
175 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
176 Utils_for_T_FastaUtils._createFastaFile_for_empty_file( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
177 lExp = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
178 lObs = FastaUtils.dbHeaders( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
179 self.assertEquals( lExp, lObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
180 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
181
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
182
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
183 def test_dbHeaders_with_one_sequence_without_header(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
184 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
185 Utils_for_T_FastaUtils._createFastaFile_sequence_without_header( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
186 lExp = []
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
187 lObs = FastaUtils.dbHeaders( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
188 self.assertEquals( lExp, lObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
189 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
190
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
191
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
192 def test_dbHeaders_four_sequences(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
193 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
194 Utils_for_T_FastaUtils._createFastaFile_four_sequences( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
195 lExp = [ "seq 1", "seq 2", "seq 3", "seq 4" ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
196 lObs = FastaUtils.dbHeaders( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
197 self.assertEquals( lExp, lObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
198 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
199
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
200
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
201 def test_dbSplit_no_in_file( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
202 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
203 isSysExitRaised = False
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
204 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
205 FastaUtils.dbSplit( inFileName, 1, False )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
206 except SystemExit:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
207 isSysExitRaised = True
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
208 self.assertTrue( isSysExitRaised )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
209
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
210
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
211 def test_dbSplit_emptyFile( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
212 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
213 Utils_for_T_FastaUtils._createFastaFile_for_empty_file( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
214 FastaUtils.dbSplit( inFile, 10, False, 1 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
215 self.assertTrue( not os.path.exists( "batch_1.fa" ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
216 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
217
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
218
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
219 def test_dbSplit_oneSequence_tenSequencesPerBatch( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
220 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
221 Utils_for_T_FastaUtils._createFastaFile_one_sequence( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
222
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
223 expBatchFile = "dummyExpBatch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
224 Utils_for_T_FastaUtils._createFastaFile_one_sequence( expBatchFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
225
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
226 FastaUtils.dbSplit( inFile, 10, False )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
227
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
228 obsBatchFile = "batch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
229
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
230 self.assertTrue( FileUtils.are2FilesIdentical( expBatchFile, obsBatchFile ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
231
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
232 for f in [ inFile, expBatchFile, obsBatchFile ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
233 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
234
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
235
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
236 def test_dbSplit_fourSequences_threeSequencesPerBatch( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
237 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
238 Utils_for_T_FastaUtils._createFastaFile_four_sequences( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
239
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
240 expBatch1File = "dummyExpBatch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
241 expBatch2File = "dummyExpBatch_2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
242 Utils_for_T_FastaUtils._createBatch1_three_sequences( expBatch1File )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
243 Utils_for_T_FastaUtils._createBatch2_one_sequence( expBatch2File )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
244
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
245 FastaUtils.dbSplit( inFile, 3, False )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
246
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
247 obsBatch1File = "batch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
248 obsBatch2File = "batch_2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
249
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
250 self.assertTrue( FileUtils.are2FilesIdentical( expBatch1File, obsBatch1File ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
251 self.assertTrue( FileUtils.are2FilesIdentical( expBatch2File, obsBatch2File ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
252
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
253 for f in [ inFile, expBatch1File, expBatch2File, obsBatch1File, obsBatch2File ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
254 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
255
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
256
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
257 def test_dbSplit_fourSequences_twoSequencesPerBatch_inBatchDirectory( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
258 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
259 Utils_for_T_FastaUtils._createFastaFile_four_sequences( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
260
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
261 expBatch1File = "dummyExp_batch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
262 expBatch2File = "dummyExp_batch_2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
263 Utils_for_T_FastaUtils._createBatch1_two_sequences( expBatch1File )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
264 Utils_for_T_FastaUtils._createBatch2_two_sequences( expBatch2File )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
265
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
266 FastaUtils.dbSplit( inFile, 2, True, 1 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
267
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
268 obsBatch1File = "batches/batch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
269 obsBatch2File = "batches/batch_2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
270
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
271 self.assertTrue( FileUtils.are2FilesIdentical( expBatch1File, obsBatch1File ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
272 self.assertTrue( FileUtils.are2FilesIdentical( expBatch2File, obsBatch2File ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
273
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
274 for f in [ inFile, expBatch1File, expBatch2File, obsBatch1File, obsBatch2File ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
275 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
276
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
277
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
278 def test_dbSplit_tenSequences_oneSequencePerBatch_inBatchDirectory( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
279 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
280 Utils_for_T_FastaUtils._createFastaFile_ten_sequences( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
281
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
282 FastaUtils.dbSplit( inFile, 1, True )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
283
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
284 nb = 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
285 for s in [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10' ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
286 expBatchFile = "exp_batch_%s.fa" % ( s )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
287 Utils_for_T_FastaUtils._createBatch_one_small_sequence( expBatchFile, "seq " + str(nb) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
288 nb += 1
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
289 obsBatchFile = "batches/batch_%s.fa" % ( s )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
290 self.assertTrue( FileUtils.are2FilesIdentical( expBatchFile, obsBatchFile ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
291 os.remove( expBatchFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
292 os.remove( obsBatchFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
293
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
294 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
295 os.rmdir( "batches" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
296
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
297
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
298 def test_dbSplit_twoSequences_oneSequencePerBatch_useSeqHeader( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
299 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
300 Utils_for_T_FastaUtils.createFastaFile_twoSequences( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
301
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
302 lExpFileNames = [ "seq_1.fa", "seq_2.fa" ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
303 lExpFiles = [ "dummyExp_seq_1.fa", "dummyExp_seq_2.fa" ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
304 Utils_for_T_FastaUtils.createFastaFile_seq_1( lExpFiles[0] )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
305 Utils_for_T_FastaUtils.createFastaFile_seq_2( lExpFiles[1] )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
306
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
307 FastaUtils.dbSplit( inFile, 1, False, True )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
308
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
309 lObsFiles = glob.glob( "seq*.fa" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
310 lObsFiles.sort()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
311 for i in range( 0, len(lExpFileNames) ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
312 self.assertEqual( lExpFileNames[i], lObsFiles[i] )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
313 self.assertTrue( FileUtils.are2FilesIdentical( lExpFiles[i], lObsFiles[i] ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
314
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
315 for f in [ inFile ] + lExpFiles + lObsFiles:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
316 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
317
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
318
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
319 def test_dbSplit_twoSequences_otherPrefix( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
320 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
321 Utils_for_T_FastaUtils.createFastaFile_twoSequences( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
322
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
323 lExpFileNames = [ "query_1.fa", "query_2.fa" ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
324 lExpFiles = [ "dummyExp_seq_1.fa", "dummyExp_seq_2.fa" ]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
325 Utils_for_T_FastaUtils.createFastaFile_seq_1( lExpFiles[0] )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
326 Utils_for_T_FastaUtils.createFastaFile_seq_2( lExpFiles[1] )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
327
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
328 FastaUtils.dbSplit( inFile, 1, False, False, "query" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
329
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
330 lObsFiles = glob.glob( "query_*.fa" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
331 lObsFiles.sort()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
332 for i in range( 0, len(lExpFileNames) ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
333 self.assertEqual( lExpFileNames[i], lObsFiles[i] )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
334 self.assertTrue( FileUtils.are2FilesIdentical( lExpFiles[i], lObsFiles[i] ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
335
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
336 for f in [ inFile ] + lExpFiles + lObsFiles:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
337 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
338
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
339
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
340 def test_splitFastaFileInBatches(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
341 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
342 with open(inFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
343 f.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
344 f.write("ATCGCTAGCTAGCTCGATCTAGTCAGTCTGTTTGGATCGCTCTCTGCTCGGAAATCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
345 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
346 f.write("ATCGCTAGCTAGCTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
347 f.write(">seq3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
348 f.write("GTTTGGATCGCT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
349 f.write(">seq6\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
350 f.write("ATCGCTAGCTAGCTCGATCTAGTCAGTCTGTTTGGATCGCTCTCTGCTCGGAAATCCTCTGTTTGGATCGCTCTCTGCTCGGAAATCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
351 f.write(">seq5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
352 f.write("TTGGATCGCTCTCTGCTCGGAAATCCCGTC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
353 expBatch1 = "expBatch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
354 with open(expBatch1, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
355 f.write(">seq6\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
356 f.write("ATCGCTAGCTAGCTCGATCTAGTCAGTCTGTTTGGATCGCTCTCTGCTCGGAAATCCTCT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
357 f.write("GTTTGGATCGCTCTCTGCTCGGAAATCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
358 expBatch2 = "expBatch_2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
359 with open(expBatch2, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
360 f.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
361 f.write("ATCGCTAGCTAGCTCGATCTAGTCAGTCTGTTTGGATCGCTCTCTGCTCGGAAATCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
362 expBatch3 = "expBatch_3.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
363 with open(expBatch3, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
364 f.write(">seq5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
365 f.write("TTGGATCGCTCTCTGCTCGGAAATCCCGTC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
366 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
367 f.write("ATCGCTAGCTAGCTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
368 f.write(">seq3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
369 f.write("GTTTGGATCGCT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
370
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
371 FastaUtils.splitFastaFileInBatches(inFileName, 60)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
372
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
373 obsBatch1 = "batches/batch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
374 obsBatch2 = "batches/batch_2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
375 obsBatch3 = "batches/batch_3.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
376
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
377 self.assertTrue(FileUtils.are2FilesIdentical(expBatch1, obsBatch1))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
378 self.assertTrue(FileUtils.are2FilesIdentical(expBatch2, obsBatch2))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
379 self.assertTrue(FileUtils.are2FilesIdentical(expBatch3, obsBatch3))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
380
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
381 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
382 os.remove(expBatch1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
383 os.remove(expBatch2)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
384 os.remove(expBatch3)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
385 shutil.rmtree("batches")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
386
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
387
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
388 def test_splitFastaFileInBatches_one_seq(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
389 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
390 with open(inFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
391 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
392 f.write("ATCGCTAGCTAGCTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
393 expBatch1 = "expBatch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
394 with open(expBatch1, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
395 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
396 f.write("ATCGCTAGCTAGCTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
397
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
398 FastaUtils.splitFastaFileInBatches(inFileName, 60)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
399
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
400 obsBatch1 = "batches/batch_1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
401
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
402 self.assertTrue(FileUtils.are2FilesIdentical(expBatch1, obsBatch1))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
403
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
404 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
405 os.remove(expBatch1)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
406 shutil.rmtree("batches")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
407
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
408
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
409 def test_splitSeqPerCluster_no_in_file(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
410 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
411 isSysExitRaised = False
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
412 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
413 FastaUtils.splitSeqPerCluster( inFileName, "Piler", False, False, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
414 except SystemExit:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
415 isSysExitRaised = True
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
416 self.assertTrue(isSysExitRaised)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
417
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
418
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
419 def test_splitSeqPerCluster_in_file_empty(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
420 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
421 with open(inFileName, 'w'):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
422 pass
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
423
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
424 FastaUtils.splitSeqPerCluster( inFileName, "Piler", False, False, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
425
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
426 self.assertEquals(glob.glob("seqCluster*.fa"), [])
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
427
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
428 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
429
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
430
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
431 def test_splitSeqPerCluster_four_sequences_without_dir(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
432 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
433 Utils_for_T_FastaUtils._createFastaFile_of_four_sequences_with_specific_header(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
434
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
435 expFirstClusterFileName = "exp_seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
436 Utils_for_T_FastaUtils._createFastaFile_of_first_cluster_result(expFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
437 expSecondClusterFileName = "exp_seqCluster2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
438 Utils_for_T_FastaUtils._createFastaFile_of_second_cluster_result(expSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
439 expThirdClusterFileName = "exp_seqCluster3.574.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
440 Utils_for_T_FastaUtils._createFastaFile_of_third_cluster_result(expThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
441
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
442 FastaUtils.splitSeqPerCluster( inFileName, "Piler", False, False, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
443 obsFirstClusterFileName = "seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
444 obsSecondClusterFileName = "seqCluster2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
445 obsThirdClusterFileName = "seqCluster3.574.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
446
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
447 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
448
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
449 self.assertTrue(FileUtils.are2FilesIdentical(expFirstClusterFileName, obsFirstClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
450 self.assertTrue(FileUtils.are2FilesIdentical(expSecondClusterFileName, obsSecondClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
451 self.assertTrue(FileUtils.are2FilesIdentical(expThirdClusterFileName, obsThirdClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
452
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
453 os.remove(expFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
454 os.remove(expSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
455 os.remove(expThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
456 os.remove(obsFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
457 os.remove(obsSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
458 os.remove(obsThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
459
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
460
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
461 def test_splitSeqPerCluster_four_sequences_without_dir_no_split(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
462 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
463 Utils_for_T_FastaUtils._createFastaFile_of_four_sequences_with_specific_header_in_same_cluster(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
464
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
465 expClusterFileName = "exp_seqCluster.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
466 Utils_for_T_FastaUtils._createFastaFile_of_four_sequences_with_specific_header_in_same_cluster(expClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
467
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
468 FastaUtils.splitSeqPerCluster( inFileName, "Piler", False, False, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
469 obsClusterFileName = "seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
470
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
471 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
472
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
473 self.assertTrue(FileUtils.are2FilesIdentical(expClusterFileName, obsClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
474
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
475 os.remove(expClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
476 os.remove(obsClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
477
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
478
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
479 def test_splitSeqPerCluster_four_sequences_without_dir_shuffle(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
480 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
481 Utils_for_T_FastaUtils._createFastaFile_of_four_sequences_with_specific_header_shuffle(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
482
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
483 expFirstClusterFileName = "exp_seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
484 Utils_for_T_FastaUtils._createFastaFile_of_first_cluster_result(expFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
485 expSecondClusterFileName = "exp_seqCluster2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
486 Utils_for_T_FastaUtils._createFastaFile_of_second_cluster_result(expSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
487 expThirdClusterFileName = "exp_seqCluster3.574.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
488 Utils_for_T_FastaUtils._createFastaFile_of_third_cluster_result(expThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
489
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
490 FastaUtils.splitSeqPerCluster( inFileName, "Piler", False, False, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
491 obsFirstClusterFileName = "seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
492 obsSecondClusterFileName = "seqCluster2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
493 obsThirdClusterFileName = "seqCluster3.574.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
494
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
495 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
496
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
497 self.assertTrue(FileUtils.are2FilesIdentical(expFirstClusterFileName, obsFirstClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
498 self.assertTrue(FileUtils.are2FilesIdentical(expSecondClusterFileName, obsSecondClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
499 self.assertTrue(FileUtils.are2FilesIdentical(expThirdClusterFileName, obsThirdClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
500
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
501 os.remove(expFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
502 os.remove(expSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
503 os.remove(expThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
504 os.remove(obsFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
505 os.remove(obsSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
506 os.remove(obsThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
507
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
508
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
509 def test_splitSeqPerCluster_four_sequences_simplify_header(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
510 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
511 Utils_for_T_FastaUtils._createFastaFile_of_four_sequences_with_specific_header(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
512
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
513 expFirstClusterFileName = "exp_seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
514 Utils_for_T_FastaUtils._createFastaFile_of_first_cluster_result_with_simplify_header(expFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
515 expSecondClusterFileName = "exp_seqCluster2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
516 Utils_for_T_FastaUtils._createFastaFile_of_second_cluster_result_with_simplify_header(expSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
517 expThirdClusterFileName = "exp_seqCluster3.574.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
518 Utils_for_T_FastaUtils._createFastaFile_of_third_cluster_result_with_simplify_header(expThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
519
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
520 FastaUtils.splitSeqPerCluster( inFileName, "Piler", True, False, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
521 obsFirstClusterFileName = "seqCluster1.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
522 obsSecondClusterFileName = "seqCluster2.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
523 obsThirdClusterFileName = "seqCluster3.574.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
524
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
525 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
526
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
527 self.assertTrue(FileUtils.are2FilesIdentical(expFirstClusterFileName, obsFirstClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
528 self.assertTrue(FileUtils.are2FilesIdentical(expSecondClusterFileName, obsSecondClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
529 self.assertTrue(FileUtils.are2FilesIdentical(expThirdClusterFileName, obsThirdClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
530
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
531 os.remove(expFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
532 os.remove(expSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
533 os.remove(expThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
534 os.remove(obsFirstClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
535 os.remove(obsSecondClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
536 os.remove(obsThirdClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
537
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
538
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
539 def test_splitSeqPerCluster_four_sequences_with_dir(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
540 inFileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
541 Utils_for_T_FastaUtils._createFastaFile_of_four_sequences_with_specific_header(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
542 FastaUtils.splitSeqPerCluster( inFileName, "Piler", False, True, "seqCluster")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
543 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
544
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
545 for i in ['1', '2', '3.574']:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
546 expClusterFileName = "exp_cluster" + i + ".fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
547 if i == '1':
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
548 Utils_for_T_FastaUtils._createFastaFile_of_first_cluster_result(expClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
549 if i == '2':
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
550 Utils_for_T_FastaUtils._createFastaFile_of_second_cluster_result(expClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
551 if i == '3.574':
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
552 Utils_for_T_FastaUtils._createFastaFile_of_third_cluster_result(expClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
553
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
554 obsClusterFileName= inFileName + "_cluster_" + i + "/seqCluster" + i + ".fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
555 self.assertTrue(FileUtils.are2FilesIdentical(expClusterFileName, obsClusterFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
556 os.remove(expClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
557 os.remove(obsClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
558 os.rmdir( inFileName + "_cluster_" + i )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
559
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
560
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
561 def test_dbLengthFilter_with_one_sequence(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
562 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
563 Utils_for_T_FastaUtils._createFastaFile_one_sequence(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
564
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
565 expFileNameInf = "exp_dummyFastaFile.fa.Inf12"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
566 Utils_for_T_FastaUtils._createFastaFile_for_empty_file(expFileNameInf)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
567 expFileNameSup = "exp_dummyFastaFile.fa.Sup12"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
568 Utils_for_T_FastaUtils._createFastaFile_one_sequence(expFileNameSup)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
569
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
570 FastaUtils.dbLengthFilter(12, fileName, verbose=0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
571
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
572 obsFileNameInf = "dummyFastaFile.fa.Inf12"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
573 obsFileNameSup = "dummyFastaFile.fa.Sup12"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
574
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
575 self.assertTrue(FileUtils.are2FilesIdentical(expFileNameInf, obsFileNameInf))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
576 self.assertTrue(FileUtils.are2FilesIdentical(expFileNameSup, obsFileNameSup))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
577
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
578 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
579 os.remove(expFileNameInf)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
580 os.remove(expFileNameSup)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
581 os.remove(obsFileNameInf)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
582 os.remove(obsFileNameSup)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
583
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
584 def test_dbLengthFilter_with_four_sequence(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
585 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
586 Utils_for_T_FastaUtils._createFastaFile_four_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
587
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
588 expFileNameInf = "exp_dummyFastaFile.fa.Inf130"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
589 Utils_for_T_FastaUtils._createFastaFile_one_sequence(expFileNameInf)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
590 expFileNameSup = "exp_dummyFastaFile.fa.Sup130"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
591 Utils_for_T_FastaUtils._createResult_of_dbLengthFilter_sup(expFileNameSup)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
592
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
593 FastaUtils.dbLengthFilter(130, fileName, verbose=0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
594
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
595 obsFileNameInf = "dummyFastaFile.fa.Inf130"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
596 obsFileNameSup = "dummyFastaFile.fa.Sup130"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
597
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
598 self.assertTrue(FileUtils.are2FilesIdentical(expFileNameInf, obsFileNameInf))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
599 self.assertTrue(FileUtils.are2FilesIdentical(expFileNameSup, obsFileNameSup))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
600
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
601 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
602 os.remove(expFileNameInf)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
603 os.remove(expFileNameSup)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
604 os.remove(obsFileNameInf)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
605 os.remove(obsFileNameSup)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
606
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
607 def test_dbLongestSequences_with_empty_file(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
608 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
609 Utils_for_T_FastaUtils._createFastaFile_for_empty_file(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
610
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
611 expResult = 0
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
612
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
613 obsResult = FastaUtils.dbLongestSequences( 1, fileName )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
614
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
615 self.assertEquals(expResult, obsResult)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
616
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
617 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
618
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
619 def test_dbLongestSequences_with_one_longest_sequence(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
620 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
621 Utils_for_T_FastaUtils._createFastaFile_four_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
622
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
623 expFileName = "exp_dummyFastaFile.fa.best1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
624 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
625 f.write(">seq 3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
626 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
627 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
628 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
629 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
630 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
631 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
632 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
633 f.write("ATATTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
634 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
635
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
636 FastaUtils.dbLongestSequences( 1, fileName, outFileName="", verbose=0, minThresh=0 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
637
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
638 obsFileName = "dummyFastaFile.fa.best1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
639
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
640 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
641
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
642 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
643 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
644 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
645
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
646 def test_dbLongestSequences_with_two_longest_sequence(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
647 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
648 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
649 expFileName = "exp_dummyFastaFile.fa.best1"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
650 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
651 f.write(">seq 2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
652 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
653 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
654 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
655 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
656 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
657 f.write("ATATTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
658 f.write(">seq 4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
659 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
660 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
661 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
662 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
663 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
664 f.write("ATATTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
665 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
666
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
667 FastaUtils.dbLongestSequences( 2, fileName, outFileName="", verbose=0, minThresh=0 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
668 obsFileName = "dummyFastaFile.fa.best2"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
669
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
670 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
671
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
672 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
673 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
674 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
675
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
676 def test_dbExtractSeqHeaders(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
677 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
678 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
679 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
680 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
681 f.write("seq 1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
682 f.write("seq 2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
683 f.write("seq 4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
684 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
685
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
686 FastaUtils.dbExtractSeqHeaders(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
687 obsFileName = "dummyFastaFile.fa.headers"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
688
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
689 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
690
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
691 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
692 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
693 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
694
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
695 def test_dbExtractSeqHeaders_with_empty_file(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
696 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
697 Utils_for_T_FastaUtils._createFastaFile_for_empty_file(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
698 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
699 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
700 f.write("")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
701 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
702
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
703 FastaUtils.dbExtractSeqHeaders(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
704 obsFileName = "dummyFastaFile.fa.headers"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
705
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
706 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
707
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
708 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
709 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
710 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
711
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
712 def test_dbExtractSeqHeaders_without_header(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
713 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
714 Utils_for_T_FastaUtils._createFastaFile_sequence_without_header(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
715 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
716 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
717 f.write("")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
718 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
719
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
720 FastaUtils.dbExtractSeqHeaders(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
721 obsFileName = "dummyFastaFile.fa.headers"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
722
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
723 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
724
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
725 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
726 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
727 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
728
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
729 def test_dbExtractByPattern_without_pattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
730 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
731 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
732
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
733 obsResult = FastaUtils.dbExtractByPattern( "", fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
734
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
735 expResult = None
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
736
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
737 self.assertEquals(expResult, obsResult)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
738
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
739 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
740
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
741 def test_dbExtractByPattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
742 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
743 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
744 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
745 Utils_for_T_FastaUtils._createFastaFile_three_sequences(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
746
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
747 FastaUtils.dbExtractByPattern( 'seq', fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
748
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
749 obsFileName = "dummyFastaFile.fa.extracted"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
750
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
751 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
752
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
753 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
754 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
755 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
756
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
757 def test_dbExtractByPattern_with_2_as_pattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
758 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
759 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
760 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
761 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
762 f.write(">seq 2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
763 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
764 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
765 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
766 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
767 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
768 f.write("ATATTCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
769 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
770
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
771 FastaUtils.dbExtractByPattern( ' 2', fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
772
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
773 obsFileName = "dummyFastaFile.fa.extracted"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
774
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
775 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
776
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
777 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
778 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
779 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
780
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
781 def test_dbExtractByPattern_with_sandie_as_pattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
782 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
783 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
784 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
785 Utils_for_T_FastaUtils._createFastaFile_for_empty_file(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
786
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
787 FastaUtils.dbExtractByPattern( 'sandie', fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
788
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
789 obsFileName = "dummyFastaFile.fa.extracted"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
790
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
791 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
792
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
793 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
794 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
795 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
796
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
797 def test_dbExtractByFilePattern_empty_pattern_filename(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
798 patternFileName = ""
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
799 isSysExitRaised = False
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
800 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
801 FastaUtils.dbExtractByFilePattern(patternFileName , None, "")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
802 except SystemExit:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
803 isSysExitRaised = True
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
804 self.assertTrue(isSysExitRaised)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
805
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
806 def test_dbExtractByFilePattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
807 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
808 Utils_for_T_FastaUtils. _createFastaFile_ten_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
809 patternFileName = "dummyPatternFile.txt"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
810 Utils_for_T_FastaUtils._createPatternFile(patternFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
811
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
812 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
813 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
814 f.write(">seq 1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
815 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
816 f.write(">seq 3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
817 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
818 f.write(">seq 8\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
819 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
820 f.write(">seq 10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
821 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
822 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
823
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
824 obsFileName = "dummyFastaFile.fa.extracted"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
825
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
826 FastaUtils.dbExtractByFilePattern( patternFileName, fileName, "")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
827
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
828 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
829
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
830 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
831 os.remove(patternFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
832 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
833 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
834
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
835 def test_dbCleanByPattern_without_pattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
836 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
837 Utils_for_T_FastaUtils._createFastaFile_three_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
838
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
839 obsResult = FastaUtils.dbCleanByPattern( "", fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
840
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
841 expResult = None
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
842
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
843 self.assertEquals(expResult, obsResult)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
844
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
845 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
846
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
847 def test_dbCleanByPattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
848 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
849 Utils_for_T_FastaUtils. _createFastaFile_ten_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
850
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
851 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
852 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
853 f.write(">seq 1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
854 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
855 f.write(">seq 3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
856 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
857 f.write(">seq 4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
858 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
859 f.write(">seq 5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
860 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
861 f.write(">seq 6\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
862 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
863 f.write(">seq 7\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
864 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
865 f.write(">seq 8\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
866 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
867 f.write(">seq 9\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
868 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
869 f.write(">seq 10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
870 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
871 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
872
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
873 obsFileName = "dummyFastaFile.fa.cleaned"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
874 FastaUtils.dbCleanByPattern( '2', fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
875
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
876 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
877
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
878 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
879 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
880 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
881
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
882 def test_dbCleanByPattern_with_expectedFile_empty(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
883 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
884 Utils_for_T_FastaUtils. _createFastaFile_ten_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
885
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
886 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
887 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
888 f.write("")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
889 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
890
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
891 obsFileName = "dummyFastaFile.fa.cleaned"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
892 FastaUtils.dbCleanByPattern( 'seq', fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
893
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
894 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
895
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
896 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
897 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
898 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
899
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
900 def test_dbCleanByFilePattern_empty_pattern_filename(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
901 patternFileName = ""
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
902 isSysExitRaised = False
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
903 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
904 FastaUtils.dbCleanByFilePattern(patternFileName , None, "")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
905 except SystemExit:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
906 isSysExitRaised = True
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
907 self.assertTrue(isSysExitRaised)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
908
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
909 def test_dbCleanByFilePattern(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
910 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
911 Utils_for_T_FastaUtils. _createFastaFile_ten_sequences(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
912 patternFileName = "dummyPatternFile.txt"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
913 Utils_for_T_FastaUtils._createPatternFile(patternFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
914
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
915 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
916 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
917 f.write(">seq 2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
918 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
919 f.write(">seq 4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
920 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
921 f.write(">seq 5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
922 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
923 f.write(">seq 6\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
924 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
925 f.write(">seq 7\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
926 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
927 f.write(">seq 9\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
928 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
929 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
930
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
931 obsFileName = "dummyFastaFile.fa.cleaned"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
932
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
933 FastaUtils.dbCleanByFilePattern( patternFileName, fileName, "")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
934
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
935 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
936
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
937 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
938 os.remove(patternFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
939 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
940 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
941
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
942 def test_dbORF_without_ORF(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
943 fileName = "dummy.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
944 with open(fileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
945 f.write(">dummy\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
946 f.write("GGGTTGGGTTGGGTTGGGTTGGGTTGGGTTGGGTTGGGTTGGGTTGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
947
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
948 expFileName = "exp.ORF.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
949 with open(expFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
950 f.write("")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
951 obsFileName = "%s.ORF.map" % fileName
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
952
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
953 FastaUtils.dbORF(fileName, 0, 0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
954
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
955 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
956
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
957 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
958 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
959 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
960
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
961 def test_dbORF_with_one_ORF(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
962 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
963 f = open(fileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
964 f.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
965 f.write("GAAAATATGGGGTAGATAAGGGATCTGGGTTAATTTTTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
966 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
967
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
968 expFileName = "exp_dummyORFFile.ORF.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
969 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
970 f.write("ORF|1|17\tseq1\t16\t33\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
971 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
972
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
973 FastaUtils.dbORF(fileName, 0, 0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
974 obsFileName = fileName + ".ORF.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
975
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
976 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
977
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
978 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
979 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
980 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
981
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
982 def test_dbORF_with_real_ORF(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
983 fileName = "dummy.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
984 with open(fileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
985 f.write(">DmelChr4_Blaster_Recon_13_Map_4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
986 f.write("AAGTTGGACATTGAGGGCTTTCTTCGCCGTGTTTCGTTCTTTTCGACAAACAGCAGTGCT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
987 f.write("TTGCGGATCATTTTGTTTGAACAACCGACAATGCGACCAATTTCAGCGTAGGTTTTACCT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
988 f.write("TCAGAGATCACGTTTTTAATCAAATTTCTTTTTTCGACGGTACAATGCTTTCCGCGACCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
989 f.write("ATGACTAGAGAATTTTTGGTCTTCGTTTGGAAAAAATTCAATTAAAACCTTTAATACAAC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
990 f.write("TCCTTTTTTCAAAATTTTTCGAAAAAAACCCAAAGCAATCACTCCTATTAATTTTATTCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
991 f.write("GCAAATACGTGTTCAGTGCTATTTTTGTTACCGCCTCATTTCGCGCACTTTTGCAGCAAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
992 f.write("TGCCCAAAAACAAAAAGAACCGTTACATTGAGAGACTAAAAATTTCTTGCTCAGAGAGCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
993 f.write("AACATATGGTACTTATTATTCATGCAATCTGACTTAAAAAAATATAAACATTTAATAATT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
994 f.write("TTTTTTAGGAAATCAACTTTCCACCTGCAGTAGTGCTATTATTTTAACCGCAGCTGTATA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
995 f.write(">DmelChr4_Blaster_Piler_3.5_Map_7\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
996 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
997 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
998 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
999 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1000 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1001 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1002 f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGGTTAGGGTTAGGGTTAGGGTTAGGGT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1003 f.write("TAGGGCTAGGGTTAGGGGTTAGGGTTAGGGTTAGGCTTAGGGTTAGGGTTAGGGTTAGGG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1004 f.write("TTAGGGTTAGGGTTAGGGTTAGGAGTTAGGGTGTAGGGTTAGGGTTAGGGTTAGGGTTAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1005 f.write("GGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1006 f.write("GGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGCTAGGGTTAGGGTTAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1007 f.write("GGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1008 f.write(">DmelChr4_Blaster_Grouper_10_Map_13\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1009 f.write("GCAAAGACACTAGAATAACAAGATGCGTAACGGCCATACATTGGTTTGGCACTATGCAGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1010 f.write("CACTTTTTTGGTGACGGCCAAAATTACTCTCTTTCCGCTCACTCCCGCTGAGAGCGTAAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1011 f.write("AAATCTAAAAATATAATTTGCTTGCTTGTGTGAGTAAAAACAAGAGACGAGAACGCGTAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1012 f.write("AAGTGTGCGTGTTGTGCTAGAAGACGATTTTCGGGACCGAAATCAATTCTGATCGAAGAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1013 f.write("ACGAATTTACATGGTACATATTAGGGTAGTTTTTGCCAATTTCCTAGCAATATGATAAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1014 f.write("TAAAAAAATTTTTAAAAATTCGCGCCCTGACTATTATAATTTTAAAGCTTTTTAAAATTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1015 f.write("GTTTGTTAAAATCGCCGCTCGAATTAGCTACCGTTTACACATTTATATTTATGTTTAATT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1016 f.write("CTAATTTGTCTCTCATCTGACAATTTTTTAAGAAAGCGAAATATTTTTTTTTTGAAACAC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1017 f.write("TTTTAATGTTAATGTTACATCATATTAAGTCAAATGATTTAATAAATATACTAAATAATT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1018 f.write("AAATATGATAACTGTTTATTGCAAAAGTAATATCAAAGACACTAGAATTATTCTAGTGTC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1019 f.write("TTTGCTTTGTTCATATCTTGAGGCACGAAGTGCGGACACAAGCACTCAACAATCATTGCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1020 f.write("TTATTAATTTTTCACACGCCGCAAGATGAATACTCTAATGACAAATATTCTTATATAAAG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1021 f.write("TCATTTTTGAAATTTATTTTTGTGATAATATGTACATAGATTTGGCTATTTCTAATCTAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1022 f.write("TTTCAAATAATAATAACGTTAAGGCAATGCAAAACAAGAATTTTTTTAGTCGCATGGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1023 f.write("CAATTGATCAAAAATAATATAGATTTAAAGTCTAAGAACTTCTAAGGTGAAGGGCATATT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1024 f.write("TTGTCAAATTTACAATGCATGAGCGAGCATACGTGTGCACACATACAGTTGTCTGCTATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1025 f.write("ACTTTGTGCGTTGAAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1026
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1027 expFileName = "exp.ORF.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1028 with open(expFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1029 f.write("ORF|3|263\tDmelChr4_Blaster_Recon_13_Map_4\t189\t452\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1030 f.write("ORF|2|206\tDmelChr4_Blaster_Recon_13_Map_4\t185\t391\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1031 f.write("ORF|-3|164\tDmelChr4_Blaster_Recon_13_Map_4\t382\t218\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1032 f.write("ORF|-1|161\tDmelChr4_Blaster_Recon_13_Map_4\t297\t136\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1033 f.write("ORF|1|113\tDmelChr4_Blaster_Recon_13_Map_4\t400\t513\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1034 f.write("ORF|1|113\tDmelChr4_Blaster_Recon_13_Map_4\t112\t225\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1035 f.write("ORF|3|107\tDmelChr4_Blaster_Recon_13_Map_4\t81\t188\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1036 f.write("ORF|1|107\tDmelChr4_Blaster_Recon_13_Map_4\t292\t399\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1037 f.write("ORF|-1|104\tDmelChr4_Blaster_Recon_13_Map_4\t432\t328\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1038 f.write("ORF|-2|104\tDmelChr4_Blaster_Recon_13_Map_4\t515\t411\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1039 f.write("ORF|3|116\tDmelChr4_Blaster_Piler_3.5_Map_7\t393\t509\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1040 f.write("ORF|-3|116\tDmelChr4_Blaster_Piler_3.5_Map_7\t505\t389\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1041 f.write("ORF|-2|86\tDmelChr4_Blaster_Piler_3.5_Map_7\t518\t432\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1042 f.write("ORF|1|80\tDmelChr4_Blaster_Piler_3.5_Map_7\t436\t516\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1043 f.write("ORF|-3|170\tDmelChr4_Blaster_Grouper_10_Map_13\t222\t52\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1044 f.write("ORF|-1|161\tDmelChr4_Blaster_Grouper_10_Map_13\t260\t99\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1045 f.write("ORF|3|155\tDmelChr4_Blaster_Grouper_10_Map_13\t702\t857\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1046 f.write("ORF|3|152\tDmelChr4_Blaster_Grouper_10_Map_13\t288\t440\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1047 f.write("ORF|1|137\tDmelChr4_Blaster_Grouper_10_Map_13\t622\t759\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1048 f.write("ORF|2|128\tDmelChr4_Blaster_Grouper_10_Map_13\t539\t667\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1049 f.write("ORF|1|125\tDmelChr4_Blaster_Grouper_10_Map_13\t760\t885\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1050 f.write("ORF|2|122\tDmelChr4_Blaster_Grouper_10_Map_13\t14\t136\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1051 f.write("ORF|-2|113\tDmelChr4_Blaster_Grouper_10_Map_13\t847\t734\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1052 f.write("ORF|1|110\tDmelChr4_Blaster_Grouper_10_Map_13\t154\t264\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1053 obsFileName = "%s.ORF.map" % fileName
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1054
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1055 FastaUtils.dbORF(fileName, 10, 30)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1056
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1057 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1058
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1059 os.remove(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1060 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1061 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1062
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1063 def test_sortSequencesByIncreasingLength(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1064 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1065 f = open(fileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1066 f.write(">seq1_length_60\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1067 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1068 f.write(">seq2_length_120\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1069 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1070 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1071 f.write(">seq3_length_32\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1072 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1073 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1074
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1075 expFileName = "exp_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1076 f = open(expFileName, 'w')
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1077 f.write(">seq3_length_32\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1078 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1079 f.write(">seq1_length_60\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1080 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1081 f.write(">seq2_length_120\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1082 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1083 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1084
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1085 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1086
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1087 obsFileName = "obs_dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1088
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1089 FastaUtils.sortSequencesByIncreasingLength(fileName, obsFileName, 0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1090
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1091 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1092
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1093 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1094 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1095
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1096 def test_sortSequencesByIncreasingLength_in_file_do_not_exists(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1097 fileName = "dummyFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1098 isSysExitRaised = False
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1099 try:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1100 FastaUtils.sortSequencesByIncreasingLength(fileName, "", 0)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1101 except SystemExit:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1102 isSysExitRaised = True
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1103
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1104 self.assertTrue(isSysExitRaised)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1105
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1106 def test_sortSequencesByHeader(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1107 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1108 f = open(fileName, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1109 f.write(">seq1::test-test\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1110 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1111 f.write(">seq3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1112 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1113 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1114 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1115 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1116 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1117 expFileName = "expFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1118 f = open(expFileName, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1119 f.write(">seq1::test-test\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1120 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1121 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1122 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1123 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1124 f.write(">seq3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1125 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1126 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1127
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1128 obsFileName = "obsFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1129 FastaUtils.sortSequencesByHeader(fileName, obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1130 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1131
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1132 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1133 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1134
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1135 def test_sortSequencesByHeader_no_outFileName(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1136 fileName = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1137 f = open(fileName, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1138 f.write(">seq12\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1139 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1140 f.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1141 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1142 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1143 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1144 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1145 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1146 expFileName = "expFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1147 f = open(expFileName, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1148 f.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1149 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATAT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1150 f.write(">seq12\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1151 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1152 f.write(">seq2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1153 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1154 f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1155 f.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1156
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1157 obsFileName = "dummyFastaFile_sortByHeaders.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1158 FastaUtils.sortSequencesByHeader(fileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1159 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1160
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1161 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1162 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1163
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1164 def test_getLengthPerHeader( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1165 inFile = "dummyFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1166 inFileHandler = open( inFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1167 inFileHandler.write(">seq1\nAGCGATGCGT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1168 inFileHandler.write(">seq2\nAGCGATG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1169 inFileHandler.write(">seq3\nAGCGATGGTGCGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1170 inFileHandler.write("AGCGATGGTGCGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1171 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1172
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1173 dExp = { "seq1": 10, "seq2": 7, "seq3": 30 }
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1174
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1175 dObs = FastaUtils.getLengthPerHeader( inFile, 0 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1176
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1177 self.assertEquals( dExp, dObs )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1178
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1179 os.remove( inFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1180
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1181 def test_convertFastaHeadersFromChkToChr_grouper(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1182 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1183 with open(inFile, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1184 f.write(">MbQ1Gr1Cl0 chunk6 {Fragment} 95523..96053\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1185 f.write("AGCGTGCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1186 f.write(">MbQ77Gr8Cl0 chunk7 {Fragment} 123657..122568,121935..121446\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1187 f.write("AGCATGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1188 f.write(">MbS78Gr8Cl0 chunk7 {Fragment} 140078..139519,139470..138985,138651..138183\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1189 f.write("CGTGCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1190 f.write(">MbQ79Gr8Cl0 chunk7 {Fragment} 48021..48587,48669..49153,57346..57834\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1191 f.write("AGCGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1192 mapFile = "dummyMapFile.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1193 with open(mapFile, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1194 f.write("chunk5\tdmel_chr4\t760001\t960000\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1195 f.write("chunk6\tdmel_chr4\t950001\t1150000\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1196 f.write("chunk7\tdmel_chr4\t1140001\t1281640\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1197 expFile = "expFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1198 with open(expFile, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1199 f.write(">MbQ1Gr1Cl0 dmel_chr4 {Fragment} 1045523..1046053\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1200 f.write("AGCGTGCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1201 f.write(">MbQ77Gr8Cl0 dmel_chr4 {Fragment} 1263657..1262568,1261935..1261446\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1202 f.write("AGCATGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1203 f.write(">MbS78Gr8Cl0 dmel_chr4 {Fragment} 1280078..1279519,1279470..1278985,1278651..1278183\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1204 f.write("CGTGCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1205 f.write(">MbQ79Gr8Cl0 dmel_chr4 {Fragment} 1188021..1188587,1188669..1189153,1197346..1197834\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1206 f.write("AGCGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1207 obsFile = "obsFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1208
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1209 FastaUtils.convertFastaHeadersFromChkToChr(inFile, mapFile, obsFile)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1210
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1211 self.assertTrue(FileUtils.are2FilesIdentical(expFile, obsFile))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1212
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1213 for file in [inFile, mapFile, expFile, obsFile]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1214 os.remove(file)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1215
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1216 def test_convertFastaHeadersFromChkToChr_blastclust(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1217 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1218 with open(inFile, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1219 f.write(">BlastclustCluster12Mb63_chunk1 (dbseq-nr 0) [1,10]\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1220 f.write("AGCGTGCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1221 f.write(">BlastclustCluster12Mb53_chunk2 (dbseq-nr 2) [1,10]\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1222 f.write("AGCATGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1223 f.write(">BlastclustCluster12Mb26_chunk2 (dbseq-nr 2) [12,18]\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1224 f.write("CGTGCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1225 f.write(">BlastclustCluster12Mb35_chunk3 (dbseq-nr 0) [10,1]\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1226 f.write("AGCGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1227 mapFile = "dummyMapFile.map"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1228 with open(mapFile, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1229 f.write("chunk1\tchromosome1\t1\t20\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1230 f.write("chunk2\tchromosome1\t16\t35\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1231 f.write("chunk3\tchromosome2\t1\t20\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1232 expFile = "expFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1233 with open(expFile, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1234 f.write(">BlastclustCluster12Mb63 chromosome1 (dbseq-nr 0) 1..10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1235 f.write("AGCGTGCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1236 f.write(">BlastclustCluster12Mb53 chromosome1 (dbseq-nr 2) 16..25\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1237 f.write("AGCATGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1238 f.write(">BlastclustCluster12Mb26 chromosome1 (dbseq-nr 2) 27..33\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1239 f.write("CGTGCG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1240 f.write(">BlastclustCluster12Mb35 chromosome2 (dbseq-nr 0) 10..1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1241 f.write("AGCGTGC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1242 obsFile = "obsFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1243
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1244 FastaUtils.convertFastaHeadersFromChkToChr(inFile, mapFile, obsFile)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1245
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1246 self.assertTrue(FileUtils.are2FilesIdentical(expFile, obsFile))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1247
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1248 for file in [inFile, mapFile, expFile, obsFile]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1249 os.remove(file)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1250
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1251 def test_convertFastaToLength( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1252 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1253 inFileHandler = open(inFile, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1254 inFileHandler.write(">ReconCluster12Mb63 chunk1 {Fragment} 1..10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1255 inFileHandler.write("AGCGTGCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1256 inFileHandler.write(">ReconCluster12Mb53 chunk2 {Fragment} 1..10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1257 inFileHandler.write("AGCATGCAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1258 inFileHandler.write(">ReconCluster12Mb26 chunk2 {Fragment} 12..18\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1259 inFileHandler.write("CGTGCGAAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1260 inFileHandler.write(">ReconCluster12Mb35 chunk3 {Fragment} 10..1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1261 inFileHandler.write("AGCGTG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1262 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1263
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1264 expFile = "expFile.length"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1265 expFileHandler = open(expFile, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1266 expFileHandler.write("ReconCluster12Mb63\t8\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1267 expFileHandler.write("ReconCluster12Mb53\t9\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1268 expFileHandler.write("ReconCluster12Mb26\t10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1269 expFileHandler.write("ReconCluster12Mb35\t6\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1270 expFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1271
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1272 obsFile = "obsFile.length"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1273
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1274 FastaUtils.convertFastaToLength(inFile, obsFile)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1275
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1276 self.assertTrue(FileUtils.are2FilesIdentical(expFile, obsFile))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1277
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1278 for f in [inFile, expFile, obsFile]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1279 os.remove(f)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1280
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1281 def test_convertFastaToSeq( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1282 inFile = "dummyFastaFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1283 inFileHandler = open(inFile, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1284 inFileHandler.write(">ReconCluster12Mb63 chunk1 {Fragment} 1..10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1285 inFileHandler.write("AGCGTGCA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1286 inFileHandler.write(">ReconCluster12Mb53 chunk2 {Fragment} 1..10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1287 inFileHandler.write("AGCATGCAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1288 inFileHandler.write(">ReconCluster12Mb26 chunk2 {Fragment} 12..18\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1289 inFileHandler.write("CGTGCGAAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1290 inFileHandler.write(">ReconCluster12Mb35 chunk3 {Fragment} 10..1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1291 inFileHandler.write("AGCGTG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1292 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1293
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1294 expFile = "expFile.seq"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1295 expFileHandler = open(expFile, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1296 expFileHandler.write("ReconCluster12Mb63\tAGCGTGCA\tReconCluster12Mb63 chunk1 {Fragment} 1..10\t8\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1297 expFileHandler.write("ReconCluster12Mb53\tAGCATGCAA\tReconCluster12Mb53 chunk2 {Fragment} 1..10\t9\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1298 expFileHandler.write("ReconCluster12Mb26\tCGTGCGAAAA\tReconCluster12Mb26 chunk2 {Fragment} 12..18\t10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1299 expFileHandler.write("ReconCluster12Mb35\tAGCGTG\tReconCluster12Mb35 chunk3 {Fragment} 10..1\t6\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1300 expFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1301
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1302 obsFile = "obsFile.seq"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1303
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1304 FastaUtils.convertFastaToSeq(inFile, obsFile)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1305
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1306 self.assertTrue(FileUtils.are2FilesIdentical(expFile, obsFile))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1307
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1308 for f in [inFile, expFile, obsFile]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1309 os.remove(f)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1310
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1311 def test_spliceFromCoords( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1312 coordFile = "dummyCoordFile"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1313 coordFileHandler = open( coordFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1314 coordFileHandler.write("TE1\tchr1\t2\t5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1315 coordFileHandler.write("TE2\tchr1\t15\t11\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1316 coordFileHandler.write("TE3\tchr2\t1\t3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1317 coordFileHandler.write("TE1\tchr2\t8\t10\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1318 coordFileHandler.write("TE4\tchr3\t3\t1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1319 coordFileHandler.write("TE4\tchr3\t6\t4\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1320 coordFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1321
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1322 genomeFile = "dummyGenomeFile"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1323 genomeFileHandler = open( genomeFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1324 genomeFileHandler.write(">chr1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1325 genomeFileHandler.write("AGGGGAAAAACCCCCAAAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1326 genomeFileHandler.write(">chr2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1327 genomeFileHandler.write("GGGAAAAGGG\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1328 genomeFileHandler.write(">chr3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1329 genomeFileHandler.write("GGGGGGTTTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1330 genomeFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1331
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1332 expFile = "dummyExpFile"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1333 expFileHandler = open( expFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1334 expFileHandler.write(">chr1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1335 expFileHandler.write("AAAAAAAAAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1336 expFileHandler.write(">chr2\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1337 expFileHandler.write("AAAA\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1338 expFileHandler.write(">chr3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1339 expFileHandler.write("TTTT\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1340 expFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1341
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1342 obsFile = "dummyObsFile"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1343
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1344 FastaUtils.spliceFromCoords( genomeFile,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1345 coordFile,
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1346 obsFile )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1347 self.assertTrue( FileUtils.are2FilesIdentical( expFile, obsFile ) )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1348 for f in [ coordFile, genomeFile, expFile, obsFile ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1349 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1350
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1351 def test_dbShuffle_inputFile( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1352 inFile = "dummyInFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1353 inFileHandler = open( inFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1354 inFileHandler.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1355 inFileHandler.write("AGCGATCGACAGCGCATCGCGCATCGCATCGCTACGCATAC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1356 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1357
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1358 obsFile = "dummyObsFile.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1359 FastaUtils.dbShuffle( inFile, obsFile, 1 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1360
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1361 self.assertTrue( FastaUtils.dbSize( obsFile ) == 1 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1362
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1363 for f in [ inFile, obsFile ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1364 os.remove( f )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1365
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1366 def test_dbShuffle_inputDir( self ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1367 inDir = "dummyInDir"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1368 if os.path.exists( inDir ):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1369 shutil.rmtree( inDir )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1370 os.mkdir( inDir )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1371 inFile = "%s/dummyInFile.fa" % inDir
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1372 inFileHandler = open( inFile, "w" )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1373 inFileHandler.write(">seq1\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1374 inFileHandler.write("AGCGATCGACAGCGCATCGCGCATCGCATCGCTACGCATAC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1375 inFileHandler.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1376
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1377 obsDir = "dummyObsDir"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1378 FastaUtils.dbShuffle( inDir, obsDir, 1 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1379
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1380 obsFile = "dummyInFile_shuffle.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1381 self.assertTrue( len( glob.glob("%s/%s" % (obsDir,obsFile)) ) == 1 )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1382
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1383 for d in [ inDir, obsDir ]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1384 shutil.rmtree( d )
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1385
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1386 def test_convertClusterFileToFastaFile(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1387 inClusterFileName = "in.tab"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1388 with open(inClusterFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1389 f.write("DTX-incomp_DmelChr4-B-R10-Map3_reversed\tDTX-incomp_DmelChr4-B-R9-Map3_reversed\tDTX-incomp_DmelChr4-B-G9-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1390 f.write("PotentialHostGene-chim_DmelChr4-B-R5-Map5\tPotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1391 f.write("RLX-incomp_DmelChr4-B-G220-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1392 inFastaFileName = "in.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1393 with open(inFastaFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1394 f.write(">DTX-incomp_DmelChr4-B-R10-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1395 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1396 f.write(">DTX-incomp_DmelChr4-B-R9-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1397 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1398 f.write(">RLX-incomp_DmelChr4-B-G220-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1399 f.write("ATCGCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1400 f.write(">PotentialHostGene-chim_DmelChr4-B-R5-Map5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1401 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1402 f.write(">PotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1403 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1404 f.write(">DTX-incomp_DmelChr4-B-G9-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1405 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1406 expFileName = "exp.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1407 with open(expFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1408 f.write(">BlastclustCluster1Mb1_DTX-incomp_DmelChr4-B-R10-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1409 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1410 f.write(">BlastclustCluster1Mb2_DTX-incomp_DmelChr4-B-R9-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1411 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1412 f.write(">BlastclustCluster3Mb1_RLX-incomp_DmelChr4-B-G220-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1413 f.write("ATCGCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1414 f.write(">BlastclustCluster2Mb1_PotentialHostGene-chim_DmelChr4-B-R5-Map5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1415 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1416 f.write(">BlastclustCluster2Mb2_PotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1417 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1418 f.write(">BlastclustCluster1Mb3_DTX-incomp_DmelChr4-B-G9-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1419 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1420 obsFileName = "obs.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1421
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1422 FastaUtils.convertClusterFileToFastaFile(inClusterFileName, inFastaFileName, obsFileName, "Blastclust")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1423
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1424 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1425 os.remove(inClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1426 os.remove(inFastaFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1427 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1428 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1429
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1430
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1431 def test_convertClusterFileToFastaFile_withoutUnclusterizedSequences(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1432 inClusterFileName = "in.tab"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1433 with open(inClusterFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1434 f.write("DTX-incomp_DmelChr4-B-R10-Map3_reversed\tDTX-incomp_DmelChr4-B-R9-Map3_reversed\tDTX-incomp_DmelChr4-B-G9-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1435 f.write("PotentialHostGene-chim_DmelChr4-B-R5-Map5\tPotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1436 inFastaFileName = "in.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1437 with open(inFastaFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1438 f.write(">DTX-incomp_DmelChr4-B-R10-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1439 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1440 f.write(">DTX-incomp_DmelChr4-B-R9-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1441 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1442 f.write(">RLX-incomp_DmelChr4-B-G220-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1443 f.write("ATCGCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1444 f.write(">PotentialHostGene-chim_DmelChr4-B-R5-Map5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1445 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1446 f.write(">PotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1447 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1448 f.write(">DTX-incomp_DmelChr4-B-G9-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1449 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1450 expFileName = "exp.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1451 with open(expFileName, "w") as f:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1452 f.write(">BlastclustCluster1Mb1_DTX-incomp_DmelChr4-B-R10-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1453 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1454 f.write(">BlastclustCluster1Mb2_DTX-incomp_DmelChr4-B-R9-Map3_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1455 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1456 f.write(">BlastclustCluster3Mb1_RLX-incomp_DmelChr4-B-G220-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1457 f.write("ATCGCC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1458 f.write(">BlastclustCluster2Mb1_PotentialHostGene-chim_DmelChr4-B-R5-Map5\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1459 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1460 f.write(">BlastclustCluster2Mb2_PotentialHostGene-chim_DmelChr4-B-R4-Map5_reversed\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1461 f.write("ATCGCATCGATCGATCATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1462 f.write(">BlastclustCluster1Mb3_DTX-incomp_DmelChr4-B-G9-Map3\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1463 f.write("ATCGCATCGATCGATC\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1464 obsFileName = "obs.fa"
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1465
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1466 FastaUtils.convertClusterFileToFastaFile(inClusterFileName, inFastaFileName, obsFileName, "Blastclust")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1467
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1468 self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1469 os.remove(inClusterFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1470 os.remove(inFastaFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1471 os.remove(expFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1472 os.remove(obsFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1473
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1474 def test_convertClusterFileToMapFile(self):
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1475 for clustAlgo in ["Blastclust", "MCL"]:
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1476 inFileName = "dummy%sOut.fa" % clustAlgo
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1477 inF = open(inFileName, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1478 inF.write(">%sCluster1Mb1_chunk1 (dbseq-nr 1) [1,14]\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1479 inF.write("gaattgtttactta\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1480 inF.write(">%sCluster3Mb1_chunk5 (dbseq-nr 8) [1000,1014]\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1481 inF.write("gaattgtttactta\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1482 inF.write(">%sCluster1Mb2_chunk1 (dbseq-nr 1) [30,44]\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1483 inF.write("gaattgtttactta\n")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1484 inF.write(">%sCluster2Mb1_chunk2 (dbseq-nr 1) [100,114]\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1485 inF.write("gaattgtttactta")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1486 inF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1487
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1488 fileExp = "%sToMapExpected.map" % clustAlgo
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1489 outF = open(fileExp, "w")
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1490 outF.write("%sCluster1Mb1\tchunk1\t1\t14\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1491 outF.write("%sCluster3Mb1\tchunk5\t1000\t1014\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1492 outF.write("%sCluster1Mb2\tchunk1\t30\t44\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1493 outF.write("%sCluster2Mb1\tchunk2\t100\t114\n" % clustAlgo)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1494 outF.close()
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1495
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1496 fileObs = "%s.map" % os.path.splitext(inFileName)[0]
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1497 FastaUtils.convertClusteredFastaFileToMapFile(inFileName, fileObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1498
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1499 self.assertTrue(FileUtils.are2FilesIdentical(fileObs, fileExp))
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1500
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1501 os.remove(inFileName)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1502 os.remove(fileObs)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1503 os.remove(fileExp)
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1504
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1505 if __name__ == "__main__":
769e306b7933 Change the repository level.
yufei-luo
parents:
diff changeset
1506 unittest.main()