From e559e5223c4db76697fa181555c13e929faf8a9f Mon Sep 17 00:00:00 2001 From: Peter van Heusden Date: Thu, 20 Oct 2022 14:40:59 +0200 Subject: [PATCH] Deal with case where spaln output is empty --- tools/process_spaln_output.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/process_spaln_output.py b/tools/process_spaln_output.py index 3a3ed5c..6f180af 100644 --- a/tools/process_spaln_output.py +++ b/tools/process_spaln_output.py @@ -41,6 +41,7 @@ def fix(attrs, region_name, number): end_position = {} max_end = 0 for input_filename in input_filenames: + region_name = None for line in open(input_filename): if line.startswith("##sequence-region"): parts = line.split() @@ -58,10 +59,12 @@ def fix(attrs, region_name, number): # end is fields[4] max_end = int(fields[4]) + start else: - if region_name not in end_position or end_position[region_name] < max_end: - end_position[region_name] = max_end - if region_name not in start_position or start_position[region_name] > start: - start_position[region_name] = start + if region_name is not None: + # if region_name is None it means that we processed an empty file + if region_name not in end_position or end_position[region_name] < max_end: + end_position[region_name] = max_end + if region_name not in start_position or start_position[region_name] > start: + start_position[region_name] = start for annotation_part, locations in sorted(annotation_parts.items(), key=itemgetter(1)): # locations is a list of tupes (starting_position, region_name, filename)