From 8484e2e4dfdd2ef55bb9a2a691733fabb53c97d5 Mon Sep 17 00:00:00 2001 From: Andrew Yates <ayates@ebi.ac.uk> Date: Thu, 30 May 2013 09:38:30 +0000 Subject: [PATCH] fixing a couple of issues where hanging ; were left over --- modules/Bio/EnsEMBL/Utils/IO/GFFSerializer.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/Bio/EnsEMBL/Utils/IO/GFFSerializer.pm b/modules/Bio/EnsEMBL/Utils/IO/GFFSerializer.pm index d80846d297..069489744c 100644 --- a/modules/Bio/EnsEMBL/Utils/IO/GFFSerializer.pm +++ b/modules/Bio/EnsEMBL/Utils/IO/GFFSerializer.pm @@ -165,14 +165,15 @@ sub print_feature { delete $summary{'score'}; delete $summary{'source'}; # Slice the hash for specific keys in GFF-friendly order - my @ordered_keys = qw(ID Name Alias Parent Target Gap Derives_from Note Dbxref Ontology_term Is_circular); + my @ordered_keys = grep { exists $summary{$_} } qw(ID Name Alias Parent Target Gap Derives_from Note Dbxref Ontology_term Is_circular); my @ordered_values = @summary{@ordered_keys}; while (my $key = shift @ordered_keys) { my $value = shift @ordered_values; if ($value) { - $row .= $key."=".uri_escape($value,'\t\n\r;=%&,').";"; + $row .= $key."=".uri_escape($value,'\t\n\r;=%&,'); + delete $summary{$key}; + $row .= ';' if scalar(@ordered_keys) > 0 || scalar(keys %summary) > 0; } - delete $summary{$key}; } # Catch the remaining keys, containing whatever else the Feature provided my @keys = sort keys %summary; -- GitLab