Hi! Monks,
Can I please ask for your wisdom? I want to print the hash keys in numerical order, but my short script sorts keys in ASCII order. I was wondering if you could advice me on this. A second question is that I am planning to run this script on a file that contain 10-15 million lines. Do you think this is the best way of doing it. I am just trying to calculate the coverage on each base position. Thank you for your help!
use warnings;
use strict;
use 5.010;
my %base_positon;
while(<DATA>){
my ($chr, $start, $end)= split;
$base_positon{$_}++ for ($start..$end);
}
# while( my($key, $value) = each %base_positon){
# say $key,"\t",$value;
# }
foreach my $key (sort(keys %base_positon) ){
say $key,"\t", $base_positon{"$key"};
}
__DATA__
chrM 0 49 M01193:66:000000000-A386C:1:1112:20711:7517 0
+ +
chrM 0 49 M01193:66:000000000-A386C:1:1112:12448:7530 0
+ +
chrM 0 46 M01193:66:000000000-A386C:1:2108:26167:23502 0
+ +
chrM 0 46 M01193:66:000000000-A386C:1:1101:17077:1444 0
+ -
chrM 0 50 M01193:66:000000000-A386C:1:1101:17602:1741 42
+ +
chrM 0 46 M01193:66:000000000-A386C:1:1101:13807:1866 0
+ +
chrM 0 46 M01193:66:000000000-A386C:1:1101:16360:2204 0
+ -
chrM 0 46 M01193:66:000000000-A386C:1:1101:13075:2236 0
+ -
chrM 0 46 M01193:66:000000000-A386C:1:1101:15485:2329 0
+ -
chrM 0 50 M01193:66:000000000-A386C:1:1101:13054:2607 42
+ -