push( @{ $gene_hash{$gene_key}{min_start} }, $start );
push( @{ $gene_hash{$gene_key}{max_end} }, $end );
push( @{ $gene_hash{$gene_key}{max_ex} }, $ex );
####
my $Low=min( @ {$gene_hash{$key}{min_start} } );
my $High=max( @ {$gene_hash{$key}{max_end} } );
my $High_ex=max( @ {$gene_hash{$key}{max_ex} } );
####
while () {
chomp;
my ($chr, $start, $end, $gene, $ex) = split(/\t/, $_);
my $gene_key = $chr.":".$gene;
my $cur_gene = $gene_hash{$gene_key};
$$cur_gene{min_start} = $start unless $$cur_gene{min_start}<$start;
$$cur_gene{max_end} = $end unless $$cur_gene{max_end}>$end;
$$cur_gene{max_ex} = $ex unless $$cur_gene{max_ex}>$ex;
$gene_hash{$gene_key} = $cur_gene;
}
####
my $Low=$gene_hash{$key}{min_start};
my $High=$gene_hash{$key}{max_end};
my $High_ex=$gene_hash{$key}{max_ex};