Skip to content

Commit 581dd37

Browse files
committed
more elegant conversion
1 parent 195cdb1 commit 581dd37

File tree

2 files changed

+34
-38
lines changed

2 files changed

+34
-38
lines changed

qiita_files/parse/tests/test_fastq.py

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
class 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('\n')
21-
self.FASTQ_EXAMPLE_2 = FASTQ_EXAMPLE_2.split('\n')
22-
self.FASTQ_EXAMPLE_3 = FASTQ_EXAMPLE_3.split('\n')
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')
2323

2424

2525
class 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.encode("utf-8"))
33+
tmp_file.write(val)
3434
tmp_file.flush()
3535
tmp_file.seek(0)
3636
setattr(self, attr, tmp_file.name)
@@ -44,15 +44,15 @@ def tearDown(self):
4444

4545
class ParseFastqTests(object):
4646
def test_parse(self):
47-
for label, seq, qual in parse_fastq(list_str2bin(self.FASTQ_EXAMPLE),
47+
for label, seq, qual in parse_fastq(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(list_str2bin(self.FASTQ_EXAMPLE_2),
55+
for label, seq, qual in parse_fastq(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(list_str2bin(self.FASTQ_EXAMPLE), phred_offset=33))
66+
list(parse_fastq(self.FASTQ_EXAMPLE, phred_offset=33))
6767

6868
def test_parse_error(self):
6969
with self.assertRaises(ValueError):
70-
list(parse_fastq(list_str2bin(self.FASTQ_EXAMPLE_2), strict=True))
70+
list(parse_fastq(self.FASTQ_EXAMPLE_2, strict=True))
7171

7272
with self.assertRaises(ValueError):
73-
list(parse_fastq(list_str2bin(self.FASTQ_EXAMPLE_3), phred_offset=64))
73+
list(parse_fastq(self.FASTQ_EXAMPLE_3, phred_offset=64))
7474

7575
def test_invalid_phred_offset(self):
7676
with self.assertRaises(ValueError):
77-
list(parse_fastq(list_str2bin(self.FASTQ_EXAMPLE), phred_offset=42))
77+
list(parse_fastq(self.FASTQ_EXAMPLE, phred_offset=42))
7878

7979

8080
class ParseFastqTestsInputIsIterable(IterableData, ParseFastqTests, TestCase):
@@ -154,11 +154,6 @@ 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
161-
162157

163158
FASTQ_EXAMPLE = r"""@GAPC_0015:6:1:1259:10413#0/1
164159
AACACCAAACTTCTCCACCACGTGAGCTACAAAAG
@@ -199,7 +194,7 @@ def list_str2bin(inp):
199194
@GAPC_0015:6:1:1317:3403#0/1
200195
TTGTTTCCACTTGGTTGATTTCACCCCTGAGTTTG
201196
+GAPC_0015:6:1:1317:3403#0/1
202-
\\\ZTYTSaLbb``\_UZ_bbcc`cc^[ac\a\Tc"""
197+
\\\ZTYTSaLbb``\_UZ_bbcc`cc^[ac\a\Tc""".encode("utf-8")
203198

204199

205200
FASTQ_EXAMPLE_2 = r"""@GAPC_0017:6:1:1259:10413#0/1
@@ -210,15 +205,15 @@ def list_str2bin(inp):
210205
TATGTATATATAACATATACATATATACATACATA
211206
+GAPC_0015:6:1:1283:11957#0/1
212207
]KZ[PY]_[YY^```ac^\\`bT``c`\aT``bbb
213-
"""
208+
""".encode("utf-8")
214209

215210

216211
FASTQ_EXAMPLE_3 = r"""@GAPC_0017:6:1:1259:10413#0/1
217212
AACACCAAACTTCTCCACCACGTGAGCTACAAAAG
218213
+GAPC_0015:6:1:1259:10413#0/1
219214
````Y^T]`]c^cabcacc`^Lb^ccYT\T\Y\WF
220215
@GAPC_0015:6:1:1283:11957#0/1
221-
"""
216+
""".encode("utf-8")
222217

223218

224219
if __name__ == "__main__":

qiita_files/parse/tests/test_iterator.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
from qiita_files.parse.iterator import (SequenceIterator, FastaIterator,
1717
FastqIterator)
18+
from test_fastq import list_str2bin
1819

1920

2021
class SeqIterTests(TestCase):
@@ -276,61 +277,61 @@ def test_fastq_gen(self):
276277
self.assertEqual(obs3, exp3)
277278

278279

279-
fasta1 = rb""">1
280+
fasta1 = r""">1
280281
aattggcc
281282
>2
282283
aattaatt
283-
"""
284+
""".encode("utf-8")
284285

285-
fasta2 = rb""">3
286+
fasta2 = r""">3
286287
atat
287-
"""
288+
""".encode("utf-8")
288289

289-
fasta3 = rb""">4
290+
fasta3 = r""">4
290291
attatt
291292
>5
292293
ggccc
293-
"""
294+
""".encode("utf-8")
294295

295-
qual1 = rb""">1
296+
qual1 = r""">1
296297
1 2 3 4 5 6 7 8
297298
>2
298299
8 7 6 5 4 3 2 1
299-
"""
300+
""".encode("utf-8")
300301

301-
qual2 = rb""">3
302+
qual2 = r""">3
302303
1 2 3 4
303-
"""
304+
""".encode("utf-8")
304305

305-
qual3 = rb""">4
306+
qual3 = r""">4
306307
1 2 3 4 5 6
307308
>5
308309
1 2 3 4 5
309-
"""
310+
""".encode("utf-8")
310311

311-
qual_bad_val = rb""">3
312+
qual_bad_val = r""">3
312313
1 2
313-
"""
314+
""".encode("utf-8")
314315

315-
qual_bad_id = rb""">asdasd
316+
qual_bad_id = r""">asdasd
316317
1 2 3 4
317-
"""
318+
""".encode("utf-8")
318319

319-
fastq1 = rb"""@1
320+
fastq1 = r"""@1
320321
atat
321322
+
322323
ABCD
323324
@2
324325
atgc
325326
+
326327
BCDE
327-
"""
328+
""".encode("utf-8")
328329

329-
fastq2 = rb"""@3
330+
fastq2 = r"""@3
330331
taa
331332
+
332333
EFG
333-
"""
334+
""".encode("utf-8")
334335

335336

336337
if __name__ == '__main__':

0 commit comments

Comments
 (0)