From 2efd152a8e5d301e2c0d3c77e7df13dc48031647 Mon Sep 17 00:00:00 2001 From: Andrew Yates <ayates@ebi.ac.uk> Date: Thu, 15 Mar 2012 17:17:22 +0000 Subject: [PATCH] Only do cleanup if we had a number --- modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm index 359932d7f3..c41cf40179 100644 --- a/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/SliceAdaptor.pm @@ -471,20 +471,21 @@ sub fetch_by_toplevel_location { my $number_seps_regex = qr/\s+|,|_/; if(my ($seq_region_name, $start, $end) = $location =~ $regex) { - if(defined $start && $start < 1) { - warning "Start was less than 1 (${start}) which is not allowed. Resetting to 1" if ! $no_warnings; - $start = 1; + if(defined $start) { + if($start < 1) { + warning "Start was less than 1 (${start}) which is not allowed. Resetting to 1" if ! $no_warnings; + $start = 1; + } + $start =~ s/$number_seps_regex//g; #cleanup any nomenclature like 1_000 or 1 000 or 1,000 } - if(defined $end && $end < 1) { - throw "Cannot request negative or 0 end indexes through this interface. Given $end but expected something greater than 0"; + if(defined $end) { + if($end < 1) { + throw "Cannot request negative or 0 end indexes through this interface. Given $end but expected something greater than 0"; + } + $end =~ s/$number_seps_regex//g; #cleanup any nomenclature like 1_000 or 1 000 or 1,000 } my $coord_system_name = 'toplevel'; - - #cleanup any nomenclature like 1_000 or 1 000 or 1,000 - $start =~ s/$number_seps_regex//g; - $end =~ s/$number_seps_regex//g; - my $slice = $self->fetch_by_region($coord_system_name, $seq_region_name, $start, $end, undef, undef, 0); return unless $slice; -- GitLab