From 55ada80500ce79b0980b1639b0ffdf0191adf9af Mon Sep 17 00:00:00 2001 From: mercierc Date: Fri, 15 Jul 2022 16:02:21 +1200 Subject: [PATCH] import: made ngsfilter file parsing more resilient and switching to version 3.0.1b19 --- python/obitools3/parsers/ngsfilter.pyx | 25 +++++++++++++------------ python/obitools3/version.py | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/python/obitools3/parsers/ngsfilter.pyx b/python/obitools3/parsers/ngsfilter.pyx index 1077e11..a0f46c4 100644 --- a/python/obitools3/parsers/ngsfilter.pyx +++ b/python/obitools3/parsers/ngsfilter.pyx @@ -48,24 +48,25 @@ def ngsfilterIterator(lineiterator, all_lines.insert(0, firstline) # Insert header for column names - column_names = [b"experiment", b"sample", b"forward_tag", b"reverse_tag", b"forward_primer", b"reverse_primer",b"additional_info"] + column_names = [b"experiment", b"sample", b"forward_tag", b"reverse_tag", b"forward_primer", b"reverse_primer"] #,b"additional_info"] header = out_sep.join(column_names) new_lines.append(header) for line in all_lines: split_line = line.split(maxsplit=5) - tags = split_line.pop(2) - tags = tags.split(b":") - for t_idx in range(len(tags)): - if tags[t_idx]==b"-" or tags[t_idx]==b"None" or tags[t_idx]==b"": - tags[t_idx] = nastring - if len(tags) == 1: # Forward and reverse tags are the same - tags.append(tags[0]) - split_line.insert(2, tags[0]) - split_line.insert(3, tags[1]) - new_lines.append(out_sep.join(split_line[0:7])) - + if split_line: + tags = split_line.pop(2) + tags = tags.split(b":") + for t_idx in range(len(tags)): + if tags[t_idx]==b"-" or tags[t_idx]==b"None" or tags[t_idx]==b"": + tags[t_idx] = nastring + if len(tags) == 1: # Forward and reverse tags are the same + tags.append(tags[0]) + split_line.insert(2, tags[0]) + split_line.insert(3, tags[1]) + new_lines.append(out_sep.join(split_line[0:6])) + return tabIterator(iter(new_lines), header = True, sep = out_sep, diff --git a/python/obitools3/version.py b/python/obitools3/version.py index d64bb53..2725823 100755 --- a/python/obitools3/version.py +++ b/python/obitools3/version.py @@ -1,5 +1,5 @@ major = 3 minor = 0 -serial= '1b18' +serial= '1b19' version ="%d.%d.%s" % (major,minor,serial)