1717class IterableData (object ):
1818 def setUp (self ):
1919 """ Initialize variables to be used by the tests as lists of strings"""
20- self .FASTQ_EXAMPLE = FASTQ_EXAMPLE .split (b '\n ' )
21- self .FASTQ_EXAMPLE_2 = FASTQ_EXAMPLE_2 .split (b '\n ' )
22- self .FASTQ_EXAMPLE_3 = FASTQ_EXAMPLE_3 .split (b '\n ' )
20+ self .FASTQ_EXAMPLE = FASTQ_EXAMPLE .split ('\n ' )
21+ self .FASTQ_EXAMPLE_2 = FASTQ_EXAMPLE_2 .split ('\n ' )
22+ self .FASTQ_EXAMPLE_3 = FASTQ_EXAMPLE_3 .split ('\n ' )
2323
2424
2525class FileData (object ):
@@ -30,7 +30,7 @@ def setUp(self):
3030 ('FASTQ_EXAMPLE_2' , FASTQ_EXAMPLE_2 ),
3131 ('FASTQ_EXAMPLE_3' , FASTQ_EXAMPLE_3 )]:
3232 tmp_file = tempfile .NamedTemporaryFile ('wb' )
33- tmp_file .write (val )
33+ tmp_file .write (val . encode ( "utf-8" ) )
3434 tmp_file .flush ()
3535 tmp_file .seek (0 )
3636 setattr (self , attr , tmp_file .name )
@@ -44,15 +44,15 @@ def tearDown(self):
4444
4545class ParseFastqTests (object ):
4646 def test_parse (self ):
47- for label , seq , qual in parse_fastq (self .FASTQ_EXAMPLE ,
47+ for label , seq , qual in parse_fastq (list_str2bin ( self .FASTQ_EXAMPLE ) ,
4848 phred_offset = 64 ):
4949 self .assertTrue (label in DATA )
5050 self .assertEqual (seq , DATA [label ]["seq" ])
5151 self .assertTrue ((qual == DATA [label ]["qual" ]).all ())
5252
5353 # Make sure that enforce_qual_range set to False allows qual scores
5454 # to fall outside the typically acceptable range of 0-62
55- for label , seq , qual in parse_fastq (self .FASTQ_EXAMPLE_2 ,
55+ for label , seq , qual in parse_fastq (list_str2bin ( self .FASTQ_EXAMPLE_2 ) ,
5656 phred_offset = 33 ,
5757 enforce_qual_range = False ):
5858 self .assertTrue (label in DATA_2 )
@@ -63,18 +63,18 @@ def test_parse(self):
6363 # intended to be interpreted with an offset of 64, and using 33 will
6464 # make the qual score fall outside the acceptable range of 0-62.
6565 with self .assertRaises (ValueError ):
66- list (parse_fastq (self .FASTQ_EXAMPLE , phred_offset = 33 ))
66+ list (parse_fastq (list_str2bin ( self .FASTQ_EXAMPLE ) , phred_offset = 33 ))
6767
6868 def test_parse_error (self ):
6969 with self .assertRaises (ValueError ):
70- list (parse_fastq (self .FASTQ_EXAMPLE_2 , strict = True ))
70+ list (parse_fastq (list_str2bin ( self .FASTQ_EXAMPLE_2 ) , strict = True ))
7171
7272 with self .assertRaises (ValueError ):
73- list (parse_fastq (self .FASTQ_EXAMPLE_3 , phred_offset = 64 ))
73+ list (parse_fastq (list_str2bin ( self .FASTQ_EXAMPLE_3 ) , phred_offset = 64 ))
7474
7575 def test_invalid_phred_offset (self ):
7676 with self .assertRaises (ValueError ):
77- list (parse_fastq (self .FASTQ_EXAMPLE , phred_offset = 42 ))
77+ list (parse_fastq (list_str2bin ( self .FASTQ_EXAMPLE ) , phred_offset = 42 ))
7878
7979
8080class ParseFastqTestsInputIsIterable (IterableData , ParseFastqTests , TestCase ):
@@ -154,8 +154,13 @@ class ParseFastqTestsInputIsFileNames(FileData, ParseFastqTests, TestCase):
154154 64 , 51 , 63 , 63 , 65 , 65 , 65 ]))
155155}
156156
157+ def list_str2bin (inp ):
158+ if isinstance (inp , list ):
159+ return list (map (lambda x : x .encode ("utf-8" ), inp ))
160+ return inp
157161
158- FASTQ_EXAMPLE = str (r"""@GAPC_0015:6:1:1259:10413#0/1
162+
163+ FASTQ_EXAMPLE = r"""@GAPC_0015:6:1:1259:10413#0/1
159164AACACCAAACTTCTCCACCACGTGAGCTACAAAAG
160165+GAPC_0015:6:1:1259:10413#0/1
161166````Y^T]`]c^cabcacc`^Lb^ccYT\T\Y\WF
@@ -194,26 +199,26 @@ class ParseFastqTestsInputIsFileNames(FileData, ParseFastqTests, TestCase):
194199@GAPC_0015:6:1:1317:3403#0/1
195200TTGTTTCCACTTGGTTGATTTCACCCCTGAGTTTG
196201+GAPC_0015:6:1:1317:3403#0/1
197- \\\ZTYTSaLbb``\_UZ_bbcc`cc^[ac\a\Tc""" )
202+ \\\ZTYTSaLbb``\_UZ_bbcc`cc^[ac\a\Tc"""
198203
199204
200- FASTQ_EXAMPLE_2 = str ( r"""@GAPC_0017:6:1:1259:10413#0/1
205+ FASTQ_EXAMPLE_2 = r"""@GAPC_0017:6:1:1259:10413#0/1
201206AACACCAAACTTCTCCACCACGTGAGCTACAAAAG
202207+GAPC_0015:6:1:1259:10413#0/1
203208````Y^T]`]c^cabcacc`^Lb^ccYT\T\Y\WF
204209@GAPC_0015:6:1:1283:11957#0/1
205210TATGTATATATAACATATACATATATACATACATA
206211+GAPC_0015:6:1:1283:11957#0/1
207212]KZ[PY]_[YY^```ac^\\`bT``c`\aT``bbb
208- """ )
213+ """
209214
210215
211- FASTQ_EXAMPLE_3 = str ( r"""@GAPC_0017:6:1:1259:10413#0/1
216+ FASTQ_EXAMPLE_3 = r"""@GAPC_0017:6:1:1259:10413#0/1
212217AACACCAAACTTCTCCACCACGTGAGCTACAAAAG
213218+GAPC_0015:6:1:1259:10413#0/1
214219````Y^T]`]c^cabcacc`^Lb^ccYT\T\Y\WF
215220@GAPC_0015:6:1:1283:11957#0/1
216- """ )
221+ """
217222
218223
219224if __name__ == "__main__" :
0 commit comments